Dynamics and Control of a Quadrotor with Active Geometric ...

84
Dynamics and Control of a Quadrotor with Active Geometric Morphing Dustin A. Wallace A thesis submitted in partial fulfillment of the requirements for the degree of Master of Science in Aeronautics & Astronautics University of Washington 2016 Reading Committee: Kristi Morgansen, Chair Christopher Lum Program Authorized to Offer Degree: Aeronautics & Astronautics

Transcript of Dynamics and Control of a Quadrotor with Active Geometric ...

Page 1: Dynamics and Control of a Quadrotor with Active Geometric ...

Dynamics and Control of a Quadrotor with Active Geometric

Morphing

Dustin A. Wallace

A thesissubmitted in partial fulfillment of the

requirements for the degree of

Master of Science in Aeronautics & Astronautics

University of Washington

2016

Reading Committee:

Kristi Morgansen, Chair

Christopher Lum

Program Authorized to Offer Degree:Aeronautics & Astronautics

Page 2: Dynamics and Control of a Quadrotor with Active Geometric ...

c©Copyright 2016

Dustin A. Wallace

Page 3: Dynamics and Control of a Quadrotor with Active Geometric ...

University of Washington

Abstract

Dynamics and Control of a Quadrotor with Active Geometric Morphing

Dustin A. Wallace

Chair of the Supervisory Committee:Professor Kristi MorgansenAeronautics & Astronautics

Quadrotors are manufactured in a wide variety of shapes, sizes, and performance levels to

fulfill a multitude of roles. Robodub Inc. has patented a morphing quadrotor which will

allow active reconfiguration between various shapes for performance optimization across a

wider spectrum of roles. The dynamics of the system are studied and modeled using New-

tonian Mechanics. Controls are developed and simulated using both Linear Quadratic and

Numerical Nonlinear Optimal control for a symmetric simplificiation of the system dynam-

ics. Various unique vehicle capabilities are investigated, including novel single-throttle flight

control using symmetric geometric morphing, as well as recovery from motor loss by re-

configuring into a trirotor configuration. The system dynamics were found to be complex

and highly nonlinear. All attempted control strategies resulted in controllability, suggest-

ing further research into each may lead to multiple viable control strategies for a physical

prototype.

Page 4: Dynamics and Control of a Quadrotor with Active Geometric ...

TABLE OF CONTENTS

Page

List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii

Chapter 1: Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Outline of the Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.3 Contributions of the Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Chapter 2: Dynamic Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.1 Model Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.2 Generalized Coordinates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.3 System Mechanics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.4 Symmetric Analytic Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.5 Selected Numerical Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

Chapter 3: LQR Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.1 Full System Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.2 LQR After Motor Loss Recovery . . . . . . . . . . . . . . . . . . . . . . . . . 27

Chapter 4: LQR Gain Scheduling . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Chapter 5: Numerical Optimal Control . . . . . . . . . . . . . . . . . . . . . . . . 40

5.1 Code Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.2 1D Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.3 2D Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.4 3D Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Chapter 6: Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

6.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

i

Page 5: Dynamics and Control of a Quadrotor with Active Geometric ...

6.2 Recommendations for Future Work . . . . . . . . . . . . . . . . . . . . . . . 57

Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Appendix A: Full Form Dynamic Equations . . . . . . . . . . . . . . . . . . . . . . . 63

A.1 ¨xCG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

A.2 ¨yCG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

A.3 ¨zCG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

A.4 x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

A.5 y . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

A.6 z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

A.7 φ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

A.8 θ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

A.9 ψ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

ii

Page 6: Dynamics and Control of a Quadrotor with Active Geometric ...

LIST OF FIGURES

Figure Number Page

1.1 Basic Quadrotor Maneuvers . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Robodub Variable Arm Angle Quadrotor . . . . . . . . . . . . . . . . . . . . 7

1.3 Robodub Telescoping Quadrotor Arms . . . . . . . . . . . . . . . . . . . . . 7

2.1 Quadrotor Body Axes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2 Dimension Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.3 Symmetrically Constrained Quadrotor . . . . . . . . . . . . . . . . . . . . . 20

3.1 Linearized LQR State Response . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.2 Nonlinear LQR State Response . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.3 Motor Loss Trirotor Configuration . . . . . . . . . . . . . . . . . . . . . . . . 28

3.4 Linearized Trirotor Response . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

3.5 Nonlinear Trirotor Response . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.1 2 Set Point 2 Second Control Inputs . . . . . . . . . . . . . . . . . . . . . . . 34

4.2 2 Set Point 2 Second State Trajectories . . . . . . . . . . . . . . . . . . . . . 35

4.3 2 Set Point 1 Second Control Inputs . . . . . . . . . . . . . . . . . . . . . . . 36

4.4 2 Set Point 1 Second State Trajectories . . . . . . . . . . . . . . . . . . . . . 36

4.5 3 Set Point 2 Second Control Inputs . . . . . . . . . . . . . . . . . . . . . . . 37

4.6 3 Set Point 2 Second State Trajectories . . . . . . . . . . . . . . . . . . . . . 38

4.7 5 Set Point 2 Second State Trajectories . . . . . . . . . . . . . . . . . . . . . 39

5.1 Nonlinear Numerical Control Optimization Structure . . . . . . . . . . . . . 41

5.2 Optimal Control Found for 3 Second 1D Translation . . . . . . . . . . . . . . 43

5.3 Optimal State Trajectories for 3 Second 1D Translation . . . . . . . . . . . . 43

5.4 1D Translation Trajectory Visualization . . . . . . . . . . . . . . . . . . . . 44

5.5 2D Optimized Control Inputs for 4 Second Case . . . . . . . . . . . . . . . . 45

5.6 2D Optimized Control Inputs for 3 Second Case . . . . . . . . . . . . . . . . 46

5.7 2D Optimized Control Inputs for 2 Second Case . . . . . . . . . . . . . . . . 47

iii

Page 7: Dynamics and Control of a Quadrotor with Active Geometric ...

5.8 2D State Trajectories for 3 Second Case . . . . . . . . . . . . . . . . . . . . 48

5.9 2D State Trajectories for 2 Second Case . . . . . . . . . . . . . . . . . . . . 48

5.10 2D Trajectory Visualization for 3 Second Case . . . . . . . . . . . . . . . . . 49

5.11 2D Trajectory Visualization for 2 Second Case . . . . . . . . . . . . . . . . . 50

5.12 3D Optimized Control Inputs for 4 Second Case . . . . . . . . . . . . . . . . 51

5.13 3D Optimized Control Inputs for 3 Second Case . . . . . . . . . . . . . . . . 52

5.14 3D State Trajectories for 4 Second Case . . . . . . . . . . . . . . . . . . . . 53

5.15 3D State Trajectories for 3 Second Case . . . . . . . . . . . . . . . . . . . . 53

5.16 3D Trajectory Visualization for 3 Second Case . . . . . . . . . . . . . . . . . 54

iv

Page 8: Dynamics and Control of a Quadrotor with Active Geometric ...

ACKNOWLEDGMENTS

I would first like to thank my advisor, Professor Kristi Morgansen. Her insight and

guidance set me on a path to learn an abundant number of new mathematical techniques

and approaches for analyzing complex dynamic and control problems such as this one. I

would also like to thank Nathan, Jake, and Natalie for their technical assistance and for

talking through and validating my approaches to problems I came across throughout the

process, as well as my mother, father, and sisters for their emotional support. Lastly, I

would like to thank Robodub Inc. for providing the subject of this research. I hope to see

further development on their part which results in a flying prototype in the near future.

v

Page 9: Dynamics and Control of a Quadrotor with Active Geometric ...

DEDICATION

To Lillian, for without your love and support, this work would not have been possible.

vi

Page 10: Dynamics and Control of a Quadrotor with Active Geometric ...

1

Chapter 1

INTRODUCTION

1.1 Background

Unmanned aerial vehicles (UAVs) have become an industry unto themselves in recent years.

While remotely controlled aircraft have existed in some form or another since the late nine-

teenth century when small-scale blimps were primitively controlled using radio waves created

by a sparking mechanism [1], they tended to have somewhat of a niche appeal throughout

much of the twentieth century. A surge in production and implementation of unmanned

aerial vehicles has been seen in recent years however, as the increasing power and decreasing

cost of electronic computational resources have allowed for the flying and stabilization of

the aircraft to be handled electronically while the operators focus on achieving flight objec-

tives. These objectives cover a wide spectrum of activities from military surveillance and

interdiction, to aerial photography and entertainment.

The U.S. Department of Defense (DOD) has been utilizing drones for multiple decades

as aerial targets, modifying outdated fighter jets with rudimentary control systems to create

extremely realistic test scenarios for new anti-aircraft weapons. During the Cold War, the

DOD recognized the potential benefits of purpose-built unmanned aircraft, including oper-

ator protection, force multiplication, and the removal of pilot-restricted mission limitations

on duration and maneuver intensity. Purpose-built surveillance drones began flying in the

early 1990s, eventually evolving into the modern RQ-1 Predator, which first flew in 1994. By

the late 1990s, armed versions of the Predator, which would eventually lead to the develop-

ment of the more heavily armed MQ-9 Reaper, were flying and providing strike capabilities

for the U.S. military [2]. In recent years, smaller, man-portable fixed-wing drones like the

RQ-11 Raven have entered service, providing over-the-wall type tactical military information

Page 11: Dynamics and Control of a Quadrotor with Active Geometric ...

2

to soldiers on the battlefield [3].

While the use of fixed-wing unmanned vehicles has grown, the advent of vertical take

off and landing (VTOL) drones has truly ignited the industry in recent years. Suddenly,

drones could be flown by almost anyone, anywhere. The Los Angeles Times reports as many

as 10% of feature films and television shows now use aerial photography shot by drones [4].

Corporations including Amazon [5], DHL [6], Google [7], and more are all developing the

means to deliver packages using VTOL drones. Hobbyists have even created leagues centered

around racing drones through courses of obstacles while using virtual-reality goggles to view

the flight from the vehicle’s perspective [8].

The most common design used in VTOL drones is the quadrotor, which uses four fixed-

pitch propellers on brushless motors rigidly mounted to a frame to provide full controllability

in 3D space. The basic design requires two motors to spin clockwise and two to spin coun-

terclockwise, allowing all rotors to contribute to lifting the vehicle, while still balancing the

yaw-inducing drag torques on the propellers. Quadrotors are typically flown in two config-

urations: “plus” or “X”, depending on the yaw reference frame of the vehicle, and control

authority is derived by modulating relative propeller thrusts to affect attitude and direct

the combined lift vector in the direction of desired movement. Examples of this relative

modulation are shown in Figure 1.1.

Due to their relative simplicity and ability to be used in small spaces such as a laboratory

setting, quadrotors have been the subject of a great deal of control development and research.

A multitude of control techniques have been applied, both linear and nonlinear, and from

across the fields of both classical and modern control. In fairly early quadrotor testing dating

to 2004, researchers implemented both classical and modern techniques for quadrotor control

in simulation, on test stands, and finally in flight. Proportional-Integral-Derivative (PID)

control was found to be robust to moderate perturbations without a particularly accurate

dynamic model, however the utility of Linear Quadratic (LQ) models were found to be

limited by the fidelity of the dynamic model being used, as simulated flights went well, yet

results were mixed on the test stand and flight tests [9].

Page 12: Dynamics and Control of a Quadrotor with Active Geometric ...

3

Figure 1.1: Relative motor throttling to perform basic quadrotor maneuvers. Arrows indicatedirection of propeller rotation.

In [10], a particularly prolific team developed a nested controller, using PD gains to

control the vehicle attitude in response to a PID controlled outer loop for translational

navigation. System observability was achieved using a VICON motion capture system, which

uses a fixed array of cameras to track markers on vehicles, providing high-fidelity position

and velocity information. The team found very favorable results in the study, showing agile,

controllable flight for both individual vehicles and small formations of multiple vehicles. The

team continued their work in [11], demonstrating the same core controller in flight through

tightly constricted spaces, as well as fast, aggressive maneuvers for perching on vertical and

inverted surfaces. The team additionally achieved robustness to failed perching and quick

return to stable flight for repeated attempts. Other work from this team includes [12], in

which a nonlinear optimal controller calculates quadrotor trajectories in real time minimizing

the second time derivative of acceleration, referred to as snap. The team found precision in

trajectory following was a trade off with vehicle speed, however in certain trials, acceptable

precision was maintained up to a speed of 10 body lengths per second.

Traditional quadrotor drones are simple and useful, however control strategies designed

Page 13: Dynamics and Control of a Quadrotor with Active Geometric ...

4

for the basic configuration are only truly valid for quadrotors with fixed payloads at the

center of the body. Studies of moving payloads improve the utility of quadrotors greatly. An

often-studied field of quadrotor research concerns the handling of swing loads representative

of any potential unactuated payload suspended beneath the vehicle. In [13], an eight degree

of freedom (DOF) model is considered in which the position of the unactuated swing load

is described by two angles. A dynamic model was constructed using Newtonian mechanics

and validated using a Lagrangian formulation, and then Model Based Control (MBC) was

implemented. The controller was found to compensate for the swing load and hold to its

prescribed trajectory, however the load did exhibit large oscillations throughout the initial

simulations. This was alleviated through the addition of a feed-forward controller which

compensated for swinging through higher-order control of the vehicle throttles, and the

swinging was dramatically reduced. In [14], learning algorithms were applied to a similar 8

DOF model, resulting in an actual flying prototype which was able to successfully navigate

a cluttered environment while carrying an unactuated swing load.

A further extension of the idea of underslung mass is the implementation of an actuated

robotic arm mounted on the belly of a quadrotor. In [15], a quadrotor is fitted with a three

link actuated arm intended for completing construction tasks. In this study, the system was

modeled, and separate controller loops were built for the quadrotor and arm. The arm control

was physically implemented using PID, but was merely considered an outside disturbance in

this study of its effects on the helicopter dynamics. The quadrotor was initially controlled

using a traditional quadrotor PID, however this was found to be insufficient in its response

to arm-movment perturbations. The response was found to improve dramatically when the

quadrotor was converted to a Variable Parameter Integral Backstepper (VPIB) controller.

This controller allowed for rapid response to the arm states, passed along as parameters.

The vehicle was found to be capable of holding very stable despite perturbations caused by

arm movements.

In [16], researchers modeled the dynamics of a quadrotor carrying an underslung gim-

balling camera with the goal of keeping the camera pointed at a target position as the quadro-

Page 14: Dynamics and Control of a Quadrotor with Active Geometric ...

5

tor flies a given trajectory. The study developed the dynamics of the combined quadrotor-

camera system using the Lagrangian mechanics, and then implemented both backstepping

and sliding-mode nonlinear control. The backstepper controller was found to yield moderate

results, while the sliding mode controller was found to be insufficient, and in both cases,

further work was intended.

A logical step beyond compensating for a moving load is to actively consider the moving

load as a flight control input. This type of behavior is observed not only in novel man made

aerial vehicles, but in nature as well. Research in [17] proposed the rapid articulation of

a hawk moth’s abdomen during agile flight maneuvers may be actuating flight via inertial,

rather than aerodynamic effects. They constucted a dynamic model based upon the hawk

moth and simulated the use of dynamic inertia as a control input, then compared responses

in the actual animal when responding to visual stimuli in a lab setting. Comparing the

transfer functions, it was concluded the hawk moth was indeed utilizing inertial actuation.

The hawk moth research inspired work by a previous student in the Nonlinear Dynamics

and Control Laboratory, who sought to further swing load quadrotor dynamics through ac-

tuation of the load as dynamic inertia. An 8 DOF model similar to the previously discussed

studies was constructed and modeled using Lagrangian Mechanics, however the motor throt-

tles were combined from four independent inputs to only a total throttle and a yaw input.

All pitch and roll control authority was generated by applying torques to the underslung

load. This actuated mass was found to provide sufficient control authority for a variety of

trajectories when controlled using LQR, as well as strong robustness to modeling errors [18].

Direct torque and inertia effects from actuating inert masses are only one way of uti-

lizing additional degrees of freedom of a quadrotor to alter or improve performance for a

target mission. Another notable approach is to modify how and where aerodynamic forces

are imparted on the vehicle. One example of this is through implementation of a tilt-rotor

mechanism. In [19], a tilting mechanism is modeled on a quadrotor with the goal of allowing

the vehicle to fly without requiring the complete vehicle to lean in the direction of desired

motion, thus improving the utility of body-fixed directional payloads such as non-gimbaled

Page 15: Dynamics and Control of a Quadrotor with Active Geometric ...

6

cameras. PID control is used to fly desired trajectories, and favorable results were found,

leading the author to suggest further experimentation with a physical prototype. An addi-

tional step from here is a complete conversion into a fixed wing aircraft by mounting the

four motors into tilting airfoil wings. This approach was studied in [20]. LQR control was

implemented for the quadrotor in its VTOL configuration, and dynamics were modeled for

the vehicle both as a quadrotor and as a fixed wing aircraft for horizontal flight, using cou-

pled rotation of the rear arms as elevators for pitch actuation, and independent rotation of

the front arms as ailerons for roll actuation. The authors did not address control during

the transitional period, but found favorable results in both the horizontal and vertical flight

regimes, with future work intended concerning the conversion.

Each variation of the basic design is useful in addressing a drawback of standard quadro-

tors. The tilting motors allow a body-fixed payload to be pointed independently of the di-

rection of travel. The tilting wings allow improved speed and efficiency in horizontal travel.

A novel variable-geometry quadrotor design can address other areas of improvement, such

as the ability to better balance loads by actively repositioning the center of lift, navigating

tight spaces, and the ability to recover from the typically catastrophic event of a motor loss

by reconfiguring into a trirotor.

The research presented here represents an initial study into the dynamics and control of

such a morphing quadrotor through a combination of inertial actuation and aerodynamic

load shifting. The vehicle is capable of actively varying its shape by controlling the rotation

of the arms with respect to the vehicle body about their yaw axes, as well as sliding the

motors and propellers along the arms as commanded, a similar but mathematically simpler

analogue for telescoping arms. This design is patent pending by Robodub Inc. [21], whose

early prototypes are shown in Figures 1.2 and 1.3.

Energy storage constraints imposed by battery volumes and masses subject small-scale

drones to fairly limited mission durations. In order to maximize the efficiency of flight oper-

ations, and therefore longevity, Linear Quadratic optimal control is selected as the preferred

controller design for this study. Further work for early flying prototypes may benefit from

Page 16: Dynamics and Control of a Quadrotor with Active Geometric ...

7

Figure 1.2: Early Robodub prototype exhibiting a degree of arm angle variation. Photographprovided by Robodub Inc. and used with permission.

Figure 1.3: Early Robodub prototype quadrotor with variable length arms. Photographprovided by Robodub Inc. and used with permission.

Page 17: Dynamics and Control of a Quadrotor with Active Geometric ...

8

additional exploration of PID control design, or potentially a combination using PID tuned

by LQR as proposed and simulated for quadrotor control in [22].

It is worth noting this present study accounts for drag only in the propeller torques and

not on the body due to translation or rotation, as all maneuvers are assumed to be performed

at a substantially low velocity to where they can be neglected. Lift and drag on the propellers

are assumed to be only a point thrust and a rotational couple centered on the motors and

do not account for p-factor torques and other effects which act on propellers rotating at

high speeds. Lastly gyroscopic effects are ignored. All of these factors are areas for further

consideration beyond the scope of this research.

1.2 Outline of the Thesis

This paper will investigate various aspects of the dynamics and control of the variable-

geometry quadrotor. Chapter 2 describes the dynamic model, develops dynamic equations

governing its movement, and simplifies the dynamics to the most capable yet tractable form

presently feasible. Chapter 3 investigates the implementation of LQR control on the full

model, and then to the vehicle in a trirotor state to which it would transition in the event of

a motor loss. Chapter 4 considers Set Point LQR Gain Scheduling control in which control-

ling the vehicle is investigated during shape transitions by modeling the vehicle as a series

of unconventionally-shaped fixed-geometry quadrotors. Chapter 5 investigates nonlinear nu-

meric optimal control of the quadrotor using a single throttle input with all attitude control

achieved through geometric morphing. Finally, Chapter 6 concludes the paper by briefly

reviewing findings and making suggestions for further research.

1.3 Contributions of the Thesis

The unique contributions of this research are diverse, as no existing publications have been

found concerning the dynamics and control a quadrotor which transforms in the manner of

the vehicle in this study. First, dynamic equations governing the vehicle are methodologically

determined. Second, LQR controls are applied to the vehicle and found to be stabilizing, and

Page 18: Dynamics and Control of a Quadrotor with Active Geometric ...

9

therefore a good candidate for development into controls for an eventual prototype. Third,

controllability was confirmed for the linearized trirotor configuration to which the vehicle can

transform to recover from a motor loss, indicating further work should make the recovery

executable for a physical prototype. Fourth, Set Point Gain Scheduling was investigated

and found to be stabilizing for the vehicle during shape transitions, and an early study into

the optimal number of set points for a transformation was conducted, determining simple

transitions can be completed with only three set point gain combinations. Fifth, and lastly,

the ability to fly the vehicle using a single throttle channel and actuating roll and pitch

through geometric morphing was verified in simulation with numerical nonlinear control.

Each of these initial examinations of various topics form a basic foundation for further

investigation into the control of a variable-geometry quadrotor.

Page 19: Dynamics and Control of a Quadrotor with Active Geometric ...

10

Chapter 2

DYNAMIC MODEL

This chapter will define the dynamic model of the conceptual morphing quadrotor in

terms of state and parametric values. An explanation is then provided for the process

by which the complete quadrotor dynamics are derived. The model is then simplified to

a symmetric form which is more mathematically tractable while continuing to enable the

desired novel system capabilities. The chapter concludes by declaring specific numerical

values for the system parameters used for control rule calculations in the following chapters.

2.1 Model Description

The full variable geometry quadrotor is modeled as a nine-mass system consisting of a central

body, four variable-angle arms rotating about pivot points on the body, and four motors,

each sliding along one of the arms. This sliding motor model is mathematically similar to

the concept of telescoping arms, and it can be easily adapted to whichever method of motor

positioning is selected for a final physical prototype. Body-fixed coordinate axes are defined

with the origin at the center of the body, and with the body-fixed x-axis pointed forward,

the body-fixed y-axis pointed to the right, and the body-fixed z axis pointed downward

as shown in Figure 2.1. This selection allows for a right-handed coordinate convention in

which the pitch angle, θ, rotating about the y-axis is positive in a nose-up attitude. The

other two rotations used to relate the body orientation to the inertial reference frame are the

roll angle, φ, positive clockwise when viewed from behind, and the yaw angle, ψ, positive

clockwise when viewed from above.

Page 20: Dynamics and Control of a Quadrotor with Active Geometric ...

11

Figure 2.1: Basic initial model for the quadrotor, showing the orientation of the body-frameaxes and the external forces imparted by the motors and propellers.

The orientation of the body-fixed and inertial axes are related through the use of the

Roll-Pitch-Yaw Euler angle rotation matrix. This particular rotation sequence was selected

due to its containment of singularities far from the expected maneuvering regime of the

vehicle, a reason why it is commonly used in aerospace modeling. This rotation matrix is

given below using the space-saving trigonometric notation used throughout this paper and

exemplified by sφ = sin(φ):

R =

cθcψ −cθsψ sθ

cψsθsφ + cφsψ cφcψ − sθsφsψ −cθsφ−cφcψsθ + sφsψ cψsφ + cφsθsψ cθcφ

.

The vehicle was chosen to be modeled in the “plus” configuration common in quadrotor

development due to mathematical simplicity. This configuration places the arm base loca-

tions directly along the fore-aft and lateral axes. The four arm-motor pairs are designated

A, B, C, and D, beginning with the forward arm and continuing clockwise when viewed

from above. The arm orientations are defined by angles αA, αB, αC , and αD, each quantified

as the clockwise rotation from the forward-pointing, body-fixed x-axis. The position of each

motor on its corresponding arm is described by its distance outboard from the pivot point on

Page 21: Dynamics and Control of a Quadrotor with Active Geometric ...

12

the body, designated dA, dB, dC , and dD. Examples of these quantities are shown in Figure

2.2.

The physical properties of the quadrotor are defined by parameters of fixed distances and

masses. The body of the quadrotor is modeled as a homogeneous cylinder of mass mbody,

radius ρbody, and height hbody. Each pivot is allowed is own distance from the center of the

body along the corresponding body-fixed axis to allow for maximum versatility in adapting

the model to the eventual prototype. These distances are designated bA, bB, bC , and bD.

The arms extend outward from these pivots, modeled as homogeneous thin rods of masses

marmA, marmB, marmC , and marmD, and lengths lA, lB, lC , and lD. The motors are modeled

as point masses of masses mmotA, mmotB, mmotC , and mmotD.

Figure 2.2: Examples of one of each dimension, duplicated in the model on each of the fourarms.

2.2 Generalized Coordinates

A full state description of the system could require three translational and three rotational

states be assigned and modeled for each of the nine masses, giving a total of 54 states.

Page 22: Dynamics and Control of a Quadrotor with Active Geometric ...

13

Considering joint constraints reduces the state quantity greatly by locking together certain

degrees of freedom of the components mounted to the body and thus reducing the model to a

minimum number of generalized coordinates. In this model, the arms are fixed translationally

to the body at the pivot points. The pivot joint constraints fix the roll and pitch of the arms

to match that of the body, only allowing differences in yaw, which are directly quantified by

the α angles. The complete position and orientation of each arm can therefore be described

relative to the body by a single generalized coordinate each, the arm angle, α. The motors

are fixed to the arms on sliding joints. Such a joint locks all orientation angles, as well as

two of the three translational dimensions. The one remaining translational dimension for

each motor is quantified by the distance, d. A full six degree of freedom state description is

thus only necessary for a single component, from which other parts can be related through

a single generalized coordinate each. The model places the body-fixed axes at the center

of the body, and thus the same states relating the body to the inertial frame can serve as

the six body states of the system. The remaining eight shape states bring the minimum full

dimensionality of the complete quadrotor system up to fourteen, given by the state vector,

q = [x, y, z, φ, θ, ψ, αA, αB, αC , αD, dA, dB, dC , dD]T .

2.3 System Mechanics

The dynamics of the full quadrotor are highly shape-dependent. As the shape changes, the

center of gravity (CG) will shift through the vehicle. Calculating the location of the CG in

the body frame requires first describing the position of each component as a function of the

shape variables and fixed geometric parameters. The model is assumed to be planar, with

all components at the same body-frame z = 0, and thus coordinates are written in x and y

only. The position vectors are thus given by:

~rbody = [0, 0]

~rarmA =

[bA +

lA2cαA ,

lA2sαA

]

Page 23: Dynamics and Control of a Quadrotor with Active Geometric ...

14

~rarmB =

[lB2cαB , bB +

lB2sαB

]~rarmC =

[−bC +

lC2cαC ,

lC2sαC

]~rarmD =

[lD2cαD ,−bD +

lD2sαD

]~rmotA = [bA + dAcαA , dAsαA ]

~rmotB = [dBcαB , bB + dBsαB ]

~rmotC = [−bC + dCcαC , dCsαC ]

~rmotD = [dDcαD ,−bD + dDsαD ] .

Having expressions for the body-frame position of the center of mass of each component,

the shape-dependent CG location in the body frame can now be found from the position

vectors and component masses. First, for simplicity in writing, the total mass is calculated

as the sum of the constituent masses,

mtotal =9∑i=1

mi.

Now, the system’s combined CG can be expressed as,

~CG =

∑9i=1mi~rimtotal

.

The moments of inertia for each component are found, including parallel axis effects from

the shape-dependent CG. The body inertias are found using the moment of inertia equations

for a homogeneous cylinder:

Ibodyφ = mbody

(3ρ2body + h2body

12+ CG2

y

)

Ibodyθ = mbody

(3ρ2body + h2body

12+ CG2

x

)Ibodyψ = mbody

(ρ2body

2+ CG2

x + CG2y

).

Page 24: Dynamics and Control of a Quadrotor with Active Geometric ...

15

The inertias of the arms are found using the thin rod inertia equations, considering the

length projected onto the x and y axes for roll and pitch:

Iarmiφ = marmi

((lisαi)

2

12+ (rarmiy − CGy)

2

)

Iarmiθ = marmi

((licαi)

2

12+ (rarmix − CGx)

2

)Iarmiψ = marmi

(l2i12

+ (rarmix − CGx)2 + (rarmiy − CGy)

2

).

The motors are modeled as point masses, and therefore have only parallel axis effects

contributing to their inertias:

Imotiφ = mmoti (rmotiy − CGy)2

Imotiθ = mmoti (rmotix − CGx)2

Imotiψ = mmoti

((rmotiy − CGy)

2 + (rmotix − CGx)2).

Each contributing inertia is next summed to find the total state-dependent moments of

inertia of the system:

Iφ = Ibodyφ +4∑i=1

(Iarmiφ + Imotiφ)

Iθ = Ibodyθ +4∑i=1

(Iarmiθ + Imotiθ)

Iψ = Ibodyψ +4∑i=1

(Iarmiψ + Imotiψ) .

The primary flight controls for the full quadrotor are the four throttles, modeled as thrust

inputs uA, uB, uC , and uD. These forces act in the body-frame negative z direction at the

corresponding motor positions. Rotating these forces through the system’s rotation matrix,

R, for the vehicle’s current orientation state gives the thrust in each translational coordinate

direction as trigonometric functions of the orientation:

utotal = uA + uB + uC + uD

Page 25: Dynamics and Control of a Quadrotor with Active Geometric ...

16

Fx = −utotalsθ

Fy = utotalsφcθ

Fz = −utotalcφcθ.

One method of calculating pitching and rolling moments due to applied thrusts is to find

the lever arm between the combined Center of Lift (CL) of the four motors and the CG of

the quadrotor in each axis direction. The CL is calculated using a similar equation to the

CG, however considering motors only for positions and corresponding applied thrust forces

in place of masses,

~CL =

∑4i=1 ~rmotiuiutotal

τφ = utotal(CGy − CLy)

τθ = utotal(CLx − CGx).

Motors A and C are assumed to rotate their propellers counterclockwise, and B and

D rotate clockwise. The motors therefore exert opposite torques, assumed to be linearly

proportional to the thrust inputs by the propeller drag coefficient kd. These torques represent

the external forcing on the quadrotor in the ψ dimension,

τψ = kd(uA − uB + uC − uD).

With forces, torques, masses, and inertias known, the system dynamics are calculated

using Newton’s Second Law. The original momentum form of the equation must be used

due to the time-variance of the state-dependent moments of inertia:

F =d

dtmv = ma

τ =d

dtIω = Iω + Iω.

Internal forces used to actuate the motor positions on the arms will have no effect on the

inertial-frame behavior of the quadrotor’s CG, and they therefore are fully accounted for in

the shifting CG terms of the dynamic derivation. Considering the translational dynamics of

Page 26: Dynamics and Control of a Quadrotor with Active Geometric ...

17

the CG rather than the body frame axes allows the translational dynamics to be easily and

compactly expressed:

xCG =Fx

mtotal

yCG =Fy

mtotal

zCG = g +Fz

mtotal

.

CG dynamics suffice for mathematical modeling and early simulations, however sensor

equipment used to detect state information for stabilizing feedback control of an eventual

prototype will be rigidly mounted to the body, and thus body-frame dynamics will be nec-

essary. These dynamics can be found using the second derivative of the CG shift rotated

through the rotation matrix, which will give much more complicated translational dynamic

equations in terms of the positions, velocities, and accelerations of the eight shape states.

These equations are given in expression form,

x = xCG − [[ ¨CGx, ¨CGy, 0]R]x

y = yCG − [[ ¨CGx, ¨CGy, 0]R]y

z = zCG − [[ ¨CGx, ¨CGy, 0]R]z.

Internal torques used to actuate the arms act entirely in the yaw direction, and the forces

which slide the motors act in the plane of body-frame z = 0, and therefore no additional

acceleration appears in the roll and pitch dynamics due to shape changes, allowing for simple

expressions of the roll and pitch dynamics:

φ =τφ − Iφφ

θ =τθ − Iθθ

Iθ.

The torques used to actuate the arm angles will act equal and opposite on the body and

corresponding arm of the vehicle, producing accelerations in the angles of each which sum

Page 27: Dynamics and Control of a Quadrotor with Active Geometric ...

18

to the angle change in each body-relative arm angle α. Direct control of the shape-state

accelerations is assumed to avoid necessitating consideration of constraint forces and torques

in this initial study, instead allowing the focus to be only on the desired shape changes.

Translational effects on the system CG are again accounted for in the shifting CG terms,

however the proportion of angular acceleration imparted upon the body, and therefore on

the body yaw angle ψ requires not only knowledge of the instantaneous relative inertias,

but also due to the continuous shape changes, the time derivative of not only the relative

inertias, but also the angular velocities of each portion. While not impossible to solve for,

these terms are very difficult to determine in closed form, and the current schedule for this

research will not allow for it. A similar situation arises when considering the yaw torques

imparted by the sliding motor forces when the arms are not perpendicular to the body.

The resulting unknown internal torques are expressed together in the term τψinternal in the

complete dynamic expression for the yaw,

ψ =τψ − Iψψ + τψinternal

Iψ.

One simple method of removing the need to consider internal torques from the require-

ments of the model is to constrain movement to where canceling torques will always be

applied during shape transitions, thus enforcing τψinternal = 0. This cancellation can be

achieved by requiring opposite arm-motor pairs be symmetric with matching geometric and

mass properties, as well as mirrored arm and motor movements. This simplification does

remove some degree of capability from the system, however it will nonetheless allow for

modeling all suggested novel capabilities. Further work should investigate the influence of

these internal torques, perhaps investigating the effects of using the forces and torques as the

selected control channels as opposed to the direct shape state acceleration control currently

being investigated.

Page 28: Dynamics and Control of a Quadrotor with Active Geometric ...

19

2.4 Symmetric Analytic Model

Requiring mirrored arm properties and movements reduces the dimensionality of the system,

and makes redefining certain states favorable. The mirroring of motor positions can be

accounted for by setting dC = dA and dD = dB, thus eliminating the shape states dC and

dD. Arms A and C are also now positioned using a single angle. To avoid constant use of

phase shift angles, a new angle is defined, αφ, describing the arms’ angular displacement left

of the body-frame x axis. This orientation was selected such that a positive αφ displacement

should shift the CL in such a way it produces a positive moment in φ. Likewise, the angles

of arms B and D are defined as the angle forward of the body-frame y axis, shifting the CL

to produce a positive moment in θ. These new definitions are shown in Figure 2.3. The new

ten element state vector now contains six body states and four shape states. This new state

vector is written as,

q = [x, y, z, φ, θ, ψ, αφ, αθ, dA, dB]T .

Balancing forces and torques produced by shape changes requires geometric and mass

parameters be made symmetric. Therefore, parameters marmC , mmotC , and lC are set equiv-

alent to marmA, mmotA, and lA. An identical equivalency is set for the D parameters and

the B parameters. The eventual physical prototype will likely be constructed symmetrically,

so resulting losses in model versatility are minimal. The process continues identically to

before, however adjusted for the new matching properties and arm angle definitions. The

new position vectors are given:

~rbody = [0, 0]

~rarmA =

[bA +

lA2cαφ ,−

lA2sαφ

]~rarmB =

[lB2sαθ , bB +

lB2cαθ

]~rarmC =

[−bA − lA

2cαφ ,−

lA2sαφ

]~rarmD =

[lB2sαθ ,−bB − lB

2cαθ

]

Page 29: Dynamics and Control of a Quadrotor with Active Geometric ...

20

Figure 2.3: Simplified model using symmetrically constrained body shapes to cancel internaltorques.

~rmotA =[bA + dAcαφ ,−dAsαφ

]~rmotB = [dBsαθ , bB + dBcαθ ]

~rmotC =[−bA − dAcαφ ,−dAsαφ

]~rmotD = [dBsαθ ,−bB − dBcαθ ] .

The CG calculation equation is identical to before, as are the equations for the moments

of inertia of the body and motors with the exception of the new mass property equivalencies.

The roll and pitch inertias of the arms change to match the new arm angle definitions:

IarmAφ = marmA

((lAsαφ)2

12+ (rarmAy − CGy)

2

)

IarmAθ = marmA

((lAcαφ)2

12+ (rarmAx − CGx)

2

)IarmBφ = marmB

((lBcαθ)

2

12+ (rarmBy − CGy)

2

)

Page 30: Dynamics and Control of a Quadrotor with Active Geometric ...

21

IarmBθ = marmB

((lBsαθ)

2

12+ (rarmBx − CGx)

2

)

IarmCφ = marmA

((lAsαφ)2

12+ (rarmCy − CGy)

2

)

IarmCθ = marmA

((lAcαφ)2

12+ (rarmCx − CGx)

2

)

IarmDφ = marmB

((lBcαθ)

2

12+ (rarmDy − CGy)

2

)

IarmDθ = marmB

((lBsαθ)

2

12+ (rarmDx − CGx)

2

).

Once the new arm inertias have been accounted for in terms of the newly defined arm

angles, the equations of motion take the same form as they did previously, however with

internal torques now canceling each other, the yaw dynamics simplify to a tractable form,

ψ =τψ − Iψψ

Iψ.

The full expressions for the dynamics are gargantuan when calculated through, and are ex-

pressed here only in terms of constituent calculations for brevity. The full dynamic equations

for the symmetric quadrotor may be found in Appendix A.

2.5 Selected Numerical Values

Before applying Linear Quadratic Regulator (LQR) control to the quadrotor, numerical val-

ues are assigned to each geometric and mass property. The eventual physical implementation

of the system has not yet been designed, and therefore realistic numbers were estimated for

a hobby-sized vehicle. The selected values are given in Table 1.

Page 31: Dynamics and Control of a Quadrotor with Active Geometric ...

22

Masses (kg)

mbody 0.3

marmA 0.1

marmB 0.1

mmotA 0.1

mmotB 0.1

Lengths (m)

ρbody 0.1

hbody 0.1

bA 0.1

bB 0.1

lA 0.3

lB 0.3

Gravity (m/s2)

g 9.81

Prop Drag Coefficient

kd 0.5

Table 1: Quadrotor Physical Properties

Page 32: Dynamics and Control of a Quadrotor with Active Geometric ...

23

Chapter 3

LQR CONTROL

This chapter examines the use of Linear Quadratic control on the symmetric morphing

quadrotor including all eight control inputs. The system dynamics are linearized about a

hover condition, and LQR control gains are calculated and applied in simulation to both

the linearized and nonlinear models. An LQR controller is then examined as a possibility

for controlling the vehicle in a trirotor configuration to which the system could convert for

continued stable flight upon loss of a motor. The vehicle dynamics are linearized about this

trirotor configuration, and the resulting LQR gains are tested again on both the linearized

and nonlinear dynamic models.

3.1 Full System Control

As briefly mentioned in the proceeding chapter, direct control of shape state accelerations is

assumed, with physical realization of this left to be achieved by the prototyper. Four shape

states, combined with four throttle inputs, give the system a total of eight inputs:

~u =[uA, uB, uC , uD, αφ, αθ, dA, dB

]T.

The most fundamental flight regime for the quadrotor is that of a stationary hover, and

therefore the hover is the first condition considered for linearization. The nonlinear model is

linearized about a full zero state with the exception of placing the motors at the mid-spans

of the arms to maximize available travel in each direction and throttle inputs each equal to

a quarter of the vehicle weight, expressed in the form ~x = A~x+ Bu, where:

~x =[x, y, z, φ, θ, ψ, αφ, αθ, dA, dB, x, y, z, φ, θ, ψ, αφ, αθ, dA, dB

]T.

Page 33: Dynamics and Control of a Quadrotor with Active Geometric ...

24

The dynamic matrices are found to be very sparse and are able to be compactly written

in equation form shown below, excluding the obvious position-velocity dependencies and

direct state control equations. The linearized equations are relatively simple, allowing easy

verification against intuition about the system’s behavior:

x = −9.81θ

y = 9.81φ

z = −0.9091(uA + uB + uC + uD)

φ = 8.0264αφ − 9.0909(uB − uD)

θ = 8.0264αθ + 9.0909(uA − uC)

ψ = 9.1743(uA − uB + uC − uD)

The controllability matrix produced using A and B was found to be full row rank, in-

dicating the linearized system is controllable. To develop an optimal control rule for the

linearized system using LQR methods, cost weighting matrices must be declared in the cost

function:

∫ ∞0

(~xT Q~x+ ~uT R~u

)dt.

The cost matrices Q and R correspond to the magnitude of the state deviation and control

inputs from the linearization condition. The first case study will investigate recovery from

perturbation and return to the origin. All states and controls are cost-weight normalized

by setting Q = I20x20 and R = I8x8. Bryson’s rule for constrained states is then applied

to constrain the arm angles to less than π4

in either direction and motor positions to stay

on the arms with less than l2

travel in either direction. The corresponding LQR gains were

calculating using Mathematica’s LQRegularGains function. The resulting 8x20 gain matrix

is shown below, expressed in block notation to fit to the page:

K =[K1(8x7), K2(8x7), K3(8x6)

]

Page 34: Dynamics and Control of a Quadrotor with Active Geometric ...

25

K1 =

−0.7071 0 −0.5 0 4.57 0.5 0

0 −0.7071 −0.5 −4.57 0 −0.5 −0.4447

0.7071 0 −0.5 0 −4.57 0.5 0

0 0.7071 −0.5 4.57 0 −0.5 0.4447

0 −0.0032 0 −0.0424 0 0 1.4181

0.0032 0 0 0 −0.0424 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

K2 =

0.4447 0 0 −1.0765 0 −0.7246 0

0 0 0 0 −1.0765 −0.7246 −1.0014

−0.4447 0 0 1.0765 0 −0.7246 0

0 0 0 0 1.0765 −0.7246 0

0 0 0 0 −0.0065 0 0.0003

1.4181 0 0 0.0065 0 0 0

0 6.6667 0 0 0 0 0

0 0 6.6667 0 0 0 0

K3 =

1.0014 0.5265 0 0.0029 0 0

0 −0.5265 −0.0029 0 0 0

−1.0014 0.5265 0 −0.0029 0 0

0 −0.5265 0.0029 0 0 0

0 0 1.9586 0 0 0

0.0003 0 0 1.9586 0 0

0 0 0 0 3.7859 0

0 0 0 0 0 3.7859

.

These gains were applied first on the linear model to study the response and ensure

convergence. The dynamics were modeled for five seconds using Mathematica’s NDSolve

function with the dynamic equation ~x =(A− BK

)~x. The resultant state trajectories are

Page 35: Dynamics and Control of a Quadrotor with Active Geometric ...

26

shown in Figure 3.1.

Figure 3.1: State trajectory of linearized quadrotor initialized at [x, y, z] = [1, 1, 1].

The linearized system response was found to be stable and controllable back to the

origin as expected. The return to the origin was achieved using a combination of differential

throttling and arm movements to actuate the vehicle in the pitch and roll directions. No

response was found on the motor positions, as their movement in the perpendicular-arm

configuration would effect only the rotational inertia of the system, and with the model

linearized about a zero angular velocity state, no other state dynamics are effected by dA

or dB. Having verified the control on the linear model, the hover controls are next applied

to the nonlinear model using the same initialization and the control substitution ~u = −K~x.

The resulting state trajectories are shown in Figure 3.2.

Page 36: Dynamics and Control of a Quadrotor with Active Geometric ...

27

Figure 3.2: State trajectory of nonlinear quadrotor initialized at [x, y, z] = [1, 1, 1].

The dynamics are again found to be stabilized, with x and y returning to the origin

through actuation of the pitch and roll using a combination of differential throttling and

arm angle actuation in a similar pattern to that of the linearized model, however the z

displacement did not converge back to the origin. The reason for this non-convergence is

currently unknown and is an area for future investigation, however the stabilizing effect of

the controller is promising, suggesting further development could lead to an LQR controller

capable of flying the quadrotor in real time.

3.2 LQR After Motor Loss Recovery

A quadrotor which experiences a motor loss is typically uncontrollable as motor forces and

torques are impossible to balance for stable flight. Research in [23] investigates the possibility

of preventing loss of a vehicle by stabilizing the angular velocity of the vehicle rather than

angular position, and then controlling translation in the air by directing the axis of rotation

Page 37: Dynamics and Control of a Quadrotor with Active Geometric ...

28

through use of periodic throttle controls. While this method is successful for preventing loss

of the vehicle or damage to property or observers below, it will not allow for continuation

of most missions as intended. One of the unique capabilities of the morphing quadrotor

is the potential ability to survive a motor loss and continue with the assigned mission by

transforming into a trirotor configuration.

This study investigates the controllability of the vehicle after experiencing a loss of motor

C. Motors A and C are assumed to rotate counterclockwise, while motors B and D oppose

and balance their torques on the system. Assuming the thrust-torque relationship to be

linear through the propeller drag coefficient kd, the hover input on motor A after losing

motor C must now double to equal half of the vehicle weight. This doubling will intuitively

require shortening of the moment arm for motor A by reducing dA while simultaneously

moving motors B and D to the rear to maintain pitch stability. A solver was written which

sought acceptable shape combinations by positioning the CL over the CG. The resultant

configuration selected for modeling is given by dA = 0.025, dB = 0.3, and αθ = −1.1597. An

approximation of this configuration is shown in Figure 3.3.

Figure 3.3: Selected Trirotor hover configuration which balances the doubling of uA.

Page 38: Dynamics and Control of a Quadrotor with Active Geometric ...

29

This configuration was used as the linearization configuration for the model, again lin-

earizing the dynamics into the form ~x = A~x+ Bu, now with a reduced seven element input

vector resulting from the loss of uC . The dynamic matrices were again found to be very

sparse, and are compactly expressed in linear equation form, omitting again the position-

velocity dependencies and the direct shape control equations:

x = −9.81θ

y = 9.81φ

z = −0.9091(uA + uB + uD)

φ = −57.5535αφ + 27.3432(uB − uD)

θ = 14.8923αθ + 120.867dA − 73.7785dB + 4.7553uA − 5.4721(uB + uD)

ψ = 19.4444(uA − uB − uD).

These equations mostly match intuition for the system, apart from the φ dynamics, which

have signs opposite of what intuition would expect. Troubleshooting of the dynamic code has

not yet resulted in the discovery of any process errors, however continued work and possible

reprogramming of the code may yield improved linearized dynamics.

A standard fixed-geometry trirotor is under-actuated and thus non-controllable due to

coupling between pitch, roll, and yaw. The underactuation is typically alleviated by adding

a servo which controls axial rotation of one arm, thus vectoring thrust for independent yaw

control [24]. An initial examination of whether or not the shape modulation used in this

study is an acceptable replacement for the axial rotation can be done by examining the

controllability matrix calculated from A and B. The controllability matrix was found to be

full row rank, indicating the linearized system is controllable, and likely would remain so even

if the dynamic equations were altered slightly such as reversing the signs on the φ dynamics

to better match intuition concerning the system. The gaining of controllability via addition

of geometric modulation was further validated by calculating the controllability matrix with

Page 39: Dynamics and Control of a Quadrotor with Active Geometric ...

30

the geometry fixed in the trirotor configuration, which was found not to be full-row rank,

and thus match the understanding of non-controllability for fixed-geometry trirotors.

Despite the conflict with intuition, the latter portion of the code executed and results

were found. First, using the same cost-weighting matrices from the quadrotor hover state

except reducing the length of the R matrix by one to match the shortened control vector

length, a gain matrix K was found, again expressed using block notation:

K =[K1(7x7), K2(7x7), K3(7x6)

]

K1 =

−0.0828 0 −0.2591 0 0.6438 0.16 0

0.1273 0.2235 −0.1247 1.4541 −1.0513 −0.1351 −1.0881

0.1273 −0.2235 −0.1247 −1.4541 −1.0513 −0.1351 1.0881

0 0.0331 0 0.2546 0 0 4.8090

−0.0815 0 −0.0138 0 0.9889 −0.0641 0

−0.6617 0 −0.1120 0 8.0256 −0.5198 0

0.4039 0 0.0683 0 −4.8989 0.3173 0

K2 =

0.2879 2.3363 −1.4261 −0.1330 0 −0.5976 0

−0.5608 −4.5518 2.7785 0.2083 0.3409 −0.2829 0.3212

−0.5608 −4.5518 2.7785 0.2083 −0.3409 −0.2829 −0.3212

0 0 0 0 0.0554 0 −0.0069

2.1964 9.7101 −5.9272 −0.1520 0 −0.0325 0

9.7101 79.808 −48.1052 −1.2336 0 −0.2636 0

−5.9271 −48.1052 30.3639 0.7530 0 0.1609 0

Page 40: Dynamics and Control of a Quadrotor with Active Geometric ...

31

K3 =

0.1694 0.1781 0 0.0175 0.1419 −0.0866

−0.2913 −0.1398 −0.0188 −0.0380 −0.3083 0.1882

−0.2913 −0.1398 0.0188 −0.0380 −0.3083 0.1882

0 0 3.2575 0 0 0

0.3685 −0.0826 0 1.8749 1.1596 −0.7078

2.9904 −0.6707 0 1.1596 11.1431 −5.7446

−1.8254 0.4094 0 −0.7078 −5.7446 5.2386

.

These control gains were first applied to the linearized dynamics, with the same [x, y, z] =

[1, 1, 1] initialization used for the full quadrotor dynamics study. The resulting state trajec-

tories are shown in Figure 3.4.

Figure 3.4: State response of the linearized trirotor with LQR control.

The system was verified to be completely stabilized and controllable in the linear model,

now utilizing motor positions as controls as well due to their new effect on the θ dynamics.

Having verified controllability on the linearized model, the LQR control gains were next

applied to the full nonlinear trirotor dynamics. The response is shown in Figure 3.5.

Page 41: Dynamics and Control of a Quadrotor with Active Geometric ...

32

Figure 3.5: State response of the full nonlinear trirotor with LQR control.

The nonlinear dynamics of the trirotor-configured vehicle were found to be unstable in

every degree of freedom when controlled with the calculated LQR gains. This instability is

being attributed to the unexpected signage in the φ dynamics, as well as the nonlinearity

of the system near the linearization condition, as upon parsing the dynamic equations, they

are found to be dependent on αθ through various trigonometric functions, including sin(αθ),

cos(αθ), sin2(αθ), and sin(2αθ).

Page 42: Dynamics and Control of a Quadrotor with Active Geometric ...

33

Chapter 4

LQR GAIN SCHEDULING

This chapter proposes the strategy of utilizing traditional quadrotor LQR gains calculated

for various unconventional but fixed configurations to govern an inner control loop utilizing

the throttle inputs only while relegating shape control and actuation to an outer control

loop which commands shape transitions based upon specific mission requirements such as

navigating a constricted space. Using this controller, the quadrotor transitions through a gain

schedule to utilize the gains for the fixed geometry closest to the instantaneous configuration

while executing a transition. The objective of this study is to first test the validity of the

control strategy, and then to investigate the optimal number of gain set points throughout

the trajectory.

A basic transition is selected for the initial evaluation of the set point gain schedule

strategy. The quadrotor is assumed to begin hovering at the origin in the basic configuration

used for the initial hover linearization in the proceeding chapter. The quadrotor is then

modeled as rotating arms B and D back while extending motor A and C to the ends of their

arms. The vehicle thus transitions from an initial shape state of αθ = 0 and dA = lA2

to a

final shape of αθ = −π3

and dA = lA. The transition is modeled assuming bang-bang control

of the shape state accelerations, completing the transition in first two seconds and then one

second.

A single MATLAB script was written which linearly spaces a user-specified number of set

point geometries along the programmed transition. The script then iterates the linearization

procedure and determines optimal gain matrices using the same LQR process and cost-

weighting matrices as in the proceeding chapter for each of the linearization conditions, and

then propagates the nonlinear dynamics of the controlled quadrotor using forward Euler

Page 43: Dynamics and Control of a Quadrotor with Active Geometric ...

34

with a time step of 1 millisecond. In each iteration, the shape state is read and the gains for

the nearest available set point geometry are applied to the throttle inputs. The first study

utilized a single transition between two set points, one each for the beginning and ending

configurations. The model is initialized stationary at the origin with the goal of maintaining

a stable hover at the origin throughout and after the transition. The control inputs and

corresponding state trajectories for the two second trial are shown in Figures 4.1 and 4.2,

respectively.

Figure 4.1: Throttle controls applied during two second transition using two set points.

Page 44: Dynamics and Control of a Quadrotor with Active Geometric ...

35

Figure 4.2: State trajectories during two second transition using two set points. The redlines indicate the gain switching time.

Small step discontinuities appear in the throttle controls at the transition point, indicating

a non-fluid transition between the gains. The state trajectories are observed to be destabilized

as αθ deviates from a perpendicular arm configuration. Upon switching gains, the vehicle is

stabilized and returns to stable level flight, although it does not return to the origin. This

stabilization verifies the potential for set point gain scheduling control, however further work

will be necessary to isolate the cause of the nonzero position.

The previous case was repeated with a one second transition duration to study the effects

of the transition time on the dynamics of the system. The resulting controls and state

trajectories are shown in Figures 4.3 and 4.4.

Page 45: Dynamics and Control of a Quadrotor with Active Geometric ...

36

Figure 4.3: Throttle controls applied during one second transition using two set points.

Figure 4.4: State trajectories during one second transition using two set points. The redlines indicate the gain switching time.

Page 46: Dynamics and Control of a Quadrotor with Active Geometric ...

37

The trajectories are found to be similar in characteristics, however slightly greater pitch

deviation is noted before the system restabilizes. To allow greater time for dynamic devi-

ation during transformation, further trials were conducted using the two second duration,

examining the effects of varying the number of set points on the system behavior during

shape transitions.

The simplest additional set point to examine is that of halfway through the transition,

when αθ = −π6

and dA = 3lA4

. To adhere to the closest set point, the controller switches

gains when the position is a quarter through the transition, and then switches to the final

gains when a only a quarter remains. Half of the transition distance is thus controlled with

the new gain matrix. The controls and state trajectories produced by the three set point

controller are shown in Figures 4.5 and 4.6.

Figure 4.5: Throttle controls applied during two second transition using three set points

Page 47: Dynamics and Control of a Quadrotor with Active Geometric ...

38

Figure 4.6: State trajectories during two second transition using three set points. The redlines indicate the gain switching times.

The magnitude of transient θ deviation is dramatically reduced, as is the final transla-

tional steady-state error. The step discontinuities in uA and uC appear to have vanished,

and those in uB and uD have become exceedingly small. A further trial was conducted

with 5 set points, with new set points evenly spaced between the starting, middle, and final

configurations. The resulting state trajectory is shown in Figure 4.7.

Page 48: Dynamics and Control of a Quadrotor with Active Geometric ...

39

Figure 4.7: State trajectories during two second transition using five set points.

The state trajectory behavior with five set points is observed to be essentially identical

to that of the three set point model. The maximum θ deviation appears identical, as do

the steady-state translational errors. It was therefore concluded simple transitions can be

handled using three set point controllers. This was further verified by calculating the state

trajectory for a nine set point model, and again finding any improvement in state trajectories

to be negligible. More complex transitions may require a greater number of set points, and

that remains an area for further study.

Page 49: Dynamics and Control of a Quadrotor with Active Geometric ...

40

Chapter 5

NUMERICAL OPTIMAL CONTROL

The variable geometry quadrotor presents an additional opportunity for unique develop-

ment in moving beyond the common differential throttling control and instead generating

control authority for the vehicle via geometric transformation. This chapter verifies the con-

trollability of a quadrotor using geometric modulation in place of differential throttling using

numerical simulation in MATLAB. Controls are developed using a nonlinear numerical opti-

mizer, which although impossible to use in real time due to excessive run times, can be used

to construct desired trajectories which real-time controllers can be mapped to approximate.

5.1 Code Structure

The code set used in this study consists of a series of MATLAB functions. The master file

is first used to set parameters such as control point resolution and final time, then initializes

a vector of control inputs at discrete time intervals. The master file then calls the fmincon

function, which on each iteration passes the control vector to the nonlinear constraint func-

tion. This function in turn calls the trajectory function, which propagates the dynamics of

the system for the supplied control vector, linearly interpolating the controls between the

discrete control points. The trajectory function passes the state trajectory back to the con-

straint function, which tests the trajectory against equality and inequality constraints used

to set the final condition and to bound the shape states of the quadrotor. The constraint

function passes back a pass/fail status to the optimizer. The fmincon optimizer function

also passes the control vector at each iteration to the cost function, which calculates the cost

using the target cost function,

J =

∫ tf

0

u2i + (uthrottle −mg)2dt,

Page 50: Dynamics and Control of a Quadrotor with Active Geometric ...

41

where ui is each non-throttle input.

The optimizer builds a Hessian matrix comparing the changes in the cost with respect

to variations in each element of the control vector until a local minimum is found. Once a

feasible local minimum has been found which satisfies the supplied constraints, the optimizer

passes the optimized control vector out to the master file. The master file then passes the

optimal control vector again to the trajectory function and receives back the correspond-

ing state trajectory. This trajectory is passed to the animation function, which draws the

quadrotor in it’s instantaneous state at each control point interval, passing back the still

frames to the master file. The master file finally writes the frames to a video, then saves the

video, plots of the control inputs and state trajectories, and all control and state trajectory

data for later use. A flow chart approximating this structure is shown in Figure 5.1.

Figure 5.1: Flow diagram for the nonlinear control optimization code.

Each added control input channel increases the length of the optimization vector by the

selected control resolution, thus increasing the complexity of the optimization task exponen-

tially. As a result, the model needed to be simplified to the greatest possible extent while

still demonstrating unique capabilities. Toward this end, the four throttles were assumed to

Page 51: Dynamics and Control of a Quadrotor with Active Geometric ...

42

remain identical, with all attitude authority derived from the motion of the motors relative

to the CG. Additionally, all motors are assumed to remain at the outer extreme of the arms,

yielding all control to the arm angles.

5.2 1D Translation

This code structure was initially developed in 2D, balancing all roll and yaw forces such

that rotation and translation occur only in the x, z, and θ directions. The first trial run to

validate the code further simplified the model to 1D by setting the vertical component of the

thrust to equal the weight of the vehicle using the reciprocal cosine function, or secant:

utotal =mtotalg

cθ= mtotalgsec(θ).

This initial test thus used only a single input: the angular acceleration of the arms, αθ.

The quadrotor was commanded to move three meters to the right from the origin, beginning

and ending at a stationary hover, and the trajectory was propagated using fixed-step 4th

order Runge-Kutta numerical approximation with a dynamics stepping 100 times faster than

the control. The control channel optimizer quickly converged to the input shown in Figure

5.2. The corresponding state trajectories are shown in Figure 5.3.

Page 52: Dynamics and Control of a Quadrotor with Active Geometric ...

43

Figure 5.2: Optimal control input shown for three meter 1D translation in three seconds.

Figure 5.3: Optimal state trajectories shown for three meter 1D translation in three seconds.

Page 53: Dynamics and Control of a Quadrotor with Active Geometric ...

44

As can be seen in the arm angle trajectory, the optimizer converged to a highly believable

trajectory, in which the arms move back to pitch the nose down and generate horizontal

thrust, then move forward to rotate the vehicle back and brake its movement. The arms

then cycle through this pattern one more time to level the quadrotor as it reaches the target

location. Overlaying the frames from the animated trajectory as shown in Figure 5.4, one

can readily visualize this trajectory, as well as the magnitude of arm movement necessary to

achieve the desired trajectory.

Figure 5.4: Optimal state trajectory for three meter 1D translation in three seconds, shownas overlaid animation frames.

5.3 2D Translation

The code structure has thus been verified for a very simple case. The next case to be

investigated is that of the 2D model adding vertical movement. Vertical control is achieved

by considering utotal as a second control channel. This input will provide both vertical

Page 54: Dynamics and Control of a Quadrotor with Active Geometric ...

45

acceleration and pitching acceleration proportional to the lever arm between the CL and the

CG.

The constraint function was modified to give a final state of a stationary, level hover

at [3, 3], and the code was run for final times of 2, 3, and 4 seconds. While that shape

control was initialized again at zero input, the throttle was initialized near a hover to hasten

and improve convergence to an optimal trajectory. Modeling the dynamics using Runge-

Kutta produced convergence errors, and thus the code was converted to using Forward Euler

approximation, now 300 times faster than the control steps. The optimal control input on

both input channels is shown with a 4 second final time in Figure 5.5, and with a 3 second

final time in Figure 5.6.

Figure 5.5: Optimal control inputs for arm angle and throttle for a four second move fromthe origin to [3, 3].

Page 55: Dynamics and Control of a Quadrotor with Active Geometric ...

46

Figure 5.6: Optimal control inputs for arm angle and throttle for a three second move fromthe origin to [3, 3].

The arm inputs again take a similar form to that observed in the 1D translational case.

The throttle control exhibits interesting behavior however, as reducing the final time leads

to an oscillatory optimal thrust. This is the result of synchronization with the vehicle pitch

and arm angles to apply maximum thrust force when it best contributes to the required

pitching and vertical actuation. This become much more noticeable when the final time is

reduced to two seconds, as shown in Figure 5.7, in which the optimal throttle input even

calls for shutting down the motors entirely and coasting for a brief period.

Page 56: Dynamics and Control of a Quadrotor with Active Geometric ...

47

Figure 5.7: Optimal control inputs for arm angle and throttle for a two second move from theorigin to [3, 3]. Note the total shutdown of the throttle during which the vehicle is coastingin free fall.

The state trajectories for the three cases assume very similar forms to one another, with

variance observed primarily in angular and velocity magnitudes. While the four second and

three second trajectories are very similar, the two second trajectory does show noteworthy

plateauing and freefall due to the throttle shutdown. The trajectories for the three second

and two second cases are shown in Figures 5.8 and 5.9.

Page 57: Dynamics and Control of a Quadrotor with Active Geometric ...

48

Figure 5.8: Optimal state trajectories from the origin to [3, 3] with a final time of threeseconds.

Figure 5.9: Optimal state trajectories from the origin to [3, 3] with a final time of two seconds.Note the plateau in x velocity and the free-fall in z velocity.

Page 58: Dynamics and Control of a Quadrotor with Active Geometric ...

49

The animation frames from these two studies show an excellent comparison of the arm

angles magnitudes and spatial behavior of each trajectory. The overlaid animation frames of

the three second and two second trajectories are shown in Figures 5.10 and 5.11, respectively.

Figure 5.10: Overlaid animation frames for 2D trajectory animation with three second finaltime.

Page 59: Dynamics and Control of a Quadrotor with Active Geometric ...

50

Figure 5.11: Overlaid animation frames for 2D trajectory animation with two second finaltime.

It is worth noting the speed of arm movement in Figure 5.11. The frames are approxi-

mately 0.1 seconds apart, and significant arm movement is observed between frames. This

can be confirmed by noting the angular velocity in Figure 5.9 reaches magnitudes of approxi-

mately four radians per second. This angular velocity is likely not physically achievable with

the oscillatory period required to actuate the vehicle. This will be worth studying before

attempting to implement geometric control on a physical prototype to quantify limits arising

from available hardware performance saturation.

Page 60: Dynamics and Control of a Quadrotor with Active Geometric ...

51

5.4 3D Translation

The final tested version of the model adds three additional degrees of freedom: y, φ, and αφ,

as well as a single additional control channel, αφ. The 3D model was initialized at the origin

and commanded to move to [3, 3, 3]. The final time of two seconds was found to produce

extremely unrealistic behavior, and thus the optimization was run only for final times of five,

four, and three seconds. The results for five and four seconds were found to be very similar,

and therefore the five second case results have been omitted here for brevity. The optimal

controls for the four and three second cases can be found in Figures 5.12 and 5.13.

Figure 5.12: Optimal control inputs for arm angles and throttle for a four second move fromthe origin to [3, 3, 3].

Page 61: Dynamics and Control of a Quadrotor with Active Geometric ...

52

Figure 5.13: Optimal control inputs for arm angles and throttle for a three second movefrom the origin to [3, 3, 3].

Behavior is again very similar to that observed in the 2D case. The arm angles are

found to match perfectly, which matches intuition considering the vehicle is seeking equal

displacement in both x and y, and thus will utilize equal rotation in φ and θ. Throttle

modulation taking advantage of configuration begins to appear in the three second case as

well. The state trajectories for both of these cases are exceedingly similar in form, as seen

in Figures 5.14 and 5.15.

Page 62: Dynamics and Control of a Quadrotor with Active Geometric ...

53

Figure 5.14: Optimal state trajectories from the origin to [3, 3, 3] with a final time of fourseconds.

Figure 5.15: Optimal state trajectories from the origin to [3, 3, 3] with a final time of threeseconds.

Page 63: Dynamics and Control of a Quadrotor with Active Geometric ...

54

The quadrotor’s trajectory is visualized for the three second case only in Figure 5.16.

Figure 5.16: Overlaid animation frames for 3D trajectory animation with three second finaltime.

The quadrotor has thus been verified to be controllable in simulation in three dimensions

through simultaneous actuation of pitch and roll via arm angle modulation. It is worth not-

ing in this simple model, the vehicle is unforced in the ψ dimension and thus that degree of

freedom can be excluded, however to allow a physical prototype to respond to ψ perturba-

tions, an additional control input could be necessary, either in differential throttling between

the motor pairs spinning each direction, or though the use of thrust vanes installed beneath

the propellers. Additionally, this model excludes conservation of angular momentum quan-

Page 64: Dynamics and Control of a Quadrotor with Active Geometric ...

55

tified in the Iω term in the momentum form of Newton’s Second Law, assuming a relatively

constant momentum and/or low angular velocity in pitch and roll. Initial trials including

this conservation were run, but found due to symbolic substitution at each dynamic step

to slow the time per iteration to in excess of five minutes compared to the fractions of a

second observed in these studies necessary to execute tens or even hundreds of thousands of

iterations to reach convergence. This remains an area for future development in this topic.

Page 65: Dynamics and Control of a Quadrotor with Active Geometric ...

56

Chapter 6

CONCLUSION

6.1 Conclusion

This research has been a broad initial examination of the dynamics and unique capabilities

of the Robodub patented variable geometry morphing quadrotor. In Chapter 1, background

material was provided pertaining to the development of the industry and utilization of drones,

and in particular quadrotors. The chapter then examined proceeding work pertinent to

quadrotor control development, and proposed the concept of the morphing quadrotor, along

with its unique target capabilities.

In Chapter 2, mathematical and geometric definitions for the variable-geometry quadro-

tor were given. A full dynamic model was then derived assuming direct shape control.

Quantification of reaction torques acting on the body was troublesome, and therefore a

simplified symmetric model was constructed which continued to offer all unique target capa-

bilities intended for investigation in this study. The dynamics of this symmetric model were

found. Lastly, numerical values for a generic hobby-sized quadrotor were declared to allow

for numerical calculations going forward into control development.

Chapter 3 investigated control of the complete system using LQR with a linearization

about a hover at the origin with arms perpendicular and motors at the mid spans of the

arms. The controller was found to be stabilizing, although it did not return to the origin in

z translation. LQR controls were next calculated for the trirotor configuration to which the

quadrotor would transform in the event of a motor loss. The linearized dynamics produced a

controllability matrix which was full row rank, indicating the system should be controllable,

however the nonlinear dynamics were found to be unstable in every dimension when applying

the LQR gains. With the controllable matrix, LQR shows promise, however without a stable

Page 66: Dynamics and Control of a Quadrotor with Active Geometric ...

57

controller at this point, this remains an area for future work.

Chapter 4 proposed the utilization of Set Point LQR Gain Scheduling to control the

quadrotor during shape transitions by modeling it as a series of fixed-geometry quadrotors

and passing through the various gain sets during a transformation. A simple transformation

was modeled and an initial study using set points only at the beginning and end shapes

showed great promise for rapid restabilization of the system. Increasing to three set points

was found to dramatically decrease the pitch deviation experienced by the vehicle during

the transition, however further increases in set point quantity yield negligible improvement.

It was thus concluded three set points will be sufficient for simple shape transitions, al-

though more complex transitions or different LQR cost-weighting matrices may alter this

observation.

Chapter 5 considered the possibility of controlling the quadrotor using a single evenly-

distributed thrust, and actuating vehicle roll and pitch using arm rotations in place of differ-

ential throttling. This was testing using discrete time nonlinear optimal controls calculated

using the fmincon constrained numerical optimizer in MATLAB. The simulations verified

the system to be controllable using arm angle pitch and roll actuation. The results showed

strong control authority, with magnitudes of arm movements highly dependent on target

flight duration. Short time periods produced optimal inputs beyond the reasonable capabili-

ties of physical actuators however, so it will be important to consider actuator saturation for

determining limits of operation in a physical prototype. Additionally, calculation times were

long and therefore the control strategy is incapable of being applied in real time, however

the nonlinear controls could be used to develop optimal target trajectories about which a

real-time controller could be flown. The code is readily adaptable to various conditions and

situations, and therefore shows potential for future studies.

6.2 Recommendations for Future Work

The dynamic model is mostly complete and allowed for considerable development and evalu-

ation of unique vehicle capabilities. The next step for further developing the model will be to

Page 67: Dynamics and Control of a Quadrotor with Active Geometric ...

58

quantify the internal torques resulting from asymmetric shape changes, thus allowing the full

14 DOF dimensionality of the quadrotor to be modeled. Once this is accomplished, the next

major step to advance the dynamic model is to derive the model for the exact control chan-

nels to be used in the physical prototype, whether they be torques, velocities, voltage inputs,

or any combination thereof. The fidelity of the model can further be improved by accounting

for propeller dynamics including gyroscopic effects, lift interferences, and P-factor, as well

as accounting for drag forces acting on the body and propellers. A potential reference for

accounting these effects is [25], which develops a thorough dynamic model for a rigid-body

quadrotor.

The LQR controller was found to stabilize the quadrotor, however the controller did not

produce consistent returns to the origin. The first step necessary from this point is to identify

the root cause of the nonconvergence to the origin and address it. Once that is complete, the

LQR should be developed for additional flight maneuvers, beginning with simple trajectory

tracking. The linearization of the system in the trirotor configuration after recovery from

a motor loss should be scrutinized, as there is a suspected sign inversion resulting from an

yet to be identified error in the code. Further troubleshooting of this code should result in

controllability of the nonlinear trirotor model, as the controllability of the linearized model

was confirmed using the controllability matrix.

LQR Set Point Control showed promise for controlling the vehicle during shape transfor-

mations prescribed to meet mission objectives, and therefore should be further developed as

well. Similarly to the full model LQR, the controller was found to be stabilizing, but failed to

produce a return to the origin. If the source of this error is identified for the full model, the

correction will likely be similar in application to the set point model. Once the convergence

issue has been addressed, a wide variety of transition shapes and durations should be tested

to determine in which operations the three set-point result continues to be valid. Once a

strong understanding of set point requirements has been gathered, a library of gain sets

should be calculated for expected transitions between probable operating shapes, and the

gain library should be tested on a flying prototype using shape state feedback to determine

Page 68: Dynamics and Control of a Quadrotor with Active Geometric ...

59

which gain set is applicable.

The nonlinear control optimizer and simulator scripts are working and are written to be

easily modifiable. They are ready for additional tests such as modeling sliding motor control,

differential throttling, and any other desired combination of inputs, although increasing the

number of input channels does lead to exponential growth in run time durations. The

numerical accuracy of the simulations can be improved by converting the trajectory function

to again use 4th order Runge-Kutta, possibly through MATLAB’s ode45 function, as well as

running the model at higher control resolutions than the 41 point models used in Chapter

5. Considering arm angle pitch and roll actuation of the vehicle, optimal trajectories can

continue to be mapped using the numerical solver, however real-time control for physical

prototyping could readily be achived through the implementation of LQR on the variable

arm angle model.

Page 69: Dynamics and Control of a Quadrotor with Active Geometric ...

60

BIBLIOGRAPHY

[1] D. Boddington, Radio-controlled Model Aircraft. Crowood Press, 2004.

[2] R. Whittle, Predator: The Secret Origins of the Drone Revolution. Macmillan, 2014.

[3] U.S. Air Force, “RQ-11B Raven.” http://www.af.mil/AboutUs/FactSheets/Display/tabid/224/Article/104533/rq-11b-raven.aspx, October 2007.

[4] R. Varrier, “Drones are providing film and tv viewers a new perspective onthe action.” http://www.latimes.com/entertainment/envelope/cotown/la-et-ct-drones-hollywood-20151008-story.html, October 2015.

[5] Amazon, “Amazon prime air.” http://www.amazon.com/b?node=8037720011, Febru-ary 2016.

[6] DHL, “Dhl parcelcopter launches initial operations for research purposes.”http://www.dhl.com/en/press/releases, September 2014.

[7] BBC, “Google plans drone delivery service for 2017.”http://www.bbc.com/news/technology-34704868, November 2015.

[8] “Drone racing league.” http://thedroneracingleague.com/, February 2016.

[9] S. Bouabdallah, A. Noth, and R. Siegwart, “Pid vs lq control techniques applied toan indoor micro quadrotor,” in Intelligent Robots and Systems, 2004. (IROS 2004).Proceedings. 2004 IEEE/RSJ International Conference on, vol. 3, pp. 2451–2456 vol.3,Sept 2004.

[10] N. Michael, D. Mellinger, Q. Lindsey, and V. Kumar, “The grasp multiple micro-uavtestbed,” IEEE Robotics Automation Magazine, vol. 17, pp. 56–65, Sept 2010.

[11] D. Mellinger, N. Michael, M. Shomin, and V. Kumar, “Recent advances in quadrotorcapabilities,” in Robotics and Automation (ICRA), 2011 IEEE International Conferenceon, pp. 2964–2965, May 2011.

[12] D. Mellinger and V. Kumar, “Minimum snap trajectory generation and control forquadrotors,” in Robotics and Automation (ICRA), 2011 IEEE International Conferenceon, pp. 2520–2525, May 2011.

Page 70: Dynamics and Control of a Quadrotor with Active Geometric ...

61

[13] S. Sadr, S. A. A. Moosavian, and P. Zarafshan, “Dynamics modeling and control of aquadrotor with swing load,” Journal of Robotics, vol. 2014, 2014.

[14] A. Faust, I. Palunko, P. Cruz, R. Fierro, and L. Tapia, “Learning swing-free trajectoriesfor uavs with a suspended load,” in Robotics and Automation (ICRA), 2013 IEEEInternational Conference on, pp. 4902–4909, May 2013.

[15] A. E. Jimenez-Cano, J. Martin, G. Heredia, A. Ollero, and R. Cano, “Control of an aerialrobot with multi-link arm for assembly tasks,” in Robotics and Automation (ICRA),2013 IEEE International Conference on, pp. 4916–4921, May 2013.

[16] J. Villagomez, M. Vargas, and F. Rubio, “Backstepping and sliding-mode techniquesapplied to an underactuated camera onboard a rotorcraft mav,” in 3rd Workshop onVisual Control of Mobile Robots, Vicomor, pp. 1–7, 2014.

[17] J. P. Dyhr, N. J. Cowan, D. J. Colmenares, K. A. Morgansen, and T. L. Daniel, “Au-tostabilizing airframe articulation: Animal inspired air vehicle control,” in Decision andControl (CDC), 2012 IEEE 51st Annual Conference on, pp. 3715–3720, IEEE, 2012.

[18] J. D. Becker, Modeling and Control of a Quadrotor with Dynamic Inertia. PhD thesis,2013.

[19] F. Senkul and E. Altug, “Modeling and control of a novel tilt - roll rotor quadrotor uav,”in Unmanned Aircraft Systems (ICUAS), 2013 International Conference on, pp. 1071–1076, May 2013.

[20] K. T. Oner, E. Cetinsoy, M. Unel, M. F. Aksit, I. Kandemir, and K. Gulez, “Dynamicmodel and control of a new quadrotor unmanned aerial vehicle with tilt-wing mecha-nism,” World Academy of Science, Engineering and Technology, vol. 45, 2008.

[21] S. Datta, “Multicopters with variable flight characteristics,” July 2015.

[22] L. M. Argentim, W. C. Rezende, P. E. Santos, and R. A. Aguiar, “Pid, lqr and lqr-pid ona quadcopter platform,” in Informatics, Electronics Vision (ICIEV), 2013 InternationalConference on, pp. 1–6, May 2013.

[23] M. W. Mueller and R. D’Andrea, “Stability and control of a quadrocopter despite thecomplete loss of one, two, or three propellers,” in Robotics and Automation (ICRA),2014 IEEE International Conference on, pp. 45–52, IEEE, 2014.

[24] D. W. Yoo, H. D. Oh, D. Y. Won, and M. J. Tahk, “Dynamic modeling and controlsystem design for tri-rotor uav,” in Systems and Control in Aeronautics and Astronautics(ISSCAA), 2010 3rd International Symposium on, pp. 762–767, June 2010.

Page 71: Dynamics and Control of a Quadrotor with Active Geometric ...

62

[25] A. Tayebi and S. McGilvray, “Attitude stabilization of a vtol quadrotor aircraft,” IEEETransactions on control systems technology, vol. 14, no. 3, pp. 562–571, 2006.

Page 72: Dynamics and Control of a Quadrotor with Active Geometric ...

63

Appendix A

FULL FORM DYNAMIC EQUATIONS

This appendix shows the full-form symbolic dynamic equations for the simplified sym-

metric model, including both the CG-frame and body-frame translational dynamics. All

equations were calculated in Mathematica using the process in Chapter 2.3 and 2.4.

A.1 ¨xCG

(sθ(−uA − uB − uC − uD))/(marmA +marmB +marmC +marmD +mbody +mmotA +mmotB +

mmotC +mmotD)

A.2 ¨yCG

(cθsφ(uA + uB + uC + uD))/(marmA +marmB +marmC +marmD +mbody +mmotA +mmotB +

mmotC +mmotD)

A.3 ¨zCG

g− (cθcφ(uA+uB +uC +uD))/(marmA+marmB +marmC +marmD +mbody +mmotA+mmotB +

mmotC +mmotD)

A.4 x

(−cθcψ(2mmotAdAcαφ−2mmotC dAcαφ−4mmotAdAαφsαφ +4mmotC dAαφsαφ−2mmotAdAαφsαφ−

2mmotAdAαφ2cαφ + 2mmotCdAαφsαφ + 2mmotCdAαφ

2cαφ + 2mmotBdBsαθ + 2mmotDdBsαθ +

4(mmotB + mmotD)dBαθcαθ + αθ2sαθ(−(2dB(mmotB + mmotD) + lBmarmB + lDmarmD)) +

2mmotBdBαθcαθ + 2mmotDdBαθcαθ − lAmarmAαφsαφ − lAmarmAαφ2cαφ + lBmarmBαθcαθ +

lCmarmCαφsαφ + lCmarmCαφ2cαφ + lDmarmDαθcαθ) + (sθcψsφ + sψcφ)(2mmotAdAsαφ +

Page 73: Dynamics and Control of a Quadrotor with Active Geometric ...

64

2mmotC dAsαφ + 4mmotAdAαφcαφ + 4mmotC dAαφcαφ + 2mmotAdAαφcαφ − 2mmotAdAαφ2sαφ +

2mmotCdAαφcαφ − 2mmotCdAαφ2sαφ − 2mmotBdBcαθ + 2mmotDdBcαθ + 4(mmotB −

mmotD)dBαθsαθ + αθ2cαθ(2dB(mmotB −mmotD) + lBmarmB − lDmarmD) + 2mmotBdBαθsαθ −

2mmotDdBαθsαθ + lAmarmAαφcαφ − lAmarmAαφ2sαφ + lBmarmBαθsαθ + lCmarmCαφcαφ −

lCmarmCαφ2sαφ − lDmarmDαθsαθ)− 2sθ(uA + uB + uC + uD))/(2(marmA +marmB +marmC +

marmD +mbody +mmotA +mmotB +mmotC +mmotD))

A.5 y

(cθsψ(2mmotAdAcαφ − 2mmotC dAcαφ − 4mmotAdAαφsαφ + 4mmotC dAαφsαφ − 2mmotAdAαφsαφ −

2mmotAdAαφ2cαφ + 2mmotCdAαφsαφ + 2mmotCdAαφ

2cαφ + 2mmotBdBsαθ + 2mmotDdBsαθ +

4(mmotB + mmotD)dBαθcαθ + αθ2sαθ(−(2dB(mmotB + mmotD) + lBmarmB + lDmarmD)) +

2mmotBdBαθcαθ + 2mmotDdBαθcαθ − lAmarmAαφsαφ − lAmarmAαφ2cαφ + lBmarmBαθcαθ +

lCmarmCαφsαφ + lCmarmCαφ2cαφ + lDmarmDαθcαθ) + (cψcφ − sθsψsφ)(2mmotAdAsαφ +

2mmotC dAsαφ + 4mmotAdAαφcαφ + 4mmotC dAαφcαφ + 2mmotAdAαφcαφ − 2mmotAdAαφ2sαφ +

2mmotCdAαφcαφ − 2mmotCdAαφ2sαφ − 2mmotBdBcαθ + 2mmotDdBcαθ + 4(mmotB −

mmotD)dBαθsαθ + αθ2cαθ(2dB(mmotB −mmotD) + lBmarmB − lDmarmD) + 2mmotBdBαθsαθ −

2mmotDdBαθsαθ + lAmarmAαφcαφ − lAmarmAαφ2sαφ + lBmarmBαθsαθ + lCmarmCαφcαφ −

lCmarmCαφ2sαφ− lDmarmDαθsαθ)+2cθsφ(uA+uB +uC +uD))/(2(marmA+marmB +marmC +

marmD +mbody +mmotA +mmotB +mmotC +mmotD))

A.6 z

−(cθsφ(2mmotAdAsαφ +2mmotC dAsαφ +4mmotAdAαφcαφ +4mmotC dAαφcαφ +2mmotAdAαφcαφ−

2mmotAdAαφ2sαφ + 2mmotCdAαφcαφ − 2mmotCdAαφ

2sαφ − 2mmotBdBcαθ + 2mmotDdBcαθ +

4(mmotB − mmotD)dBαθsαθ + αθ2cαθ(2dB(mmotB − mmotD) + lBmarmB − lDmarmD) +

2mmotBdBαθsαθ − 2mmotDdBαθsαθ + lAmarmAαφcαφ − lAmarmAαφ2sαφ + lBmarmBαθsαθ +

lCmarmCαφcαφ − lCmarmCαφ2sαφ − lDmarmDαθsαθ))/(2(marmA + marmB + marmC +

marmD + mbody + mmotA + mmotB + mmotC + mmotD)) − (sθ(2mmotAdAcαφ − 2mmotC dAcαφ −

4mmotAdAαφsαφ + 4mmotC dAαφsαφ − 2mmotAdAαφsαφ − 2mmotAdAαφ2cαφ + 2mmotCdAαφsαφ +

Page 74: Dynamics and Control of a Quadrotor with Active Geometric ...

65

2mmotCdAαφ2cαφ + 2mmotBdBsαθ + 2mmotDdBsαθ + 4(mmotB + mmotD)dBαθcαθ +

αθ2sαθ(−(2dB(mmotB+mmotD)+ lBmarmB+ lDmarmD))+2mmotBdBαθcαθ +2mmotDdBαθcαθ−

lAmarmAαφsαφ − lAmarmAαφ2cαφ + lBmarmBαθcαθ + lCmarmCαφsαφ + lCmarmCαφ

2cαφ +

lDmarmDαθcαθ))/(2(marmA +marmB +marmC +marmD +mbody +mmotA +mmotB +mmotC +

mmotD)) + g − (cθcφ(uA + uB + uC + uD))/(marmA + marmB + marmC + marmD + mbody +

mmotA +mmotB +mmotC +mmotD)

A.7 φ

(12((uA + uB + uC + uD)((−bBuB + bDuD − (uB − uD)cαθdB + (uA + uC)dAsαφ)/(uA + uB +

uC +uD)− (−2bBmarmB− lBcαθmarmB +2bDmarmD−2bBmmotB +2bDmmotD + lDmarmDcαθ −

2(mmotB−mmotD)cαθdB + lAmarmAsαφ + lCmarmCsαφ + 2(mmotA +mmotC)dAsαφ)/(2(marmA +

marmB+marmC+marmD+mbody+mmotA+mmotB+mmotC+mmotD)))− 112

((6mmotB(2bDmarmA−

lAsαφmarmA + 2bBmarmB + 2bDmarmB + 2bDmarmC + 2bDmbody + 2bDmmotA + 2bBmmotB +

2bDmmotB + 2bDmmotC + lBmarmBcαθ − lDmarmDcαθ + 2(marmA +marmB +marmC +marmD +

mbody+mmotA+2mmotB+mmotC)cαθdB−lCmarmCsαφ−2(mmotA+mmotC)dAsαφ)(−2(mmotA+

mmotC)sαφ dA + 2(marmA + marmB + marmC + marmD + mbody + mmotA + 2mmotB +

mmotC)cαθ dB − lBmarmBsαθ αθ + lDmarmDsαθ αθ − 2(marmA + marmB + marmC + marmD +

mbody + mmotA + 2mmotB + mmotC)dBsαθ αθ − lAmarmAcαφαφ − lCmarmCcαφαφ − 2(mmotA +

mmotC)cαφdAαφ))/((marmA +marmB +marmC +marmD +mbody +mmotA +mmotB +mmotC +

mmotD)2) + (6mmotD(2bDmarmA − lAsαφmarmA + 2bBmarmB + 2bDmarmB + 2bDmarmC +

2bDmbody + 2bDmmotA + 2bBmmotB + 2bDmmotB + 2bDmmotC + lBmarmBcαθ − lDmarmDcαθ +

2(marmA+marmB+marmC +marmD+mbody+mmotA+2mmotB+mmotC)cαθdB− lCmarmCsαφ−

2(mmotA +mmotC)dAsαφ)(−2(mmotA +mmotC)sαφ dA + 2(marmA +marmB +marmC +marmD +

mbody + mmotA + 2mmotB + mmotC)cαθ dB − lBmarmBsαθ αθ + lDmarmDsαθ αθ − 2(marmA +

marmB + marmC + marmD + mbody + mmotA + 2mmotB + mmotC)dBsαθ αθ − lAmarmAcαφαφ −

lCmarmCcαφαφ− 2(mmotA +mmotC)cαφdAαφ))/((marmA +marmB +marmC +marmD +mbody +

mmotA + mmotB + mmotC + mmotD)2) + (6mbody(−2bBmarmB − lBcαθmarmB + 2bDmarmD −

2bBmmotB+2bDmmotD+ lDmarmDcαθ−2(mmotB−mmotD)cαθdB+ lAmarmAsαφ + lCmarmCsαφ +

Page 75: Dynamics and Control of a Quadrotor with Active Geometric ...

66

2(mmotA+mmotC)dAsαφ)(2(mmotA+mmotC)sαφ dA−2(mmotB−mmotD)cαθ dB+lBmarmBsαθ αθ−

lDmarmDsαθ αθ + 2(mmotB −mmotD)dBsαθ αθ + lAmarmAcαφαφ + lCmarmCcαφαφ + 2(mmotA +

mmotC)cαφdAαφ))/((marmA +marmB +marmC +marmD +mbody +mmotA +mmotB +mmotC +

mmotD)2) + (6mmotA(−2bBmarmB − lBcαθmarmB + 2bDmarmD − 2bBmmotB + 2bDmmotD +

lDmarmDcαθ − 2(mmotB −mmotD)cαθdB + lAmarmAsαφ + lCmarmCsαφ − 2(marmA + marmB +

marmC +marmD +mbody +mmotB +mmotD)dAsαφ)(−2(marmA +marmB +marmC +marmD +

mbody +mmotB +mmotD)sαφ dA− 2(mmotB −mmotD)cαθ dB + lBmarmBsαθ αθ− lDmarmDsαθ αθ +

2(mmotB −mmotD)dBsαθ αθ + lAmarmAcαφαφ + lCmarmCcαφαφ− 2(marmA +marmB +marmC +

marmD +mbody +mmotB +mmotD)cαφdAαφ))/((marmA +marmB +marmC +marmD +mbody +

mmotA + mmotB + mmotC + mmotD)2) + (6mmotC(−2bBmarmB − lBcαθmarmB + 2bDmarmD −

2bBmmotB+2bDmmotD+ lDmarmDcαθ−2(mmotB−mmotD)cαθdB+ lAmarmAsαφ + lCmarmCsαφ−

2(marmA +marmB +marmC +marmD +mbody +mmotB +mmotD)dAsαφ)(−2(marmA +marmB +

marmC +marmD+mbody +mmotB +mmotD)sαφ dA−2(mmotB−mmotD)cαθ dB + lBmarmBsαθ αθ−

lDmarmDsαθ αθ + 2(mmotB −mmotD)dBsαθ αθ + lAmarmAcαφαφ + lCmarmCcαφαφ − 2(marmA +

marmB +marmC +marmD +mbody +mmotB +mmotD)cαφdAαφ))/((marmA +marmB +marmC +

marmD+mbody+mmotA+mmotB +mmotC +mmotD)2)+marmD(6(2bD+ lDcαθ− (−2bBmarmB−

lBcαθmarmB + 2bDmarmD−2bBmmotB + 2bDmmotD + lDmarmDcαθ −2(mmotB−mmotD)cαθdB +

lAmarmAsαφ + lCmarmCsαφ + 2(mmotA +mmotC)dAsαφ)/(marmA +marmB +marmC +marmD +

mbody +mmotA+mmotB +mmotC +mmotD))(−lDsαθ αθ− (2(mmotA+mmotC)sαφ dA−2(mmotB−

mmotD)cαθ dB+lBmarmBsαθ αθ−lDmarmDsαθ αθ+2(mmotB−mmotD)dBsαθ αθ+lAmarmAcαφαφ+

lCmarmCcαφαφ + 2(mmotA +mmotC)cαφdAαφ)/(marmA +marmB +marmC +marmD +mbody +

mmotA+mmotB+mmotC+mmotD))− lD2s2αθ αθ)+marmA(s2αφαφlA2+6(lAsαφ−(−2bBmarmB−

lBcαθmarmB + 2bDmarmD−2bBmmotB + 2bDmmotD + lDmarmDcαθ −2(mmotB−mmotD)cαθdB +

lAmarmAsαφ + lCmarmCsαφ + 2(mmotA +mmotC)dAsαφ)/(marmA +marmB +marmC +marmD +

mbody +mmotA +mmotB +mmotC +mmotD))(lAcαφαφ− (2(mmotA +mmotC)sαφ dA− 2(mmotB −

mmotD)cαθ dB+lBmarmBsαθ αθ−lDmarmDsαθ αθ+2(mmotB−mmotD)dBsαθ αθ+lAmarmAcαφαφ+

lCmarmCcαφαφ + 2(mmotA +mmotC)cαφdAαφ)/(marmA +marmB +marmC +marmD +mbody +

mmotA+mmotB+mmotC+mmotD)))+marmC(s2αφαφlC2+6(lCsαφ−(−2bBmarmB−lBcαθmarmB+

Page 76: Dynamics and Control of a Quadrotor with Active Geometric ...

67

2bDmarmD−2bBmmotB + 2bDmmotD + lDmarmDcαθ −2(mmotB−mmotD)cαθdB + lAmarmAsαφ +

lCmarmCsαφ +2(mmotA+mmotC)dAsαφ)/(marmA+marmB+marmC +marmD+mbody+mmotA+

mmotB +mmotC +mmotD))(lCcαφαφ − (2(mmotA +mmotC)sαφ dA − 2(mmotB −mmotD)cαθ dB +

lBmarmBsαθ αθ−lDmarmDsαθ αθ+2(mmotB−mmotD)dBsαθ αθ+lAmarmAcαφαφ+lCmarmCcαφαφ+

2(mmotA +mmotC)cαφdAαφ)/(marmA +marmB +marmC +marmD +mbody +mmotA +mmotB +

mmotC + mmotD))) + 12marmB((bB + 12lBcαθ + (−2bBmarmB − lBcαθmarmB + 2bDmarmD −

2bBmmotB+2bDmmotD+ lDmarmDcαθ−2(mmotB−mmotD)cαθdB+ lAmarmAsαφ + lCmarmCsαφ +

2(mmotA +mmotC)dAsαφ)/(2(marmA +marmB +marmC +marmD +mbody +mmotA +mmotB +

mmotC + mmotD)))((2(mmotA + mmotC)sαφ dA − 2(mmotB − mmotD)cαθ dB + lBmarmBsαθ αθ −

lDmarmDsαθ αθ + 2(mmotB −mmotD)dBsαθ αθ + lAmarmAcαφαφ + lCmarmCcαφαφ + 2(mmotA +

mmotC)cαφdAαφ)/(marmA + marmB + marmC + marmD + mbody + mmotA + mmotB + mmotC +

mmotD) − lBsαθ αθ) − 16lB

2cαθsαθ αθ))φ))/((3mmotB(2bDmarmA − lAsαφmarmA + 2bBmarmB +

2bDmarmB + 2bDmarmC + 2bDmbody + 2bDmmotA + 2bBmmotB + 2bDmmotB + 2bDmmotC +

lBmarmBcαθ− lDmarmDcαθ +2(marmA+marmB +marmC +marmD +mbody +mmotA+2mmotB +

mmotC)cαθdB−lCmarmCsαφ−2(mmotA+mmotC)dAsαφ)2)/((marmA+marmB+marmC+marmD+

mbody+mmotA+mmotB+mmotC+mmotD)2)+(3mmotD(2bDmarmA−lAsαφmarmA+2bBmarmB+

2bDmarmB + 2bDmarmC + 2bDmbody + 2bDmmotA + 2bBmmotB + 2bDmmotB + 2bDmmotC +

lBmarmBcαθ− lDmarmDcαθ +2(marmA+marmB +marmC +marmD +mbody +mmotA+2mmotB +

mmotC)cαθdB−lCmarmCsαφ−2(mmotA+mmotC)dAsαφ)2)/((marmA+marmB+marmC+marmD+

mbody+mmotA+mmotB+mmotC+mmotD)2)+(3mmotA(−2bBmarmB−lBcαθmarmB+2bDmarmD−

2bBmmotB+2bDmmotD+ lDmarmDcαθ−2(mmotB−mmotD)cαθdB+ lAmarmAsαφ + lCmarmCsαφ−

2(marmA +marmB +marmC +marmD +mbody +mmotB +mmotD)dAsαφ)2)/((marmA +marmB +

marmC + marmD + mbody + mmotA + mmotB + mmotC + mmotD)2) + (3mmotC(−2bBmarmB −

lBcαθmarmB + 2bDmarmD−2bBmmotB + 2bDmmotD + lDmarmDcαθ −2(mmotB−mmotD)cαθdB +

lAmarmAsαφ + lCmarmCsαφ − 2(marmA + marmB + marmC + marmD + mbody + mmotB +

mmotD)dAsαφ)2)/((marmA + marmB + marmC + marmD + mbody + mmotA + mmotB + mmotC +

mmotD)2) +mbody(hbody2 + 3ρbody

2 + (3(−2bBmarmB − lBcαθmarmB + 2bDmarmD− 2bBmmotB +

2bDmmotD + lDmarmDcαθ −2(mmotB−mmotD)cαθdB + lAmarmAsαφ + lCmarmCsαφ + 2(mmotA +

Page 77: Dynamics and Control of a Quadrotor with Active Geometric ...

68

mmotC)dAsαφ)2)/((marmA + marmB + marmC + marmD + mbody + mmotA + mmotB + mmotC +

mmotD)2)) + marmD(lD2c2αθ + 3(2bD + lDcαθ − (−2bBmarmB − lBcαθmarmB + 2bDmarmD −

2bBmmotB+2bDmmotD+ lDmarmDcαθ−2(mmotB−mmotD)cαθdB+ lAmarmAsαφ + lCmarmCsαφ +

2(mmotA + mmotC)dAsαφ)/(marmA + marmB + marmC + marmD + mbody + mmotA + mmotB +

mmotC + mmotD))2) + marmA(lA2s2αφ + 3(lAsαφ − (−2bBmarmB − lBcαθmarmB + 2bDmarmD −

2bBmmotB+2bDmmotD+ lDmarmDcαθ−2(mmotB−mmotD)cαθdB+ lAmarmAsαφ + lCmarmCsαφ +

2(mmotA + mmotC)dAsαφ)/(marmA + marmB + marmC + marmD + mbody + mmotA + mmotB +

mmotC + mmotD))2) + marmC(lC2s2αφ + 3(lCsαφ − (−2bBmarmB − lBcαθmarmB + 2bDmarmD −

2bBmmotB+2bDmmotD+ lDmarmDcαθ−2(mmotB−mmotD)cαθdB+ lAmarmAsαφ + lCmarmCsαφ +

2(mmotA+mmotC)dAsαφ)/(marmA+marmB+marmC+marmD+mbody+mmotA+mmotB+mmotC+

mmotD))2) + 12marmB( 112lB

2c2αθ + (bB + 12lBcαθ + (−2bBmarmB − lBcαθmarmB + 2bDmarmD −

2bBmmotB+2bDmmotD+ lDmarmDcαθ−2(mmotB−mmotD)cαθdB+ lAmarmAsαφ + lCmarmCsαφ +

2(mmotA +mmotC)dAsαφ)/(2(marmA +marmB +marmC +marmD +mbody +mmotA +mmotB +

mmotC +mmotD)))2))

A.8 θ

(12((uA+uB +uC +uD)((bAuA− bCuC + (uA−uC)cαφdA+ (uB +uD)dBsαθ)/(uA+uB +uC +

uD)−(2bAmarmA+lAcαφmarmA−2bCmarmC+2bAmmotA−2bCmmotC−lCmarmCcαφ+2(mmotA−

mmotC)cαφdA + lBmarmBsαθ + lDmarmDsαθ + 2(mmotB +mmotD)dBsαθ)/(2(marmA +marmB +

marmC + marmD + mbody + mmotA + mmotB + mmotC + mmotD))) − 112

((6mmotB(2bAmarmA +

lAcαφmarmA− 2bCmarmC + 2bAmmotA− 2bCmmotC − lCmarmCcαφ + 2(mmotA−mmotC)cαφdA +

lBmarmBsαθ + lDmarmDsαθ − 2(marmA + marmB + marmC + marmD + mbody + mmotA +

mmotC)dBsαθ)(2(mmotA − mmotC)cαφ dA − 2(marmA + marmB + marmC + marmD + mbody +

mmotA + mmotC)sαθ dB + lBmarmBcαθ αθ + lDmarmDcαθ αθ − 2(marmA + marmB + marmC +

marmD + mbody + mmotA + mmotC)cαθdBαθ − lAmarmAsαφαφ + lCmarmCsαφαφ − 2(mmotA −

mmotC)dAsαφαφ))/((marmA +marmB +marmC +marmD +mbody +mmotA +mmotB +mmotC +

mmotD)2) + (6mmotD(2bAmarmA + lAcαφmarmA − 2bCmarmC + 2bAmmotA − 2bCmmotC −

lCmarmCcαφ + 2(mmotA −mmotC)cαφdA + lBmarmBsαθ + lDmarmDsαθ − 2(marmA + marmB +

Page 78: Dynamics and Control of a Quadrotor with Active Geometric ...

69

marmC + marmD + mbody + mmotA + mmotC)dBsαθ)(2(mmotA − mmotC)cαφ dA − 2(marmA +

marmB +marmC +marmD +mbody +mmotA +mmotC)sαθ dB + lBmarmBcαθ αθ + lDmarmDcαθ αθ−

2(marmA + marmB + marmC + marmD + mbody + mmotA + mmotC)cαθdBαθ − lAmarmAsαφαφ +

lCmarmCsαφαφ− 2(mmotA−mmotC)dAsαφαφ))/((marmA +marmB +marmC +marmD +mbody +

mmotA + mmotB + mmotC + mmotD)2) + (6mbody(2bAmarmA + lAcαφmarmA − 2bCmarmC +

2bAmmotA−2bCmmotC− lCmarmCcαφ +2(mmotA−mmotC)cαφdA+ lBmarmBsαθ + lDmarmDsαθ +

2(mmotB+mmotD)dBsαθ)(2(mmotA−mmotC)cαφ dA+2(mmotB+mmotD)sαθ dB+lBmarmBcαθ αθ+

lDmarmDcαθ αθ + 2(mmotB + mmotD)cαθdBαθ − lAmarmAsαφαφ + lCmarmCsαφαφ − 2(mmotA −

mmotC)dAsαφαφ))/((marmA +marmB +marmC +marmD +mbody +mmotA +mmotB +mmotC +

mmotD)2) + (6mmotC(2bAmarmA + 2bCmarmA + lAcαφmarmA + 2bCmarmB + 2bCmarmD +

2bCmbody+2bAmmotA+2bCmmotA+2bCmmotB+2bCmmotD−lCmarmCcαφ+2(marmA+marmB+

marmC + marmD + mbody + 2mmotA + mmotB + mmotD)cαφdA + lBmarmBsαθ + lDmarmDsαθ +

2(mmotB +mmotD)dBsαθ)(2(marmA +marmB +marmC +marmD +mbody + 2mmotA +mmotB +

mmotD)cαφ dA + 2(mmotB + mmotD)sαθ dB + lBmarmBcαθ αθ + lDmarmDcαθ αθ + 2(mmotB +

mmotD)cαθdBαθ − lAmarmAsαφαφ + lCmarmCsαφαφ − 2(marmA + marmB + marmC + marmD +

mbody + 2mmotA +mmotB +mmotD)dAsαφαφ))/((marmA +marmB +marmC +marmD +mbody +

mmotA + mmotB + mmotC + mmotD)2) + 24mmotA(bA + cαφdA − (2bAmarmA + lAcαφmarmA −

2bCmarmC + 2bAmmotA− 2bCmmotC − lCmarmCcαφ + 2(mmotA−mmotC)cαφdA + lBmarmBsαθ +

lDmarmDsαθ + 2(mmotB + mmotD)dBsαθ)/(2(marmA + marmB + marmC + marmD + mbody +

mmotA+mmotB +mmotC +mmotD)))(cαφ dA−dAsαφαφ− (2(mmotA−mmotC)cαφ dA+2(mmotB +

mmotD)sαθ dB+lBmarmBcαθ αθ+lDmarmDcαθ αθ+2(mmotB+mmotD)cαθdBαθ−lAmarmAsαφαφ+

lCmarmCsαφαφ− 2(mmotA−mmotC)dAsαφαφ)/(2(marmA +marmB +marmC +marmD +mbody +

mmotA+mmotB+mmotC+mmotD)))+marmB(s2αθ αθlB2+6(lBsαθ−(2bAmarmA+ lAcαφmarmA−

2bCmarmC + 2bAmmotA− 2bCmmotC − lCmarmCcαφ + 2(mmotA−mmotC)cαφdA + lBmarmBsαθ +

lDmarmDsαθ +2(mmotB+mmotD)dBsαθ)/(marmA+marmB+marmC +marmD+mbody+mmotA+

mmotB +mmotC +mmotD))(lBcαθ αθ − (2(mmotA −mmotC)cαφ dA + 2(mmotB +mmotD)sαθ dB +

lBmarmBcαθ αθ+lDmarmDcαθ αθ+2(mmotB+mmotD)cαθdBαθ−lAmarmAsαφαφ+lCmarmCsαφαφ−

2(mmotA −mmotC)dAsαφαφ)/(marmA +marmB +marmC +marmD +mbody +mmotA +mmotB +

Page 79: Dynamics and Control of a Quadrotor with Active Geometric ...

70

mmotC + mmotD))) + marmD(s2αθ αθlD2 + 6(lDsαθ − (2bAmarmA + lAcαφmarmA − 2bCmarmC +

2bAmmotA−2bCmmotC− lCmarmCcαφ +2(mmotA−mmotC)cαφdA+ lBmarmBsαθ + lDmarmDsαθ +

2(mmotB+mmotD)dBsαθ)/(marmA+marmB+marmC+marmD+mbody+mmotA+mmotB+mmotC+

mmotD))(lDcαθ αθ − (2(mmotA − mmotC)cαφ dA + 2(mmotB + mmotD)sαθ dB + lBmarmBcαθ αθ +

lDmarmDcαθ αθ + 2(mmotB + mmotD)cαθdBαθ − lAmarmAsαφαφ + lCmarmCsαφαφ − 2(mmotA −

mmotC)dAsαφαφ)/(marmA + marmB + marmC + marmD + mbody + mmotA + mmotB + mmotC +

mmotD))) + 12marmA(2(bA + 12lAcαφ − (2bAmarmA + lAcαφmarmA − 2bCmarmC + 2bAmmotA −

2bCmmotC − lCmarmCcαφ + 2(mmotA−mmotC)cαφdA + lBmarmBsαθ + lDmarmDsαθ + 2(mmotB +

mmotD)dBsαθ)/(2(marmA + marmB + marmC + marmD + mbody + mmotA + mmotB + mmotC +

mmotD)))(−12lAsαφαφ−(2(mmotA−mmotC)cαφ dA+2(mmotB +mmotD)sαθ dB + lBmarmBcαθ αθ+

lDmarmDcαθ αθ + 2(mmotB + mmotD)cαθdBαθ − lAmarmAsαφαφ + lCmarmCsαφαφ − 2(mmotA −

mmotC)dAsαφαφ)/(2(marmA +marmB +marmC +marmD +mbody +mmotA +mmotB +mmotC +

mmotD)))− 16lA

2cαφsαφαφ) + 12marmC((bC + 12lCcαφ + (2bAmarmA+ lAcαφmarmA−2bCmarmC +

2bAmmotA−2bCmmotC− lCmarmCcαφ +2(mmotA−mmotC)cαφdA+ lBmarmBsαθ + lDmarmDsαθ +

2(mmotB +mmotD)dBsαθ)/(2(marmA +marmB +marmC +marmD +mbody +mmotA +mmotB +

mmotC + mmotD)))((2(mmotA − mmotC)cαφ dA + 2(mmotB + mmotD)sαθ dB + lBmarmBcαθ αθ +

lDmarmDcαθ αθ + 2(mmotB + mmotD)cαθdBαθ − lAmarmAsαφαφ + lCmarmCsαφαφ − 2(mmotA −

mmotC)dAsαφαφ)/(marmA + marmB + marmC + marmD + mbody + mmotA + mmotB + mmotC +

mmotD) − lCsαφαφ) − 16lC

2cαφsαφαφ))θ))/((3mmotB(2bAmarmA + lAcαφmarmA − 2bCmarmC +

2bAmmotA−2bCmmotC− lCmarmCcαφ +2(mmotA−mmotC)cαφdA+ lBmarmBsαθ + lDmarmDsαθ−

2(marmA +marmB +marmC +marmD +mbody +mmotA +mmotC)dBsαθ)2)/((marmA +marmB +

marmC + marmD + mbody + mmotA + mmotB + mmotC + mmotD)2) + (3mmotD(2bAmarmA +

lAcαφmarmA− 2bCmarmC + 2bAmmotA− 2bCmmotC − lCmarmCcαφ + 2(mmotA−mmotC)cαφdA +

lBmarmBsαθ + lDmarmDsαθ − 2(marmA + marmB + marmC + marmD + mbody + mmotA +

mmotC)dBsαθ)2)/((marmA + marmB + marmC + marmD + mbody + mmotA + mmotB + mmotC +

mmotD)2)+(3mmotC(2bAmarmA+2bCmarmA+lAcαφmarmA+2bCmarmB+2bCmarmD+2bCmbody+

2bAmmotA + 2bCmmotA + 2bCmmotB + 2bCmmotD− lCmarmCcαφ + 2(marmA +marmB +marmC +

marmD +mbody + 2mmotA +mmotB +mmotD)cαφdA + lBmarmBsαθ + lDmarmDsαθ + 2(mmotB +

Page 80: Dynamics and Control of a Quadrotor with Active Geometric ...

71

mmotD)dBsαθ)2)/((marmA + marmB + marmC + marmD + mbody + mmotA + mmotB + mmotC +

mmotD)2) + 12mmotA(bA + cαφdA − (2bAmarmA + lAcαφmarmA − 2bCmarmC + 2bAmmotA −

2bCmmotC − lCmarmCcαφ + 2(mmotA−mmotC)cαφdA + lBmarmBsαθ + lDmarmDsαθ + 2(mmotB +

mmotD)dBsαθ)/(2(marmA + marmB + marmC + marmD + mbody + mmotA + mmotB + mmotC +

mmotD)))2 +mbody(hbody2 + 3ρbody

2 + (3(2bAmarmA + lAcαφmarmA − 2bCmarmC + 2bAmmotA −

2bCmmotC − lCmarmCcαφ + 2(mmotA−mmotC)cαφdA + lBmarmBsαθ + lDmarmDsαθ + 2(mmotB +

mmotD)dBsαθ)2)/((marmA + marmB + marmC + marmD + mbody + mmotA + mmotB + mmotC +

mmotD)2)) +marmB(lB2s2αθ + 3(lBsαθ − (2bAmarmA + lAcαφmarmA − 2bCmarmC + 2bAmmotA −

2bCmmotC − lCmarmCcαφ + 2(mmotA−mmotC)cαφdA + lBmarmBsαθ + lDmarmDsαθ + 2(mmotB +

mmotD)dBsαθ)/(marmA + marmB + marmC + marmD + mbody + mmotA + mmotB + mmotC +

mmotD))2) +marmD(lD2s2αθ + 3(lDsαθ − (2bAmarmA + lAcαφmarmA − 2bCmarmC + 2bAmmotA −

2bCmmotC − lCmarmCcαφ + 2(mmotA−mmotC)cαφdA + lBmarmBsαθ + lDmarmDsαθ + 2(mmotB +

mmotD)dBsαθ)/(marmA + marmB + marmC + marmD + mbody + mmotA + mmotB + mmotC +

mmotD))2) + 12marmA( 112lA

2c2αφ + (bA + 12lAcαφ − (2bAmarmA + lAcαφmarmA − 2bCmarmC +

2bAmmotA−2bCmmotC− lCmarmCcαφ +2(mmotA−mmotC)cαφdA+ lBmarmBsαθ + lDmarmDsαθ +

2(mmotB +mmotD)dBsαθ)/(2(marmA +marmB +marmC +marmD +mbody +mmotA +mmotB +

mmotC+mmotD)))2)+12marmC( 112lC

2c2αφ+(bC+12lCcαφ+(2bAmarmA+lAcαφmarmA−2bCmarmC+

2bAmmotA−2bCmmotC− lCmarmCcαφ +2(mmotA−mmotC)cαφdA+ lBmarmBsαθ + lDmarmDsαθ +

2(mmotB +mmotD)dBsαθ)/(2(marmA +marmB +marmC +marmD +mbody +mmotA +mmotB +

mmotC +mmotD)))2))

A.9 ψ

(12(marmA +marmB +marmC +marmD +mbody +mmotA +mmotB +mmotC +mmotD)(0.5(uA−

uB − uD) + ((8mmotAmmotCs2αφαφd2A − 4(marmBmmotA + marmCmmotA + marmDmmotA +

mbodymmotA + mmotBmmotA + 2mmotCmmotA + mmotDmmotA + 2mmotCc2αφmmotA +

marmBmmotC + marmCmmotC + marmDmmotC + mbodymmotC + mmotBmmotC +

marmA(mmotA + mmotC) + mmotCmmotD)dAdA + 2(2(mmotB + mmotD)(mmotAsαθ+αφ −

mmotCsαθ−αφ)dB + lBmarmBmmotAcαθ−αφ(αθ − αφ) − lDmarmDmmotCcαθ−αφ(αθ −

Page 81: Dynamics and Control of a Quadrotor with Active Geometric ...

72

αφ) − 2bBmarmBmmotAcαφαφ + 2bDmarmDmmotAcαφαφ + 2bDmmotAmmotBcαφαφ −

2bBmarmBmmotCcαφαφ + 2bDmarmDmmotCcαφαφ + 2bDmmotBmmotCcαφαφ +

2bDmmotAmmotDcαφαφ + 2bDmmotCmmotDcαφαφ + 2(bA(marmBmmotA + marmCmmotA +

marmDmmotA +mbodymmotA +mmotBmmotA + 2mmotCmmotA +mmotDmmotA +marmAmmotC) +

bC(marmCmmotA + mmotC(marmA + marmB + marmD + mbody + 2mmotA + mmotB +

mmotD)))sαφαφ+2lCmarmCmmotAs2αφαφ+2lAmarmAmmotCs2αφαφ+lDmarmDmmotAcαθ+αφ(αθ+

αφ) − lBmarmBmmotCcαθ+αφ(αθ + αφ) + 2(mmotB + mmotD)dB(mmotAcαθ+αφ(αθ + αφ) −

mmotCcαθ−αφ(αθ− αφ)))dA+2(lAmarmAmmotA− lCmarmCc2αφmmotA+ lBmarmBsαθ−αφmmotA−

2bBmarmBsαφmmotA + 2bDmarmDsαφmmotA + 2bDmmotBsαφmmotA + 2bDmmotDsαφmmotA +

lDmarmDsαθ+αφmmotA+ lCmarmCmmotC−2(bA(marmBmmotA+marmCmmotA+marmDmmotA+

mbodymmotA+mmotBmmotA+2mmotCmmotA+mmotDmmotA+marmAmmotC)+bC(marmCmmotA+

mmotC(marmA+marmB+marmD+mbody+2mmotA+mmotB+mmotD)))cαφ−lAmarmAmmotCc2αφ−

lDmarmDmmotCsαθ−αφ − 2bBmarmBmmotCsαφ + 2bDmarmDmmotCsαφ + 2bDmmotBmmotCsαφ +

2bDmmotCmmotDsαφ − lBmarmBmmotCsαθ+αφ + 2(mmotB + mmotD)dB(mmotAsαθ+αφ −

mmotCsαθ−αφ))dA − 4(2c2αθmmotB2 + 2mmotB

2 + marmBmmotB + marmCmmotB +

marmDmmotB +mbodymmotB +mmotAmmotB +mmotCmmotB +marmBmmotD +marmCmmotD +

marmDmmotD +mbodymmotD +mmotAmmotD +mmotCmmotD +marmA(mmotB +mmotD))dBdB +

2((mmotB + mmotD)(lDmarmD − lBmarmBc2αθ + 2(bA(marmA + mmotA) − bC(marmC +

mmotC))sαθ − lCmarmCsαθ−αφ + lAmarmAsαθ+αφ) − 2(bB(2mmotB2 + marmB(mmotB +

mmotD)) + bD(2mmotB2 + marmCmmotB + mbodymmotB + mmotAmmotB + mmotCmmotB +

marmCmmotD + mbodymmotD + mmotAmmotD + mmotCmmotD + marmA(mmotB + mmotD) +

marmB(mmotB + mmotD)))cαθ)dB + 2bAlBmarmAmarmBcαθ αθ − 2bC lBmarmBmarmCcαθ αθ +

2bAlDmarmAmarmDcαθ αθ − 2bC lDmarmCmarmDcαθ αθ + 2bAlBmarmBmmotAcαθ αθ +

2bAlDmarmDmmotAcαθ αθ − 2bC lBmarmBmmotCcαθ αθ − 2bC lDmarmDmmotCcαθ αθ +

2bBlBmarmAmarmBsαθ αθ + 2bBlBmarmBmarmCsαθ αθ + 2bDlDmarmAmarmDsαθ αθ +

2bBlBmarmBmarmDsαθ αθ + 2bDlBmarmBmarmDsαθ αθ + 2bBlDmarmBmarmDsαθ αθ +

2bDlDmarmBmarmDsαθ αθ + 2bDlDmarmCmarmDsαθ αθ + 2bBlBmarmBmbodysαθ αθ +

2bDlDmarmDmbodysαθ αθ + 2bBlBmarmBmmotAsαθ αθ + 2bDlDmarmDmmotAsαθ αθ +

Page 82: Dynamics and Control of a Quadrotor with Active Geometric ...

73

2bBlBmarmBmmotBsαθ αθ + 2bDlBmarmBmmotBsαθ αθ + 2bBlBmarmBmmotCsαθ αθ +

2bDlDmarmDmmotCsαθ αθ + 2bBlBmarmBmmotDsαθ αθ + 2bDlBmarmBmmotDsαθ αθ +

8mmotB2d2Bs2αθ αθ + 2lBlDmarmBmarmDs2αθ αθ + lAlBmarmAmarmBcαθ−αφ(αθ − αφ) −

lC lDmarmCmarmDcαθ−αφ(αθ − αφ) − 2bBlAmarmAmarmBcαφαφ − 2bBlCmarmBmarmCcαφαφ +

2bDlAmarmAmarmDcαφαφ + 2bDlCmarmCmarmDcαφαφ + 2bDlAmarmAmmotBcαφαφ +

2bDlCmarmCmmotBcαφαφ + 2bDlAmarmAmmotDcαφαφ + 2bDlCmarmCmmotDcαφαφ +

2bAlAmarmAmarmBsαφαφ + 2bAlAmarmAmarmCsαφαφ + 2bC lAmarmAmarmCsαφαφ +

2bAlCmarmAmarmCsαφαφ + 2bC lCmarmAmarmCsαφαφ + 2bC lCmarmBmarmCsαφαφ +

2bAlAmarmAmarmDsαφαφ + 2bC lCmarmCmarmDsαφαφ + 2bAlAmarmAmbodysαφαφ +

2bC lCmarmCmbodysαφαφ + 2bAlCmarmCmmotAsαφαφ + 2bC lCmarmCmmotAsαφαφ +

2bAlAmarmAmmotBsαφαφ + 2bC lCmarmCmmotBsαφαφ + 2bAlAmarmAmmotCsαφαφ +

2bC lAmarmAmmotCsαφαφ + 2bAlAmarmAmmotDsαφαφ + 2bC lCmarmCmmotDsαφαφ +

2lAlCmarmAmarmCs2αφαφ− lBlCmarmBmarmCcαθ+αφ(αθ + αφ) + lAlDmarmAmarmDcαθ+αφ(αθ +

αφ) + 2dB(2(bB(2mmotB2 + marmB(mmotB + mmotD)) + bD(2mmotB

2 + marmCmmotB +

mbodymmotB + mmotAmmotB + mmotCmmotB + marmCmmotD + mbodymmotD + mmotAmmotD +

mmotCmmotD + marmA(mmotB + mmotD) + marmB(mmotB + mmotD)))sαθ αθ + (mmotB +

mmotD)(2(bA(marmA + mmotA) − bC(marmC + mmotC))cαθ αθ + 2lBmarmBs2αθ αθ −

lCmarmCcαθ−αφ(αθ−αφ)+lAmarmAcαθ+αφ(αθ+αφ))))ψ)/(2(marmA+marmB+marmC+marmD+

mbody + mmotA + mmotB + mmotC + mmotD))))/(12marmAmarmBbA2 + 12marmAmarmCbA

2 +

12marmAmarmDbA2 + 12marmAmbodybA

2 + 12marmBmmotAbA2 + 12marmCmmotAbA

2 +

12marmDmmotAbA2 + 12mbodymmotAbA

2 + 12marmAmmotBbA2 + 12mmotAmmotBbA

2 +

12marmAmmotCbA2 + 12mmotAmmotCbA

2 + 12marmAmmotDbA2 + 12mmotAmmotDbA

2 +

24bCmarmAmarmCbA + 24bCmarmCmmotAbA + 24bCmarmAmmotCbA + 24bCmmotAmmotCbA +

12lAmarmAmarmBcαφbA + 12lAmarmAmarmCcαφbA + 12lCmarmAmarmCcαφbA +

12lAmarmAmarmDcαφbA + 12lAmarmAmbodycαφbA + 12lCmarmCmmotAcαφbA +

12lAmarmAmmotBcαφbA + 12lAmarmAmmotCcαφbA + 12lAmarmAmmotDcαφbA −

12lBmarmAmarmBsαθbA − 12lDmarmAmarmDsαθbA − 12lBmarmBmmotAsαθbA −

12lDmarmDmmotAsαθbA+ lA2marmA

2 + lB2marmB

2 + lC2marmC

2 + lD2marmD

2 +12bB2mmotB

2 +

Page 83: Dynamics and Control of a Quadrotor with Active Geometric ...

74

12bD2mmotB

2 + 24bBbDmmotB2 + 6mbody

2ρbody2 + 6marmAmbodyρbody

2 + 6marmBmbodyρbody2 +

6marmCmbodyρbody2 + 6marmDmbodyρbody

2 + 6mbodymmotAρbody2 + 6mbodymmotBρbody

2 +

6mbodymmotCρbody2 + 6mbodymmotDρbody

2 + 12(marmBmmotA +marmCmmotA +marmDmmotA +

mbodymmotA+mmotBmmotA+2mmotCmmotA+mmotDmmotA+2mmotCc2αφmmotA+marmBmmotC+

marmCmmotC + marmDmmotC + mbodymmotC + mmotBmmotC + marmA(mmotA + mmotC) +

mmotCmmotD)d2A+12(2c2αθmmotB2+2mmotB

2+marmBmmotB+marmCmmotB+marmDmmotB+

mbodymmotB +mmotAmmotB +mmotCmmotB +marmBmmotD +marmCmmotD +marmDmmotD +

mbodymmotD+mmotAmmotD+mmotCmmotD+marmA(mmotB+mmotD))d2B+12bB2marmAmarmB+

4lA2marmAmarmB + 4lB

2marmAmarmB + 12bC2marmAmarmC + 4lA

2marmAmarmC +

4lC2marmAmarmC + 12bB

2marmBmarmC + 12bC2marmBmarmC + 4lB

2marmBmarmC +

4lC2marmBmarmC + 12bD

2marmAmarmD + 4lA2marmAmarmD + 4lD

2marmAmarmD +

12bB2marmBmarmD + 12bD

2marmBmarmD + 4lB2marmBmarmD + 4lD

2marmBmarmD +

24bBbDmarmBmarmD + 12bC2marmCmarmD + 12bD

2marmCmarmD + 4lC2marmCmarmD +

4lD2marmCmarmD + 4lA

2marmAmbody + 12bB2marmBmbody + 4lB

2marmBmbody +

12bC2marmCmbody + 4lC

2marmCmbody + 12bD2marmDmbody + 4lD

2marmDmbody +

4lA2marmAmmotA + 12bB

2marmBmmotA + 4lB2marmBmmotA + 12bC

2marmCmmotA +

4lC2marmCmmotA + 12bD

2marmDmmotA + 4lD2marmDmmotA + 12bD

2marmAmmotB +

4lA2marmAmmotB + 12bB

2marmBmmotB + 12bD2marmBmmotB + 4lB

2marmBmmotB +

24bBbDmarmBmmotB + 12bC2marmCmmotB + 12bD

2marmCmmotB + 4lC2marmCmmotB +

4lD2marmDmmotB + 12bD

2mbodymmotB + 12bD2mmotAmmotB + 12bC

2marmAmmotC +

4lA2marmAmmotC + 12bB

2marmBmmotC + 12bC2marmBmmotC + 4lB

2marmBmmotC +

4lC2marmCmmotC + 12bC

2marmDmmotC + 12bD2marmDmmotC + 4lD

2marmDmmotC +

12bC2mbodymmotC + 12bC

2mmotAmmotC + 12bC2mmotBmmotC + 12bD

2mmotBmmotC +

12bD2marmAmmotD + 4lA

2marmAmmotD + 12bB2marmBmmotD + 12bD

2marmBmmotD +

4lB2marmBmmotD + 24bBbDmarmBmmotD + 12bC

2marmCmmotD + 12bD2marmCmmotD +

4lC2marmCmmotD + 4lD

2marmDmmotD + 12bD2mbodymmotD + 12bD

2mmotAmmotD +

12bC2mmotCmmotD + 12bD

2mmotCmmotD + 12bBlBmarmAmarmBcαθ + 12bBlBmarmBmarmCcαθ +

12bDlDmarmAmarmDcαθ + 12bBlBmarmBmarmDcαθ + 12bDlBmarmBmarmDcαθ +

Page 84: Dynamics and Control of a Quadrotor with Active Geometric ...

75

12bBlDmarmBmarmDcαθ + 12bDlDmarmBmarmDcαθ + 12bDlDmarmCmarmDcαθ +

12bBlBmarmBmbodycαθ + 12bDlDmarmDmbodycαθ + 12bBlBmarmBmmotAcαθ +

12bDlDmarmDmmotAcαθ + 12bBlBmarmBmmotBcαθ + 12bDlBmarmBmmotBcαθ +

12bBlBmarmBmmotCcαθ + 12bDlDmarmDmmotCcαθ + 12bBlBmarmBmmotDcαθ +

12bDlBmarmBmmotDcαθ + 6lBlDmarmBmarmDc2αθ + 12bC lAmarmAmarmCcαφ +

12bC lCmarmAmarmCcαφ + 12bC lCmarmBmarmCcαφ + 12bC lCmarmCmarmDcαφ +

12bC lCmarmCmbodycαφ + 12bC lCmarmCmmotAcαφ + 12bC lCmarmCmmotBcαφ +

12bC lAmarmAmmotCcαφ + 12bC lCmarmCmmotDcαφ + 6lAlCmarmAmarmCc2αφ +

12bC lBmarmBmarmCsαθ + 12bC lDmarmCmarmDsαθ + 12bC lBmarmBmmotCsαθ +

12bC lDmarmDmmotCsαθ − 6lAlBmarmAmarmBsαθ−αφ + 6lC lDmarmCmarmDsαθ−αφ +

12bBlAmarmAmarmBsαφ + 12bBlCmarmBmarmCsαφ − 12bDlAmarmAmarmDsαφ −

12bDlCmarmCmarmDsαφ − 12bDlAmarmAmmotBsαφ − 12bDlCmarmCmmotBsαφ −

12bDlAmarmAmmotDsαφ − 12bDlCmarmCmmotDsαφ + 6lBlCmarmBmarmCsαθ+αφ −

6lAlDmarmAmarmDsαθ+αφ − 12dB((mmotB +mmotD)(lDmarmD − lBmarmBc2αθ + 2(bA(marmA +

mmotA) − bC(marmC + mmotC))sαθ − lCmarmCsαθ−αφ + lAmarmAsαθ+αφ) − 2(bB(2mmotB2 +

marmB(mmotB + mmotD)) + bD(2mmotB2 + marmCmmotB + mbodymmotB + mmotAmmotB +

mmotCmmotB +marmCmmotD +mbodymmotD +mmotAmmotD +mmotCmmotD +marmA(mmotB +

mmotD) + marmB(mmotB + mmotD)))cαθ) − 12dA(lAmarmAmmotA − lCmarmCc2αφmmotA +

lBmarmBsαθ−αφmmotA − 2bBmarmBsαφmmotA + 2bDmarmDsαφmmotA + 2bDmmotBsαφmmotA +

2bDmmotDsαφmmotA + lDmarmDsαθ+αφmmotA + lCmarmCmmotC − 2(bA(marmBmmotA +

marmCmmotA +marmDmmotA +mbodymmotA +mmotBmmotA + 2mmotCmmotA +mmotDmmotA +

marmAmmotC) + bC(marmCmmotA + mmotC(marmA + marmB + marmD + mbody + 2mmotA +

mmotB +mmotD)))cαφ − lAmarmAmmotCc2αφ − lDmarmDmmotCsαθ−αφ − 2bBmarmBmmotCsαφ +

2bDmarmDmmotCsαφ + 2bDmmotBmmotCsαφ + 2bDmmotCmmotDsαφ − lBmarmBmmotCsαθ+αφ +

2(mmotB +mmotD)dB(mmotAsαθ+αφ −mmotCsαθ−αφ)))