Analysis and Development of a Halbach Array Motor for Application into a Novel Delivery Drone Driving Cycle for Powertrain Optimization and Maximization of Delivery Radius

by

Maxime Perreault

A thesis submitted in conformity with the requirements

for the degree of Master of Applied Science

Graduate Department of Applied Science and Engineering

University of Toronto

© Copyright by Maxime Perreault 2020

Analysis and Development of a Halbach Array Motor for Application into a Novel Delivery Drone Driving Cycle for Powertrain Optimization and Maximization of Delivery Radius

Maxime Perreault

Master of Applied Science

Graduate Department of Applied Science and Engineering

University of Toronto

2020

ABSTRACT

Large companies such as Amazon and Google are currently testing deliveries using unmanned drones, with the intent of using these drones on the market. Topics tackled in this field of research include delivery routing optimization, object collision routing optimization, battery management optimization, and the addition of solar panels on the drones. Little publicly available research has been found to have been conducted on the developing methods to optimize the powertrain of the drones to maximize their delivery radii. To achieve this end, this work puts forth a delivery drone driving cycle simulation written in MATLAB with which to monitor their performance and fine- tune their properties. A halbach array motor is designed and analyzed in ANSYS Maxwell, and a data processing tool is written in MATLAB to manipulate the halbach array motor and propeller data into useable states for the simulation. The driving cycle simulation is tested on fifty-four drone configurations.

ii

ACKNOWLEDGMENTS

The short time I have spent in my graduate research has been a crucial moment in my personal progress, augmented in no small part by the experience and mentorship of my supervisor, Professor Kamran

Behdinan. His care and attention to my professional development have imparted wisdoms that will reverberate within me and from which I will keep learning as I move forward.

This work has been funded in part by the Natural Sciences and Engineering Research Council of Canada under Grant CRDPJ 514905-17, to whom I would like to extend my appreciation for their support.

I thank Doctor Ali Hameed Radhi for his friendship and camaraderie over these last years. It was a welcome boon to work alongside someone who is always willing to engage in stimulating discussions or provide guidance as .I often needed.

I extend a deep gratitude to both of my parents, for the love they have shared, their stalwart devotion to my welfare, and unwavering support for my choices in life. Without the opportunities, comforts, and freedom to grow that they have provided, I would never have managed to be the person I am.

To my dog, Remi, whose playfulness and unappeasable desire for cuddles has helped keep my sanity in check. I wish her many years of joy to come.

To Mengqi, my muse. You have stayed by me these many years, your ardent presence never showing any signs of relent through both sickness and health. I only hope to be as good to you as you are to me.

iii

TABLE OF CONTENTS

List of Tables ...... v List of Figures ...... vi Nomenclature ...... xi 1 Introduction ...... 1 1.1 Motivation ...... 3 1.2 Outline...... 4 2 Literature Review – Halbach Array Motors...... 5 2.1 The Halbach Array ...... 5 2.2 Applications of Halbach Arrays ...... 8 2.3 Halbach Arrays in Motors ...... 10 3 Governing Equations ...... 15 3.1 Electromagnetic Equations ...... 15 3.2 Electric Motor Characteristic Behavior ...... 18 3.3 Drone Kinetics ...... 25 4 Methodology of Halbach Motor Design ...... 30 4.1 ANSYS Maxwell Simulations ...... 30 4.2 Powertrain Data Processing ...... 47 5 Driving Cycle of Delivery Drone ...... 54 6 Results of Delivery Drone Driving Cycle ...... 58 6.1 Delivery Drone Parameters ...... 58 6.2 Driving Cycle Simulation Result Analysis ...... 60 7 Conclusion ...... 75 7.1 Contributions...... 76 8 Future Work ...... 77 References ...... 78 Appendices ...... 85 Appendix A: Produced MATLAB Code ...... 85 Appendix B: Propeller Experimental Data Curve-Fitting ...... 88 Appendix C: Detailed Powertrain Operating Point Figures ...... 89 Appendix D: Detailed Ideal Pitch Angle Figures ...... 90

iv

LIST OF TABLES

Table 4.1.1: General Machine Properties of the Halbach Array Motor in ANSYS Maxwell RMxprt...... 31

Table 4.1.2: Circuitry Properties of the Halbach Array Motor in ANSYS Maxwell RMxprt...... 32

Table 4.1.3: Material Properties of Iron in the Halbach Array Motor in ANSYS Maxwell RMxprt...... 32

Table 4.1.4: Stator Properties of the Halbach Array Motor in ANSYS Maxwell RMxprt...... 33

Table 4.1.5: Rotor Properties of the Halbach Array Motor in ANSYS Maxwell RMxprt...... 33

Table 4.1.6: Armature Slot Properties of the Halbach Array Motor in ANSYS Maxwell RMxprt...... 34

Table 4.1.7: General Winding Properties of the Halbach Array Motor in ANSYS Maxwell RMxprt...... 36

Table 4.1.8: Winding End/Insulation Properties of Halbach Array Motor in ANSYS Maxwell RMxprt...... 36

Table 4.1.9: Material Properties of N50M in the Halbach Array Motor in ANSYS Maxwell RMxprt...... 37

Table 4.1.10: Pole Properties of the Halbach Array Motor in ANSYS Maxwell RMxprt...... 37

Table 4.1.11: Mass Breakdown by Component of the Halbach Array Motor...... 38

Table 4.1.12: Mesh Operations of the Halbach Array Motor in ANSYS Maxwell 2D Design...... 43

Table 4.1.13: Motion Setup of the Halbach Array Motor in ANSYS Maxwell 2D Design...... 43

Table 6.1.1: Simulation Delivery Drone Properties...... 58

Table 6.1.2: Propeller Characteristic Curves of Lift and Torque as Functions of rpm...... 59

Table 6.1.3: Simulation Powertrain Component Masses...... 60

Table 6.2.1: Maximum Delivery Radius for each Propeller in Tested Configurations...... 61

Table 6.2.2: Average Ideal Pitch Angle for each Propeller in Tested Configurations...... 64

Table 6.2.3: Ideal Energy of Ascent and Descent with and without Payload for Tested Configurations...... 68

Table 6.2.4: Average Delivery Radii over Range of varied Cruise Heights for Drone Configurations...... 71

Table 6.2.5: Average Delivery Radii over Range of varied Payload Masses for Drone Configurations...... 74

v

LIST OF FIGURES

Figure 2.1.1: Examples of Halbach Arrays that are a) Linear, b) Planar, and c) Circular...... 5

Figure 2.1.2: Dipole Field Generated by Circular Halbach Array...... 6

Figure 2.1.3: Schematic of a Dipole Field Motor Containing no Electromagnetic Coils...... 6

Figure 2.1.4: Comparison of the Magnetic Field between a Conventional Parallel Pole Array (top) and a Halbach

Array (bottom)...... 7

Figure 2.1.5: Comparison of the Flux Density between a Halbach Array (left) and Conventional Parallel Pole Array

(right) in an Electrical Machine...... 8

Figure 2.2.1: Two Linear Actuators with Halbach Arrays, one in Cylindrical Dual Halbach Configuration (left) and one in a Flat Configuration (right)...... 9

Figure 2.2.2: Transformation of a Halbach Array Planar Grid into a Cylindrical Grid...... 10

Figure 2.3.1: Schematic of a 10-pole Radial Halbach Array Motor (left) and Axial Flux Halbach Array Motor

(right)...... 11

Figure 2.3.2: Torque Density Plots of Optimized Halbach Array Motors in Configurations of Dual Array (top) and

Triple Array (bottom)...... 12

Figure 2.3.3: Schematics of a Dual Halbach Array (left) along with a Triple Halbach Array (right). The Rotor, which would sit between each set of Stators, is not shown...... 14

Figure 3.2.1: Brushless DC Motor Electrical a) Phasor Diagram and b) Circuit Diagram...... 20

Figure 3.2.2: Gate Driver Diagram of a 3-Phase Brushless DC Motor...... 22

Figure 3.2.3: Pulse Width Modulation Diagram of a 3-Phase Gate Driver at 75% Throttle...... 22

Figure 3.2.4: Motor Efficiency Heatmaps as Produced by a) ANSYS Maxwell Machine Toolkit (2018) and b) Altair

Flux E-Machine Toolbox (2019)...... 23

Figure 3.2.5: Graphical Representation between a Motor’s Lamination Thickness and Stacking Factor...... 24

Figure 3.3.1: Quadcopter Dynamics Coordinate System...... 25

Figure 3.3.2: Force Diagrams of the Drone Kinematics during a) Ascent, b) Cruising, and c) Descent...... 26

vi

Figure 4.1.1: Schematic of Slot Type 4 Base Model as Available in Maxwell RMxprt Detailed with all Configurable

Dimensions...... 34

Figure 4.1.2: Winding Configuration Throughout the 36 Armature Slots of the Halbach Motor Generated in

Maxwell RMxprt...... 35

Figure 4.1.3: Final Motor Design as Illustrated in Maxwell RMxprt...... 38

Figure 4.1.4: External and Internal Motor Circuitry Generated Automatically by Exporting the Maxwell RMxprt

Design to the 2D Design Environment...... 39

Figure 4.1.5: Half Electrical Phase Motor Segment Generated Automatically by Exporting the Maxwell RMxprt

Design to the 2D Design Environment...... 40

Figure 4.1.6: Process of Rotation and Boolean Splitting Operations to Generate the Circumferentially Aligned

Halbach Array in the Maxwell 2D Design Environment...... 41

Figure 4.1.7: Alternating Halbach Magnet Array Pattern with the Magnet Orientation Coded as follows: Positive

Radial Flux in Red, Negative Radial Flux in Blue, Positive Circumferential Flux in Yellow, and Negative

Circumferential Flux in Green...... 42

Figure 4.1.8: Torque vs Time Graph for the Transient Simulation of the Halbach Array Motor at 45 Volts over a

Span of 100 milliseconds with a Time Step of 50 microseconds...... 44

Figure 4.1.9: Phase Winding Currents for the Transient Simulation of the Halbach Array Motor at 45 Volts over a

Span of 20 milliseconds with a Time Step of 50 microseconds...... 45

Figure 4.1.10: Phase Winding Induced Voltages for the Transient Simulation of the Halbach Array Motor at 45

Volts over a Span of 20 milliseconds with a Time Step of 50 microseconds...... 45

Figure 4.1.11: Magnetic Flux Lines produced throughout the Halbach Array Motor during the Transient Simulation at 45 Volts and 100 milliseconds...... 46

Figure 4.2.1: Polynomial Curve Fitting of the Transient Data Points of the Halbach Array Motor Operating at 70

Volts...... 47

Figure 4.2.2: Compiled rpm-Torque Polynomial Curves of the Halbach Array Motor Operating from 5 to 70 Volts.

...... 48

Figure 4.2.3: Polynomial Interpolation of the User-Defined Electric Motor Data in the Torque-rpm Plane. A small

Interpolation Density of Two is used here for Visual Clarity...... 49

vii

Figure 4.2.4: Resultant Efficiency Heatmap of the Interpolated User-Defined Electric Motor Data...... 50

Figure 4.2.5: Rpm-Torque and rpm-Lift Quadratic Curve-Fitting of P22x6.6 Data...... 51

Figure 4.2.6: Overlay of the P22x6.6 rpm-Torque Operating Points of the Electric Motor Efficiency Heatmap, showing the useable Motor Operating Points of this Powertrain Configuration...... 52

Figure 4.2.7: Overlay of the Halved P22x6.6 rpm-Torque Operating Points of the Electric Motor Efficiency

Heatmap, showing the useable Motor Operating Points of this Powertrain Configuration...... 53

Figure 5.1: Driving Cycle Breakdown in Six Segments: Ascent with Payload, Horizontal Cruise with Payload,

Descent with Payload, Ascent without Payload, Horizontal Cruise without Payload, Descent without Payload...... 54

Figure 5.2: Flowchart of the Delivery Drone Driving Cycle with Aim of Optimizing the Horizontal Travel Distance of the Drone...... 55

Figure 6.1: Maximum Drone Delivery Radius depending on the Propellers used, their Quantity, and the Number of

Motors attached to each...... 61

Figure 6.2: Ideal and Maximum Pitch Angles of Horizontal Motion for a Delivery Drone with Payload, for all 54

Tested Configurations of Powertrain Variations...... 63

Figure 6.3: Ideal and Maximum Pitch Angles of Horizontal Motion for a Delivery Drone with no Payload, for all 54

Tested Configurations of Powertrain Variations...... 63

Figure 6.4: Ideal Throttle Profile of Ascent for each of the 54 Tested Drone Powertrain Configurations while the

Drone carries a Payload...... 64

Figure 6.5: Ideal Throttle Profile of Ascent for each of the 54 Tested Drone Powertrain Configurations while the

Drone does not carry a Payload...... 65

Figure 6.6: Minimum Ascent Energy for each of the 54 Tested Drone Powertrain Configurations while the Drone carries a Payload...... 66

Figure 6.7: Minimum Ascent Energy for each of the 54 Tested Drone Powertrain Configurations while the Drone does not carry a Payload...... 66

Figure 6.8: Minimum Descent Energy for each of the 54 Tested Drone Powertrain Configurations while the Drone carries a Payload...... 67

Figure 6.9: Minimum Descent Energy for each of the 54 Tested Drone Powertrain Configurations while the Drone does not carry a Payload...... 67

viii

Figure 6.10: Maximum Delivery Radius as a Function of Cruise Height for a Drone using 6 G29x9.5 Propellers and either 1, 2, or 3 Motors per Propeller...... 69

Figure 6.11: Slope of the Relation beteween Maximum Delivery Radius and Cruise Height for 18 Drone

Configurations, all using their Ideal Quantity of Propellers and either 1, 2, or 3 Motors per Propeller...... 70

Figure 6.12: Average of all Maximum Delivery Radii as a Function of Cruise Height for 18 Drone Configurations, all using their Ideal Quantity of Propellers and either 1, 2, or 3 Motors per Propeller...... 70

Figure 6.13: Maximum Delivery Radius as a Function of Payload Mass for a Drone using 6 G29x9.5 Propellers and either 1, 2, or 3 Motors per Propeller...... 72

Figure 6.14: Slope of the Relation beteween Maximum Delivery Radius and Payload Mass for 18 Drone

Configurations, all using their Ideal Quantity of Propellers and either 1, 2, or 3 Motors per Propeller...... 73

Figure 6.15: Average of all Maximum Delivery Radii as a Function of Payload Mass for 18 Drone Configurations, all using their Ideal Quantity of Propellers and either 1, 2, or 3 Motors per Propeller...... 73

Figure B1: Curve-Fitting of P22x6.6 Data...... 88

Figure B2: Curve-Fitting of G26x8.5 Data...... 88

Figure B3: Curve-Fitting of G27x8.8 Data...... 88

Figure B4: Curve-Fitting of G28x9.2 Data...... 88

Figure B5: Curve-Fitting of G29x9.5 Data...... 88

Figure B6: Curve-Fitting of G30x10.5 Data...... 88

Figure C1: Powertrain Operating Points of P22x6.6 Propeller Overlaid onto Motor Efficiency Heatmap...... 89

Figure C2: Powertrain Operating Points of G26x8.5 Propeller Overlaid onto Motor Efficiency Heatmap...... 89

Figure C3: Powertrain Operating Points of G27x8.8 Propeller Overlaid onto Motor Efficiency Heatmap...... 89

Figure C4: Powertrain Operating Points of G28x9.2 Propeller Overlaid onto Motor Efficiency Heatmap...... 89

Figure C5: Powertrain Operating Points of G29x9.5 Propeller Overlaid onto Motor Efficiency Heatmap...... 89

Figure C6: Powertrain Operating Points of G30x10.5 Propeller Overlaid onto Motor Efficiency Heatmap...... 89

Figure D1: Drone Configuration Ideal Pitch Angle using P22x6.6 Propellers while carrying a Payload...... 90

Figure D2: Drone Configuration Ideal Pitch Angle using G26x8.5 Propellers while carrying a Payload...... 90

Figure D3: Drone Configuration Ideal Pitch Angle using G27x8.8 Propellers while carrying a Payload...... 90

Figure D4: Drone Configuration Ideal Pitch Angle using G28x9.2 Propellers while carrying a Payload...... 90

ix

Figure D5: Drone Configuration Ideal Pitch Angle using G29x9.5 Propellers while carrying a Payload...... 90

Figure D6: Drone Configuration Ideal Pitch Angle using G30x10.5 Propellers while carrying a Payload...... 90

Figure D7: Drone Configuration Ideal Pitch Angle using P22x6.6 Propellers while not carrying a Payload...... 91

Figure D8: Drone Configuration Ideal Pitch Angle using G26x8.5 Propellers while not carrying a Payload...... 91

Figure D9: Drone Configuration Ideal Pitch Angle using G27x8.8 Propellers while not carrying a Payload...... 91

Figure D10: Drone Configuration Ideal Pitch Angle using G28x9.2 Propellers while not carrying a Payload...... 91

Figure D11: Drone Configuration Ideal Pitch Angle using G29x9.5 Propellers while not carrying a Payload...... 91

Figure D12: Drone Configuration Ideal Pitch Angle using G30x10.5 Propellers while not carrying a Payload...... 91

x

NOMENCLATURE

Symbol Parameter Unit

A Magnetic Vector Potential Teslas by Meters

A0 Boundary Magnetic Vector Potential Teslas by Meters ag Acceleration due to Gravity Meters per Second Squared av Vertical Acceleration Meters per Second Squared

B Flux Density Tesla

D Electric Flux Density Coulombs per Meter Squared

E Electric Field Strength Volts per Meter

Fg Force of Gravity Newtons

FHDrag Force of Horizontal Drag Newtons

FLift Force of Lift Newtons

FPropulsion Force of Propulsion Newtons

FThrust Force of Thrust Newtons

FVDrag Force of Vertical Drag Newtons

H Magnetic Field Strength Amperes per Meter

J Current Density Amperes per Meter Squared

Js Source Current Density Amperes per Meter Squared

LiftProp Propeller Lift Newtons

M Remnant Induction Magnetization Teslas

T Torque Newtons by Meters

Vs Source Voltage Volts per Meter vH Horizontal Velocity Meters per Second vV Vertical Velocity Meters per Second

흓 Magnetic Flux Webers

xi

CHDrag Horizontal Area-Drag Coefficient Meters Squared

CVDrag Vertical Area-Drag Coefficient Meters Squared d Delivery Radius Kilometers

Ea Single-Phase Electromotive Force Volts

EAscent Electrical Energy of Ascent Joules

EDescent Electrical Energy of Descent Joules

ERemaining Electrical Energy Remaining Joules

EBattery Electrical Energy of Battery Joules

EPM Energy per Meter Joules per Meter h Cruise Height Meters

Ia Armature Current Amperes kl Leakage Coefficient

La Armature Inductance Henrys

M Drone Mass Kilograms

N Number of Coil Turns

PCopper Copper Power Loss Watts

PCore Core Power Loss Watts

PIn Power In Watts

PMech Mechanical Power Loss Watts

POut Power Out Watts

PWM Pulse Width Modulation p Quantity of Pole Pairs qpt Quantity of Powertrains r Radial Coordinate Direction

Ra Armature Resistance Ohms rpm Rotations per Minute Rotations per Minute

SF Safety Factor

Stacking Factor Stacking Factor

xii t Time Seconds tf Ascent Time Seconds

V Electric Voltage Volts

VBattery Battery Voltage Volts

VIn Voltage In Volts vLand Landing Speed Meters per Second x Cartesian x-axis Direction y Cartesian y-axis Direction z Cartesian z-axis Direction

δLam Lamination Thickness Millimeters

ε Dielectric Permittivity Farads per Meter

η Efficiency

θ Circumferential Coordinate Dimension

θPitch Pitch Angle Degrees

μ Magnetic Permeability Henrys per Meter

υ Reluctivity Tensor Meters per Henry

ρ Density of Air Kilograms Cubed

ρv Charge Density Coulombs per Meter Cubed

σ Electrical Conductivity Siemens per Meter

ϕRoll Roll Angle Degrees

ϕGap Flux per Coil Turn Webers

ϕPhase Phase Angle Degrees

ψYaw Yaw Angle Degrees

ωe Electrical Rotational Speed Radians per Second

ωm Mechanical Rotational Speed Radians per Second

xiii

1 INTRODUCTION

Companies around the world are gearing up to roll out drones for use in payload delivery. Many countries and companies have managed their first deliveries by way of drones, with flights seen in Africa,

Australia, Europe, and the United States [1], conducted by large companies such as Google [2], Amazon

[3], UPS [4], and DHL [5].

Recent academic research in the domain of delivery drones has focused toward solving the famous traveling salesman problem, where a shortest distance is calculated between a set of points in space. The special permutation to this scenario is that there is now a fleet of transporters around which the problem needs to be optimized around. Kloetzer et al. have conducted tests at an indoor warehouse level, optimizing their vehicle routing using a mathematical binary integer problem approach [6]. Kin-Ming et al. have instead opted to tackle this problem on a larger urban scale, with a focus on balancing the individual path lengths equally amongst all delivery drones at their disposal [7]. Their approach uses a genetic algorithm to determine the optimal routing configuration, which can be calculated in half a minute. Dukkanci et al. have focused their work toward delivery ports between which trucks transport payloads and from which the drones conduct deliveries [8]. Their work was applied to realistic sample sets and they were able to optimize both the number of delivery ports and their placement.

A hybrid delivery system that uses both drones and delivery trucks, which serve as mobile transportation hubs, has seen a lot of progress. Research in recent years from Murray and Raj [9], Daknama and Kraus

[10], and Agatz et al. [11] have all determined that this hybrid delivery system reduces the average delivery time and carbon footprint.

At the scale of immediate vicinity collision detecting and path planning, work has been done by Athira

Krishnan et al. which focuses on reduction of time spent in flight [12]. This small-scale path planning involves a novel artificial potential field applicator that visualizes the drone’s environment.

1

Advancements were also achieved by Yakovlev et al. whose constraint-based path plotting algorithm was found to be applicable in urban settings [13].

Outside of the mathematics-focused side of the field, work is also being done in improving the operational performance of the drones. One group of researchers has been tackling the issue of battery power management, as the battery output behavior is not linear, and it cannot precisely be known how much energy is left for the drone to use for flight. By developing an algorithm to observe the battery’s output, Chen et al. managed to improve the reliability of battery readings by 16% [14]. In another line of work, looking to counteract the unbalancing effects of wind, Bannwarth et al. created wind rejection controllers for their drone, which managed to stabilize the drone in five meter per second wind [15]. This improved stabilization reduced the drone displacement errors by 45-66% compared to baseline results.

Both these advances have the potential to, in turn, allow for operators to fly drones with slimmer factors of safety and increase flight time and distance.

In 2019, a drone was built and flown by researchers from the National University of Singapore, which operated without batteries, pulling all the needed energy in real time from photovoltaic cells [16]. With a modest drone mass of 2.6 kilograms, the solar powered technology is not yet ready to similarly power an entire delivery drone flight, but it may soon find application in being a secondary energy source prolonging the flights of the delivery drones.

Even with all of these advances, progress still needs to be made in modular optimization processes for the powertrain of the delivery drones. The dynamic loading undergone by the drone’s propellers and motors can be examined to tailor the drone’s powertrain such that the power usage decreases and the delivery radius is maximized. Being a budding industry, the drone manufacturing process still thrives around third party components being bought off the shelf and assembled. For regular drones used by the public, such as camera drones or hobby drones, performance optimization revolves around maximizing flight time, which is done by tuning the drone’s drivetrain until the hover state operates at the motors’ maximum

2 efficiency point. This method can be improved for delivery drones for two reasons. First, the delivery drones have two distinct conditions: when they are and are not carrying parcels, which will hereon be referred to as payloads. Both of these conditions must be balanced appropriately when tuning the drivetrain. A motor that may be ideal for payload delivery may not be ideal for the trip returning from delivery. Second, the delivery drone’s path and behavior before flight can be reasonably predicted with an appropriate driving cycle.

Driving cycles are used in the automotive industry to virtually simulate or experimentally recreate the driving conditions that vehicles are subject to on the road [17]. These driving conditions include rural driving, urban driving, highway driving, and others. They are important tools in the industry at two different stages of production. First, they allow for theoretical estimation of emission testing and fuel consumption for vehicles and drivetrains before manufacturing. Second, practical data can be generated with the fully manufactured vehicles by simulating the driving conditions on rotating barrel drums. The driving cycles used in the latter cases are produced and used to enforce emission regulations by legislative bodies worldwide. Existing driving cycles include the EU legislative cycles, INRETS driving cycles, BP bus cycle, and the Worldwide Harmonised Motorcycle Emissions Certification [18]. While a staple of the automotive industry, driving cycles can also be adopted into other industries, one such example being for cyclists [19]. This work will attempt to do just that, by developing a driving cycle for a new field which as of yet has no publicly available information on driving cycles, delivery drones.

1.1 MOTIVATION

While advances in this field have been fruitful, the performance of the drone’s deliveries still needs to be linked back to the performance of the drone’s powertrains so that they may be optimized to maximize the radius of delivery. A driving cycle has thus been developed to quickly and iteratively evaluate delivery drone performance. Being the first of its kind, this research will explore a simpler driving cycle than the multi-drone pathing previously discussed. The driving cycle will consist of one drone, delivering a single

3 payload to a destination, and then returning to its original starting point. This cycle will be tested on a set of 54 drone configurations to see which outperforms the others and achieves the greatest delivery radius.

The objectives of this thesis are as follows:

• Provide a novel and robust delivery drone driving cycle written in MATLAB with which the

reader may test their own delivery drones.

• Develop a halbach array motor to use as the input motor of a quadcopter drone’s powertrain with

which to test the created driving cycle.

• Provide a data processing and interpolation code written in MATLAB with which the reader can

import electric motor and propeller powertrain data to simulate its behavior in the driving cycle.

• Analyze trends found in the results of the 54 delivery drone configurations tested.

1.2 OUTLINE

The outline of this thesis is as follows. First, a literature review on halbach array motors is conducted in

Section 2. Then, necessary governing electromagnetic equations, motor characteristic behaviors, and drone kinetic equations are laid out in Section 3. This is followed by Section 4 where the data processing needed to set up the simulated powertrain behavior of the drones is detailed. Next, the developed driving cycle is explained in Section 5. Lastly, the interpretation of the results of 54 different drone configurations that have been tested in the driving cycle is conducted.

4

2 LITERATURE REVIEW – HALBACH ARRAY MOTORS

A halbach magnet array is a permutation on the typical magnet arrangement found in electric motors. By alternating the magnet array polarity in intervals other than 180 degrees, the magnetic field surrounding the array can be altered such that the magnetic flux is directed to only one side. This can be very beneficial in electric motors as will be explained in this section, starting first with the history of halbach arrays, their applications, and their advantages in motors.

2.1 THE HALBACH ARRAY

The term halbach array refers to any arrangement of permanent magnets whose poles are not aligned parallel to one another (in linear or planar configurations), or aligned concentrically (in circular orientations). Figure 2.1.1 shows examples of a linear, planar, and circular halbach array.

Figure 2.1.1: Examples of Halbach Arrays that are a) Linear [20], b) Planar [21], and c) Circular [22].

The first instance of a halbach array was introduced in 1979 by Klaus Halbach who was studying the uses of rare-earth cobalt permanent magnets (PM) [23], [24]. With this array he managed to create a near- unidirectional magnetic field, namely a dipole field, seen in Figure 2.1.2, requiring no external power supply. In 1986, he continued his work on these novel arrays, proposing them to be used as particle accelerators used in medical machinery and spectrometers [25].

5

Figure 2.1.2: Dipole Field Generated by Circular Halbach Array [26].

Many other applications of these dipole fields have since been proposed by other researchers in a vast range of fields. Some such applications are explored by Gunes et al. who studied its use for hall effect measurements at high temperatures [27]; and Raich and Blümler, Jizhong et al., and Paulsen et al., who have studied the integration of the dipolar array in portable nuclear magnetic resonance equipment [28]-

[30]. However, the majority of research on the dipole fields has been in the realm of synchronous electric machinery, including energy storage [31]-[33], and electromagnetic generators and motors [34]-[37]. One advantage of using this dipole field in motors and generators is that there are no electromagnetic coils or permanent magnets in the rotor, only current-laden wire running perpendicular to the plane of the magnetic field. This allows for mechanical operation with relatively little inertia [22]. This dipole field motor is shown in Figure 2.1.3.

Figure 2.1.3: Schematic of a Dipole Field Motor Containing no Electromagnetic Coils [22].

6

While the dipole field is an interesting design that led to advances in many fields, there is another aspect of the halbach array that has created a greater impact. That is the halbach array’s ability to efficiently guide the magnetic field lines and allow for the permanent magnets’ flux to be used more effectively, improving the field density by a factor of 1.4 times compared to a standard magnetic array [38]. This phenomenon occurs because the array concentrates the magnetic field to one face, sometimes called electromagnetic shielding, compared to a conventional magnet array which produces a balanced field as seen in Figure 2.1.4. This allows for a localized concentration of flux in the area of interest for operation, such as at the electromagnets in the stator of a motor. It should also be noted that the halbach array also retains more of the unused magnetic field flow inside of the magnets rather than letting it flow out to the surrounding environment, which generally has a higher magnetic resistance, resulting in an overall stronger magnetic field [39]. This can be seen in Figure 2.1.5, which shows the magnetic field strength throughout a typical motor, where the core of the rotor has a weaker field in the halbach version of the motor compared to the standard motor, as well as a stronger field in the stator of the motor where the electromagnets reside.

Figure 2.1.4: Comparison of the Magnetic Field between a Conventional Parallel Pole Array (top) and a

Halbach Array (bottom) [40]. 7

Figure 2.1.5: Comparison of the Flux Density between a Halbach Array (left) and Conventional Parallel

Pole Array (right) in an Electrical Machine [41].

2.2 APPLICATIONS OF HALBACH ARRAYS

Halbach arrays have been found to be useful in a variety of interesting applications, ranging from single- degree of freedom (DOF) actuators, multi-DOF actuators, electro-mechanical batteries, magnetic levitators, and more efficient electric rotational machines.

Their use in single-DOF actuators has been studied by many researchers. The advantages of these linear actuators compared to other forms of translational movement are that no cogging is present in their operations along with efficient cooling [42]. Eckert et al. have shown that the actuators can be used in both active and semi-active suspension systems, with the advantages of having lower moving mass and ripple torque [43]. In recent research, Yan et al. have studied the use of a dual halbach arrays to enhance flux density and improve performance [44]. Zhu et al. also investigated dual halbach arrays though instead for the purpose of improving thrust output [45]. Wang et al. have shown how to optimize the length, width, and magnetization direction of the halbach arrays to obtain stronger magnetic fields [46].

Jang and Choi introduced a spring into their linear actuator, proposing that the cyclical operation of the actuator is improved when powered at the natural frequency of the spring [47]. Lastly, Hilton and

McMurry have proposed a novel adjustable linear halbach array, which has a dynamic magnetic field that

8 can be transferred through the device’s plane, essentially turning the field ‘on’ and ‘off’ as needed [48].

Figure 2.2.1 shows a comparison between two common actuator arrangements, the first being where the magnet arrays are wrapped around a cylindrical actuator [42], [45], [49]-[51] and the second being a flat surface with actuator placed atop [52]-[57].

Figure 2.2.1: Two Linear Actuators with Halbach Arrays, one in Cylindrical Dual Halbach Configuration

(left) [58] and one in a Flat Configuration (right) [57].

Originally, if one wanted to move an actuator on two separate axes they would simply place one linear actuator on top of another and control them both separately. However, Compter has since proposed the first planar motor, using a two-dimensional halbach array grid to displace the actuator [59]. On this planar magnet grid, the actuator can in fact achieve levitation, allowing it to move freely in six degrees of freedom without bearings. Both Peng and Zhou, and Wang et al. have since improved the performance of the planar motor by remodeling the halbach array on which it levitates to reduce the high-order harmonics and increase the thrust force [60], [61]. Kou et al. have introduced a computation model for planar motors that includes the corner flux patterns of the magnet arrays, which had been, up until then, ignored [62].

Alternatively, Hao et al. were interested in a planar motor that was compromised of a halbach array actuator sitting on an electromagnetic planar grid, for which they analyzed a conceptual design [63]. In an attempt to reduce the normal force of the motor, Huang et al. employed a genetic algorithm, reducing it by a factor of 4.5 [21].

9

The first researchers to use a single grid of PMs in a cylindrical linear-rotary motor, whose original design was to combine a rotational motor with a linear actuator [64]-[67], were Krebs et al. [68]. Later, the parallel PM grid was replaced with a halbach array grid by Jin et al. as shown in Figure 2.2.2 [69]. Jin et al. continued on to produce the first prototype of their design and analyzed its torque and linear force

[70], subsequently proceeding to optimize the halbach array [71].

Figure 2.2.2: Transformation of a Halbach Array Planar Grid into a Cylindrical Grid [69].

While the technology of spherical motors is still in the theoretical and early prototyping stages, Xia et al. have put forth a conceptual design that incorporates a halbach array [72], [73]. Their analyses on their design shows that the halbach array spherical motor has greater torque compared to parallel magnet arrays, along with a magnetic field that is more sinusoidal in shape, allowing for the torque ripple to be suppressed more effectively [73]. Li and Li have gone on to produce a prototype spherical halbach array motor, exploring the end-effects of the motor and showing that they account for almost half of the eddy current losses [74].

2.3 HALBACH ARRAYS IN MOTORS

The wide variety of possible orientations of halbach arrays gives way to many approaches to motor designs incorporating the arrays. Some interesting approaches are the dipole field method, which was

10 introduced earlier, and the addition of the halbach arrays into switched reluctance or partitioned stator motors, which were novel for not having any permanent magnets in their original designs [75]-[79].

Nevertheless, the more common incorporation of halbach arrays is in the standard multi-pole PM motors, in both radial and axial configurations as shown in Figure 2.3.1.

Figure 2.3.1: Schematic of a 10-pole Radial Halbach Array Motor (left) [80] and Axial Flux Halbach

Array Motor (right) [81].

The optimization of the halbach array configurations is important to achieve the best output performance when it is incorporated into the motor. Choi and Yoo have done extensive work on evaluating different configurations, including single, dual, and triple arrays, as well as offset arrays to determine the optimal patterns [82]. These are shared in Figure 2.3.2 for dual array and triple array configurations. Other researchers in Asef et al. have tackled the issue of finding the optimal halbach array, looking to maximize air-gap flux density, output torque, and the frequency of first-order harmonics while minimizing cogging torque [83]. Using two-dimensional finite element analysis they produced comparative analyses on six designs revealing the strengths and weaknesses of each.

11

Figure 2.3.2: Torque Density Plots of Optimized Halbach Array Motors in Configurations of Dual Array

(top) and Triple Array (bottom) [82].

As previously mentioned, the halbach arrays can direct the bulk of the magnetic field flux onto one side of the array in the desired location for operation. The conventional parallel-pole magnet arrangements used in motors do not have such a property, and need a backing of iron to guide the magnetic flow back into the desired location. Thus, by removing the need for the iron backing, halbach arrays noticeably reduce the total mass in the motor. It should be understood that the iron backing is also a structural

12 component of the motor and, if removed, another means to withstand the stress needs to be introduced, such as a carbon fiber shell [81]. It should also be noted that if the halbach magnets are too thin, the motor design can still benefit from having an iron backing. Xia et al. have studied this critical magnet thickness, showing plainly that when the critical point is passed the iron backing has no impact on the motor performance [84]. Ofori-Tenkorang and Lang, as well as Güler et al. have also compared conventional magnet arrangements with an iron backing to halbach arrays with an ironless backing showing that for the same mass, a halbach array produces a higher torque beyond the critical magnet thickness [40], [85].

Using analytical design tools, Lovatt et al. have shown that the dual halbach array integrated into their motor reduced the power loss by 20% compared to a conventional magnet arrangement of equal mass and with an iron backing [86].

Other advantages include the increased power density in the area of operation, increased efficiency, and reduction of eddy current loss. In their studies, Jha et al. have compared the radial halbach motor to a conventional motor with the same dimensions, current, voltage, and magnet grade, showing an increase of

41% torque for an out-run motor and 87% for an in-run motor [87]. Through the use of finite element analysis, Ubani et al. have shown that the addition of a halbach array in their axial flux motor simultaneously halved the mass and increased the flux density by a factor of 2.57 [88]. By introducing a halbach array into their axial flux motor prototype, Prasetio and Yuniarto were able to achieve an efficiency of 92.72% with an 807 Watt power output, suitable for use in electric vehicles [89]. In researching high acceleration machines, Dwari et al. determined that for their specific dimensions and requirements, introducing a halbach array into their motor reduced the rotational inertia of the motor by

58% while also increasing the torque by 6.3% [90], [91]. In regards to the eddy current impact, Jun et al. showed that incorporating a halbach array reduced the eddy current loss by 24.03%, which both increases the efficiency of the machine while reducing the amount of heat generated [92]. Li et al. have also studied eddy current losses, observing that there is a decreasing reduction on the losses as number of magnet orientations per pole increases [39]. These properties, along with the lower weight due to ironless

13 backing, have made halbach array motors a prime candidate for high performance industries such as spacecraft applications [92]-[94], vehicle racing [41], [95], and industry turbomachinery [96].

Lastly, halbach array motors have an interesting property in that they can be layered continuously. An example of this is shown in Figure 2.3.3. While this introduces complexity into the design, especially in the radial configuration, and more susceptibility to vibrations, unbalance, misalignment, and other mechanical issues [97], it allows for a greater dispersion of the electromagnets in the motor. This can be advantageous, as the increase in temperature generation in electromagnets does not scale linearly with volume, limiting the size to which an electromagnet can realistically be produced [25].

Figure 2.3.3: Schematics of a Dual Halbach Array (left) along with a Triple Halbach Array (right) [82].

The Rotor, which would sit between each set of Stators, is not shown.

14

3 GOVERNING EQUATIONS

Throughout this work, three main systems of equations are used. In the order that they are explored in this section, they are the electromagnetic equations governing the simulation of electric motors, the characteristic equations governing the electrical and physical behavior of electric motors, and the kinetic equations governing the behavior of quadcopter drones.

3.1 ELECTROMAGNETIC EQUATIONS

Many physical laws are at the core of electromagnetic finite element method (FEM) softwares. Chief amongst them are the Maxwell Equations. This set of equations is compromised of the Extended

Ampère’s Equation, Faraday-Lenz Equation, and the two Gauss Equations of magnetic conservation and electric conservation. These equations are laid out in that order as follows [98]:

훿푫 훻 ⨯ 푯 = 푱 + (EQ 3.1.1) 훿푡

훿푩 훻 ⨯ 푬 = − (EQ 3.1.2) 훿푡

훻 ⋅ 푩 = 0 (EQ 3.1.3)

훻 ⋅ 푫 = 𝜌푣 (EQ 3.1.4)

Five vectors are introduced here. In order of appearance they are: H magnetic field strength (amperes per meter), J current density (amperes per meter squared), D electric flux density (coulombs per meter squared), E electric field strength (volts per meter), and B flux density (teslas). The variable ρv is the charge density measured in coulombs per meter cubed.

On top of these equations are the three constitutive relations. There are the magnetic relation, dielectric relation, and Ohm’s Law, shown here in that order [98]:

15

푩 = 휇 ∗ 푯 + 푴 (EQ 3.1.5)

푫 = 휀 ∗ 푬 (EQ 3.1.6)

푱 = 𝜎 ∗ 푬 + 푱푠 (EQ 3.1.7)

Here, the new vectors M and Js are the remnant induction magnetization, of unit teslas, found in permanent magnets and the source current density in amperes per meter squared found in conductors. The variables μ, ε, and σ are the magnetic permeability (henrys per meter), dielectric permittivity (farads per meter), and electrical conductivity (siemens per meter) respectively. The variable μ is sometimes replaced, as will be done in this work, with the reluctivity tensor υ (meters per henry) like so [99]:

1 휇 = (EQ 3.1.8) 휐

Rather than using the field quantities of the preceding equations, FEM solvers tend to prefer solving the equations using partial differential equations. In these, the potentials for both the magnetic and electric fields are represented using magnetic vector potential A, measured in teslas by meters, and electrical voltage V in volts, like this [99]:

푩 = 훻 ⨯ 푨 (EQ 3.1.9)

푬 = −훻 ⋅ 푉 (EQ 3.1.10)

Using the constitutive magnetic relation and the Extended Ampère’s Equation, the two preceding equations can be combined and rearranged as follows [99]:

훿푉 훻 ⨯ (휐 ∗ 훻 ⨯ 푨) = 푱 − 휀 ∗ 훻 ⋅ + 휐 ∗ 푴 (EQ 3.1.11) 푠 훿푡

Using a calculus cross product identity, this equation can be simplified to:

훿푉 훻(휐 ∗ 훻 ⋅ 푨) − 휐 ∗ 훻2푨 = 푱 − 휀 ∗ 훻 ⋅ + 휐 ∗ 푴 (EQ 3.1.12) 푠 훿푡

16

And here, to guarantee unique solution fields, a reference Coulomb gauge is set. Naturally, this gauge will be set in such a manner that the mathematical equations are simplified:

훻 ⋅ 푨 = 0 (EQ 3.1.13)

This gives the final three-dimensional electromagnetic equation:

훿푉 휐 ∗ 훻2푨 = −푱 + 휀 ∗ 훻 ⋅ − 휐 ∗ 푴 (EQ 3.1.14) 푠 훿푡

For two-dimensional systems, this equation can be simplified even further. The magnetic vector potential and source current density vectors would only have components in the direction perpendicular to the plane, as such:

푨 = (0 0 퐴) (EQ 3.1.15)

푱풔 = (0 0 퐽푠) (EQ 3.1.16)

Also, the source current density can be broken down into its components of source voltage Vs, measured in volts per meter, and electrical conductivity σ, measured in siemens per meter, like this:

푱풔 = 𝜎 ∗ 푽풔 (EQ 3.1.17)

Of special note when evaluating transient equations is that many properties may be dependent on physical states. Of interest here are the remnant induction magnetization M and magnetic permeability σ, which are dependent on temperature, and the reluctivity tensor υ which is dependent on amperage. Adding indicators for these dependencies and the source voltage substitution mentioned prior provides the transient three-dimensional electromagnetic equation:

훿푉 휐(퐴) ∗ 훻2푨 = −𝜎(푇) ∗ 푽 + 휀 ∗ 훻 ⋅ − 휐 ∗ 푴(푇) (EQ 3.1.18) 풔 훿푡

Following these derivations is the discretization needed for their integration into the FEM softwares.

However, these discretization equations, both in the special and temporal dimensions, along with the

17 required boundary conditions, are quite extensive and laborious, requiring too much explanation for this work. Readers interested in these topics can explore the following sources to see the derivations and their explanations [99], [100].

Two unique boundary conditions will be addressed here that pertain to the electric motor simulations undertaken. The first is the magnetic boundary condition between the motor’s metal components and surrounding air outside of the stator-rotor gap. Due to the magnetic permeability of these materials being much greater than that of air, and that the motor’s geometry is designed to efficiently redirect the magnetic flux within itself, it is assumed that no flux travels outside of the metals and into the surrounding environment. The equation for this boundary relation, dubbed the Dirichlet condition, is as follows [99]:

| 푨 Г퐷 = 푨ퟎ (EQ 3.1.19)

Secondly, a special boundary condition is set when a full motor is cut down into either single electrical phases or half electrical phases for computation reduction. In the case of the reduction to the half electrical phase, where the magnetic flux ϕ of unit webers must be reversed, the boundary condition is as follows [101]:

흓(푟, 훥휃, 푧) = 흓풎(푟, −훥휃, 푧) (EQ 3.1.20)

Here, the subscript m denotes the flux at the opposing boundary and r, θ, and z are the radial, tangential, and axial coordinate directions.

3.2 ELECTRIC MOTOR CHARACTERISTIC BEHAVIOR

Rotating electric machine electronics all deal in the realm of alternating current, even the brushless DC

(BLDC) motors powered by DC voltage sources. This leaves the power input equation in a more complicated state than the expected product of voltage and current that is common to DC circuits. To begin breaking this down, the electromotive force (EMF) produced by the motor must be looked at. This

18 force, often redundantly referred to as the back EMF force, is the result of the rotating permanent magnets inducing magnetism into the stator armatures, creating a reverse current in the motor circuitry that the battery must overcome. The equation for this force for one phase is as follows [101]:

2 퐸푎 = 휔푚 ∗ 푁 ∗ 푝 ∗ 푘푙 ∗ 휙퐺푎푝 (EQ 3.2.1)

In this equation, ωm is the mechanical rotating speed of the motor in radians per second, N is the number of coil turns around each armature, p is the quantity of magnetic pole pairs present in the rotor, kl is the ratio of flux lost in the air gap known as the leakage coefficient, and ϕGap is the flux per coil turn in webers. This EMF is in turn used in the relation between the circuit's input voltage and armature current like so [101]:

2 2 푉퐼푛 = √(퐸푎 + 퐼푎 ∗ 푅푎) + (휔푒 ∗ 퐼푎 ∗ 퐿푎) (EQ 3.2.2)

The variables used are the voltage in VIn in volts, the back EMF of a single phase Ea in volts, the armature current Ia in amperes, the armature resistance Ra in ohms, the inductance La in henrys, and the electric angular frequency ωe in radians per second. The latter variable is simply the product of the physical rotational frequency ωm and quantity of pole pairs p.

This finally culminates to the electrical power PIn in watts being used by the 3-phase motor, as such

[101]:

푃퐼푛 = 3 ∗ 푉퐼푛 ∗ 퐼푎 ∗ 푐표푠휑푃ℎ푎푠푒 (EQ 3.2.3)

The new variable introduced, φPhase, is the angle between VIn and the EMF in the phasor diagram. This diagram can be seen in Figure 3.2.1 along with the electrical circuit diagram.

19

a) b) Figure 3.2.1: Brushless DC Motor Electrical a) Phasor Diagram and b) Circuit Diagram [101].

The reason PIn is of such importance and why it was examined is that it plays a central role in motor performance. Due to the inevitable loss present inherent to all energy transfer systems, the physical power that can be harnessed by the delivery drones will never be as great as this input power. However, it sets a standard for how close the powertrains should aim to reach. The three main sources of loss that exist when converting the electrical power PIn into mechanical power POut through electric motors are seen in the following equation [101]:

푃푂푢푡 = 푃퐼푛 − 푃퐶표푟푒 − 푃퐶표푝푝푒푟 − 푃푀푒푐ℎ (EQ 3.2.4)

In written terms, these are known as the core loss PCore, copper loss PCopper, and mechanical loss PMech respectively, all of units watts. The core loss consists of the energy lost to eddy currents and the energy spent orienting the magnetic flux throughout the iron of the motor, while the copper loss is the energy spent shuttling electrons through the windings. Both of these losses generate heat in the motor which needs to be properly dissipated lest the magnets start degrading at higher temperatures. The mechanical loss is typically a combination of the friction in the ball bearings as well as the air friction along the surface of the rotor. Rather than separate values, these losses are commonly joined as an efficiency ratio η between the input and output power like so:

푃 휂 = 푂푢푡 (EQ 3.2.5) 푃퐼푛

20

The output power is much simpler to break down than the input was, as it is simply the product of the mechanical rotational speed ωm, and torque T in newtons by meters [101]:

휋 푃 = 휔 ∗ 푻 ∗ (EQ 3.2.6) 푂푢푡 푚 30

While the controller logic and equations will not be elaborated on here, one of their aspects that must be understood is the pulse width modulation (PWM). Sometimes known more commonly as throttle, PWM is a method by which a battery can output a fraction of its voltage VBattery to a circuit [102]. As the value for PWM is a fractional percentage value, the equation for the voltage going into the circuit is simple and shown below in EQ 3.2.7. This value of VIn does not take into account the voltage of the back EMF it must overcome.

푉퐼푛 = 푉퐵푎푡푡푒푟푦 ∗ 푃푊푀 (EQ 3.2.7)

To understand what is happening with the PWM of the voltage, the motor’s driver logic must first be understood. As seen in Figure 3.2.2, six different gate drivers are used to choose where the current is directed into the motor. These gates are opened and closed as needed as the motor cycles through its electrical periods. By quickly opening and closing the top gate of a phase at a specific rate of throttle, as can be seen in Figure 3.2.3, an equivalent percentage of voltage is sent through the gate and into the motor. Notice how the bottom gates are never throttled, but always kept open when they are needed. This is because the inductance energy in the motor coils will keep discharging during the modulation and must have an avenue through which to discharge. By keeping the bottom gate open, this discharge is sent to the flyback diodes until the top gate is activated again and a closed circuit is created.

21

Figure 3.2.2: Gate Driver Diagram of a 3-Phase Brushless DC Motor [103].

Figure 3.2.3: Pulse Width Modulation Diagram of a 3-Phase Gate Driver at 75% Throttle [104].

Through varying the throttle and load experienced by the electrical motor, a wide variety of operating states of rotational speed and output torque can be produced. At steady state operation, each of these states will have a set electrical power input and mechanical power output along with the related efficiency ratio. By mapping out this efficiency for all possible operating points on a torque-rpm plane into an efficiency heatmap, the performance of the motor can be visualized. Below in Figure 3.2.4 are example efficiency heatmaps produced by ANSYS and Altair from their newly released software solutions in 2018 and 2019 respectively.

22

a)

b) Figure 3.2.4: Motor Efficiency Heatmaps as Produced by a) ANSYS Maxwell Machine Toolkit (2018)

[105] and b) Altair Flux E-Machine Toolbox (2019) [106].

23

Though the entire collection of equations governing the behavior and properties of electric motors is too great to discuss in its entirety here, one final equation that will be used in this work will be introduced.

This equation relates to the stacking factor of a motor’s stator and rotor. As mentioned earlier in EQ 3.2.4, one of the power loss locations in a motor is in its metal core due to eddy currents. These eddy currents are induced by the moving magnetization present during motor operation. By layering the stator and rotor in the axial direction with insulating sheets, usually made of silicon, these eddy effects can be prevented from moving in the axial direction, thus saving energy. This does not interfere with the magnetic flux flow inside the motor as the flow only travels in the radial and tangential directions. When modeling motors, the effect of the silicon laminations can be summarized by a stacking factor, calculated by the thickness of the laminations like so [107]:

푆푡푎푐푘𝑖푛푔 퐹푎푐푡표푟 = 0.0425 ∗ 훿퐿푎푚 + 0.6032 ∗ arctan (108.16 ∗ 훿퐿푎푚) (EQ 3.2.8)

Here, δLam is the thickness of the individual laminations in millimeters. This relation is shown graphically in Figure 3.2.5.

Figure 3.2.5: Graphical Representation between a Motor’s Lamination Thickness and Stacking Factor

[107]. 24

3.3 DRONE KINETICS

To define these governing equations, the standard coordinate system used must first be specified. This coordinate system for quad-copter drones and many other aircraft is illustrated in Figure 3.3.1 below. The pitch, used to propel the drone in the lateral direction, is determined by the angle θPitch, which is the rotation around the y-axis. The remaining two angles, roll φRoll and yaw ψYaw, are the rotation around the x and z-axes respectively. Neither of these angles will be important in this study as φRoll is not needed for one-directional motion and ψYaw is also not needed if we simply assume that the drone is already facing the proper direction. Both of these values also come into play for stabilization purposes. The control systems used to stabilize the drone are complex and implementing them would take away from the efficacy of the developed driving cycle. For this, they will be negated in this research by assuming both that the drone is properly balanced and that no outside forces, such as wind, are affecting the system. The energy spent in stabilization can still be accounted for by the user through the safety factor defined.

Figure 3.3.1: Quadcopter Dynamics Coordinate System.

To implement a driving cycle for delivery drones, the governing equations surrounding the drone’s operation must also be understood. The trip is split into three sections: Ascent, Cruising, and Descent. As the standard operation of the delivery drone is to deliver a payload and return to its original destination, each of these three segments must be completed twice, once with and once without a payload. Figure

3.3.2 shows the force diagram for these three travel segments.

25

a) b) c) Figure 3.3.2: Force Diagrams of the Drone Kinematics during a) Ascent, b) Cruising, and c) Descent.

In mathematical notation, these diagrams are expressed respectively with the following equations [108]:

General: 푭푷풓풐풑풖풍풔풊풐풏 = 푞푝푡 ∗ 푳풊풇풕푷풓풐풑 (EQ 3.3.1)

푭푳풊풇풕 = 푭푷풓풐풑풖풍풔풊풐풏 ∗ cos (휃푃𝑖푡푐ℎ) (EQ 3.3.2)

푭푻풉풓풖풔풕 = 푭푷풓풐풑풖풍풔풊풐풏 ∗ 푠𝑖푛 (휃푃𝑖푡푐ℎ) (EQ 3.3.3)

Ascent: 푭푳풊풇풕 = 푭품 + 푭푽푫풓풂품 + 푀 ∗ 풂푽 (EQ 3.3.4)

Cruising: 푭푳풊풇풕 = 푭품 (EQ 3.3.5)

푭푻풉풓풖풔풕 = 푭푯푫풓풂품 (EQ 3.3.6)

Descent: 푭품 = 푭푳풊풇풕 + 푭푽푫풓풂품 + 푀 ∗ 풂푽 (EQ 3.3.7)

Where qpt is the quantity of powertrains, LiftProp is the lift generated by a single propeller in newtons,

FPropulsion is the force output of all powertrains combined in newtons, θPitch is the pitch angle of the drone in radians, FLift is the vertical component of propulsion, FThrust is the horizontal component of propulsion,

M is the current mass of the drone in kilograms, and aV is the acceleration of the drone in the vertical direction with units of meters per second squared. Predictably, the variables for Fg, FVDrag, and FHDrag are

26 the forces of gravity, vertical drag, and horizontal drag, all with units of newtons, and which can be broken down as follows [109]:

푭품 = 푀 ∗ 풂품 (EQ 3.3.8)

퐶 ∗휌∗풗ퟐ 푭 = 푉퐷푟푎푔 푽 (EQ 3.3.9) 푽푫풓풂품 2

퐶 ∗휌∗풗ퟐ 푭 = 퐻퐷푟푎푔 푯 (EQ 3.3.10) 푯푫풓풂품 2

Where ag is the acceleration due to gravity with units of meters per second squared, ρ is the density of air in kilograms per meter cubed, CVDrag and CHDrag are the area-drag coefficients of the drone in the vertical and horizontal directions respectively with both having units of meters squared, and vV and vH are the vertical and horizontal velocities respectively with both having units of meters per second.

What are of real interest here, however, are the mechanical energy expenditures during these drone flight segments. These aforementioned values can be used, along with the efficiency of the motor under the current operating parameters, to determine the amount of electrical energy spent. First, the energy equation used for the ascent is given:

푡 푃 퐸 = 푞푝푡 ∗ ∫ 푓 푂푢푡 ∗ 푑푡 (EQ 3.3.11) 퐴푠푐푒푛푡 0 휂

Followed by the energy equation used for landing:

푃푂푢푡∗ℎ 퐸퐷푒푠푐푒푛푡 = 푞푝푡 ∗ (EQ 3.3.12) 휂∗푉푙푎푛푑

Where t is the time in seconds, tf is the time it takes to reach the cruise height in seconds, h is the cruise height in meters, Vland is the landing speed in meters per second, POut is the mechanical output power in watts, and η is the powertrain efficiency as a fractional percentage.

27

The energy used during horizontal traveling, which has been dubbed as cruising, is slightly more complicated. The drone is set at two different pitch angles for its two operating conditions depending on the presence of the payload. These pitch angles are chosen to minimize the energy usage for each meter traveled. Using the remaining energy, the safety factor, and noticing that the travel distance must be the same to and from the delivery location, we can solve for the drone’s travel distance as follows:

퐸 퐸 = 퐵푎푡푡푒푟푦 − ∑ 퐸 − ∑ 퐸 (EQ 3.3.13) 푅푒푚푎𝑖푛𝑖푛𝑔 푆퐹 퐴푠푐푒푛푡 퐷푒푠푐푒푛푡

푃 퐸푃푀 = 푞푝푡 ∗ 푂푢푡 (EQ 3.3.14) 2∗푀∗풂품∗푡푎푛(휃 ) 휂∗√ 푃𝑖푡푐ℎ 퐶퐻퐷푟푎푔∗휌

퐸 푘𝑖푙표푚푒푡푒푟 푑 = 푅푒푚푎𝑖푛𝑖푛푔 ∗ (EQ 3.3.15) ∑ 퐸푃푀 1000∗푚푒푡푒푟

Where EBattery, ERemaining, ΣEAscent, and ΣEDescent are the total electrical energy available, the energy delegated to lateral cruising, and the total energy used in the two ascents and descents respectively, all with units of joules. In turn, SF is the user-defined safety factor, EPM is the energy used to travel a meter for the current configuration of the drone in joules per meter, and lastly d is the maximum horizontal delivery distance in kilometers.

While not set out in rigorous equations like the preceding entries, some explanation of electric motor and propeller powertrain behavior may be of help to the reader and will be discussed. When voltage is applied to the controller of a BLDC motor, it will follow the behavioral rpm-torque curve of the voltage it was set to until the torque output drops and matches the load it experiences. An unloaded motor is only affected by the electromagnetic properties of its material components and will keep accelerating until the produced back EMF is too great to overcome. Returning to the case of a loaded motor, changing the speed of the motor may only be done by changing the load it experiences, or by varying the voltage supplied, usually through means of pulse width modulation. The propellers whose drag act as the motor load have their values of drag, rpm, and lift intrinsically tied at set angles of attack. Meaning, if one of the three values is

28 known, which in this case will be both the torque and rpm of the motor, the missing values can be found.

Finally, it should be noted that when working with quadcopter propellers, it is common to have their lift forces denoted in their specification sheets using the unit of grams. To convert these values to newtons, which are used throughout this research, simply follow the following equation using the acceleration due to gravity:

푘𝑖푙표𝑔푟푎푚 9.81∗푚푒푡푒푟푠 푁푒푤푡표푛 = 푔푟푎푚 ∗ ∗ (EQ 3.3.16) 1000∗𝑔푟푎푚 푠푒푐표푛푑2

Likewise, battery capacity is typically measured in milliamp hours and voltage in specification sheets.

This research prefers the use of joules, which can be converted to through the use of this equation:

푐표푢푙표푚푏 푎푚푝 3600∗푠푒푐표푛푑 퐽표푢푙푒 = 푚𝑖푙푙𝑖푎푚푝 ℎ표푢푟 ∗ ∗ 푠푒푐표푛푑 ∗ ∗ 푣표푙푡푎푔푒 (EQ 3.3.17) 1000∗푚𝑖푙푙𝑖푎푚푝 푎푚푝 ℎ표푢푟

29

4 METHODOLOGY OF HALBACH MOTOR DESIGN

To properly model a given drone’s behavior in the driving cycle, the characteristics of the powertrain must be known. This can prove difficult at times with the limited amount of data given by third party suppliers and the computation time needed to fully map out a motor design’s efficiency map. ANSYS

[110] and Altair [106] are both releasing computer aided design (CAD) toolkit packages aimed at achieving this more quickly for users, but these toolkits have yet to incorporate brushless DC motors, which are most commonly used in the drone industry.

For these reasons, the motor performance must be manually compiled from multiple Maxwell simulations, which will be explored in Section 4.1, to then assemble the operating points of the entire powertrain as explained in Section 4.2.

4.1 ANSYS MAXWELL SIMULATIONS

The simulations conducted in ANSYS Maxwell to evaluate the halbach array motor start in the software’s

RMxprt tool, and are then exported to the two-dimensional design space for transient analyses.

ANSYS Maxwell is a diverse electromagnetic simulation software capable of modeling a very wide variety of electromagnetic applications. To help in the specific evaluation of rotating electromagnetic machine applications ANSYS has included a tool in the software titled RMxprt. This tool takes in user input to determine the type of rotating machine to be modelled, along with its dimensions, material compositions, and much more so as to provide the user with quick results on their design’s performance.

The limitation of this tool is that it cannot accommodate more complex geometries, like that of a halbach array. In this research, the RMxprt tool will be used for its ease of use to create the base model which will then be exported to the more general two-dimensional modeling software incorporated in Maxwell where the needed modifications will be made.

30

When starting up RMxprt, the first prompt allows the user to choose the machine type to be modeled, which is chosen to be the Brushless Permanent-Magnet DC Motor. From there all of the parameters of the motor can be input into the properties tables. These will start with the general machine parameters, and follow up with the parameters of the circuit, stator, armature slots, windings, rotor, and magnets.

The general machine parameters set up the stator-rotor orientation, the quantity of magnet poles, the circuit type, and the losses the motor experiences at a set reference speed. The input parameters can be seen in Table 4.1.1. This is followed by the circuitry parameters, which are detailed in Table 4.1.2. These include the voltage drops across the flyback diode and gate transistors, as well as the electrical trigger pulse width and the lead angle of the electrical phases.

Table 4.1.1: General Machine Properties of the Halbach Array Motor in ANSYS Maxwell RMxprt. Name Value

Brushless Permanent-Magnet Machine Type DC Motor

Number of Poles 42

Rotor Position Outer Rotor

Frictional Loss 10 W

Windage Loss 10 W

Reference Speed 10000 rpm

Control Type Direct Current

Circuit Type Delta-Type 3-Phase Winding

Next, the physical properties and dimensions of the stator and rotor are detailed. Within both the stator and the rotor there will be laminated sheets stacked evenly in the axial direction separating the sheets of metal. These lamination layers are used to prevent the magnetic flux from traveling in the axial directions throughout the electric motor, reducing the loss they experience. The effect of these laminations can be approximated by a stacking factor, which can be calculated using the formula in EQ 3.2.8. With a

31 lamination thickness of 0.0242 millimeters the resultant stacking factor for both the stator and rotor is

0.728. The other parameter that will be universal to both the stator and rotor is the material used. For this work, a standard iron has been chosen, whose properties are laid out in Table 4.1.3. The last property of note which belongs to the stator is the skew width. This skew width spirals the armatures around the axis in the axial direction, and can be incorporated into electric machines to reduce cogging torque. No armature skewing will be used for this motor. The full tables of parameter values for the stator and rotor can be found below, titled Table 4.1.4 and Table 4.1.5 respectively.

Table 4.1.2: Circuitry Properties of the Halbach Array Motor in ANSYS Maxwell RMxprt. Name Value

Lead Angle of Trigger 0 degrees

Trigger Pulse Width 120 degrees

Transistor Drop 2 V

Diode Drop 2 V

Table 4.1.3: Material Properties of Iron in the Halbach Array Motor in ANSYS Maxwell RMxprt. Name Value

Relative Permeability 4000

Bulk Conductivity 10.3 MS/m

Magnitude of Magnetic 0 Coercivity

Thermal Conductivity 79 W/m/C

Mass Density 7870 kg/m3

Specific Heat 447 J/kg/C

32

Table 4.1.4: Stator Properties of the Halbach Array Motor in ANSYS Maxwell RMxprt. Name Value

Outer Diameter 120 mm

Inner Diameter 90 mm

Length 5 mm

Stacking Factor 0.728

Steel Type Iron

Number of Slots 36

Slot Type 4

Skew Width 0

Table 4.1.5: Rotor Properties of the Halbach Array Motor in ANSYS Maxwell RMxprt. Name Value

Outer Diameter 128.25 mm

Inner Diameter 120.25 mm

Length 5 mm

Steel Type Iron

Stacking Factor 0.728

Pole Type Outrun

The slot dimensions are entered next. RMxprt provides the users with a selection of slot types from which to base the final slot designs. As identified in Table 4.1.4, the slot type 4 is selected. An image of this slot is shown in Figure 4.1.1. The values for its physical parameters are shown in Table 4.1.6.

33

Figure 4.1.1: Schematic of Slot Type 4 Base Model as Available in Maxwell RMxprt Detailed with all

Configurable Dimensions [111].

Table 4.1.6: Armature Slot Properties of the Halbach Array Motor in ANSYS Maxwell RMxprt. Name Value

Auto Design Not Selected

Parallel Tooth Not Selected

Hs0 1.11 mm

Hs1 0.63 mm

Hs2 10.0 mm

Bs0 2.37 mm

Bs1 6.32 mm

Bs2 4.73 mm

Rs 0.95 mm

The windings of the motor contain many properties that need to be specified, first regarding their general composition followed by more minute dimensions. Starting with the general properties, a winding layer of two is chosen, meaning each slot between armatures has two winding coils passing through them.

Double layer windings are the most common configuration in all motors, and are invariably used in DC motors [112]. A whole-coiled winding pattern is used so that one phase can consecutively wrap around

34 two adjacent coils, and a pitch of one is selected meaning each winding wraps around only one stator arm.

Figure 4.1.2 illustrates the winding pattern, while Table 4.1.7 provides all of the general winding properties. The specific dimensional properties of the windings are all tabulated in Table 4.1.8, and the property explanations can be found in the ANSYS Maxwell Help Guide for reference [111].

Figure 4.1.2: Winding Configuration Throughout the 36 Armature Slots of the Halbach Motor Generated

in Maxwell RMxprt.

The magnet pole properties are to follow. To allow for the inclusion of the circumferentially aligned halbach magnets during the two-dimensional modeling some room must be allocated between the radially aligned magnets. This is accounted for with the embrace parameter, which takes a value of zero to one to determine which percentage of its angular range each magnet occupies. Using an embrace of two thirds results in the radial magnets being twice as wide as the circumferential magnets. The chosen magnet type is a neodymium iron boron magnet of composition N50M, chosen both for its high magnetic coercivity and ability to function at high heats [113]. Its data can be found in Table 4.1.9, followed by the simulation magnet dimensions in Table 4.1.10.

35

Table 4.1.7: General Winding Properties of the Halbach Array Motor in ANSYS Maxwell RMxprt. Name Value

Winding Layers 2

Winding Type Whole-Coiled

Parallel Branches 1

Conductors per Slot 15

Coil Pitch 1

Number of Strands 1

Wire Wrap 0.01 mm

Wire Gauge 22

Wire Diameter 0.643 mm

Table 4.1.8: Winding End/Insulation Properties of Halbach Array Motor in ANSYS Maxwell RMxprt. Name Value

Input Half-turn Length Not Selected

End Extension 1.0 mm

Base Inner Radius 0.3 mm

Tip Inner Diameter 1.0 mm

End Clearance 4.0 mm

Slot Liner 0.01 mm

Wedge Thickness 0.6 mm

Layer Insulation 0.01 mm

Limited Fill Factor 0.9333

36

Table 4.1.9: Material Properties of N50M in the Halbach Array Motor in ANSYS Maxwell RMxprt. Name Value

Relative Permeability 1.076

Bulk Conductivity 625 kS/m

Remanence 1.41 T

Magnitude of Magnetic 1035 kA/m Coercivity

Maximum Operating 90 C Temperature

Mass Density 7400 kg/m3

Table 4.1.10: Magnet Pole Properties of the Halbach Array Motor in ANSYS Maxwell RMxprt. Name Value

Embrace 0.667

Offset 0

Magnet Type N50M

Magnet Thickness 2.13 mm

To export the completed model into the two-dimensional design environment, a simulation setup must first be evaluated. RMxprt asks for the operating temperature, which is set to 75 degrees Celsius, and the voltage. This research chooses to evaluate the motor for a range of voltages using an interval of 5 volts up to 70 volts. Each of these voltage values are selected in turn to set up for the export. From this analysis many points of data can be learned about the motor design. The behavior of many motor properties like power and efficiency can be observed, along with physical properties. Regarding the characteristics of efficiency at each voltage setting, which are based off of the physical friction and wind loss, the winding loss, and the core loss as shown in EQ 3.2.4, it can be observed that little change would be incurred from the addition of the halbach magnets, and that the efficiency curve evaluated here may be applied to the

37 final motor performance generated in the two-dimensional transient analyses. The weight of the individual motor sections is also provided by RMxprt. To account for the magnet weight of the halbach magnets, a separate analysis was conducted on a motor whose rotor has a full magnet embrace of one.

The data for these mass values are entered into Table 4.1.11. The illustration of the final design as seen in

RMxprt is shown in Figure 4.1.3.

Table 4.1.11: Mass Breakdown by Component of the Halbach Array Motor. Name Value

Armature Copper Weight 22.6 g

Permanent Magnet Weight 30.3 g

Armature Core Steel Weight 73.9 g

Rotor Core Steel Weight 21.3 g

Total Net Weight 148.0 g

Figure 4.1.3: Final Motor Design as Illustrated in Maxwell RMxprt.

With all the RMxprt solutions analyzed, they can be exported to create a Maxwell 2D Design. This is an automatic process conducted by Maxwell. The entire geometry is created then simplified down to a sixth of its full size to remove the redundancies in symmetry, and an external circuit representing the internal

38 windings and controller switching is also produced. One such of these produced external circuits, in this case for the 5 volt scenario, is shown in Figure 4.1.4.

Figure 4.1.4: External and Internal Motor Circuitry Generated Automatically by Exporting the Maxwell

RMxprt Design to the 2D Design Environment.

The produced slice of motor is 60 degrees of the entire motor, making up half of an electrical degree.

Each half of an electrical degree is inversely symmetrical to the other, which is accounted for in this model with a Master-Slave boundary at each edge of the cut section of motor with a condition that inverses the magnetic flux that passes through it. Figure 4.1.5 shows the model produced by exporting from RMxprt.

39

Figure 4.1.5: Half Electrical Phase Motor Segment Generated Automatically by Exporting the Maxwell

RMxprt Design to the 2D Design Environment.

This model now needs to include the halbach magnets. The simplest method to add their geometry into the model is to rotate to magnet array to the x-axis using the rotate function. Then, a boolean operation is performed that cuts and duplicates the magnet intersecting through the axis at its midsection. These cut pieces can then be rotated into the holes of the array. This process is shown in Figure 4.1.6.

40

Figure 4.1.6: Process of Rotation and Boolean Splitting Operations to Generate the Circumferentially

Aligned Halbach Array Magnets in the Maxwell 2D Design Environment.

With the newly cut magnet pieces in place, their magnetic orientation must now be changed to their appropriate orientations. The original magnets will keep their radial orientation, alternating between directing their flux towards and away from the origin. The new magnets must have their orientation directed circumferentially, alternating between the positive and negative theta direction. This can be done by cloning the magnet properties of the original magnets, setting the radial flux magnitude to zero, and the circumferential flux magnitude to either positive or negative one as needed. The alternating pattern is set such that the flux is directed towards the stator and not the iron backing. Figure 4.1.7 illustrates this pattern.

41

Figure 4.1.7: Alternating Halbach Magnet Array Pattern with the Magnet Orientation Coded as follows:

Positive Radial Flux in Red, Negative Radial Flux in Blue, Positive Circumferential Flux in Yellow, and

Negative Circumferential Flux in Green.

The next two steps are to set up the meshing operations and the motor’s motion setup. All of the physical components are to be meshed. This includes the stator, rotor, magnets and windings. The mesh operations used in this research are provided in Table 4.1.12. Regarding the motion setup, Maxwell has already automatically created a band region surrounding exclusively the rotor and magnets, which will be the component that moves in the transient analyses. The settings, including the motion of inertia and damping which are calculated by Maxwell, are listed in Table 4.1.13.

42

Table 4.1.12: Mesh Operations of the Halbach Array Motor in ANSYS Maxwell 2D Design. Name Value

Type Surface Approximation Based

Surface Deviation 0.0641 mm

Normal Deviation 15 degrees

Aspect Ratio Use Default

Table 4.1.13: Motion Setup of the Halbach Array Motor in ANSYS Maxwell 2D Design. Name Value

Initial Angular Velocity 0

Moment of Inertia 782 mg*m2

Damping 5.33*10-5 N*m*s/rad

Load Torque 0

With all of the design parameters determined, the transient analyses can be undertaken. To model the rpm-torque relation of the motor at any given voltage, the motor most be swept through its range of rpm operating points. To achieve this, the motor begins at rest and accelerates itself with no outside forces applied. At the lower speeds, high levels of torque are generated due to the low switching frequency of the controller leading to the winding coils charging up much current. As time progresses and the motor begins to spin faster, these current peaks decrease, as does the produced torque. This progresses until the torque keeps lowering asymptotically toward its zero line indefinitely. In this transient simulation the torque can never average out to zero due to the resistive forces it needs to overcome.

While this approach is efficient for generating the needed torque data, it produces two notable erroneous areas in the data, specifically at the stall point and the no load point. While these two operating points can be determined through additional simulations, they are not needed for this research as the rotor drag, which increases quadratically with rpm, prevents the motor from operating close to either its no load or

43 stall torque operating points. For this reason, only the middle range of the motor performance needs to be modeled, which is included in the aforementioned analysis setup. Through trial and error, it has been determined that for this specific motor and voltage range a transient analysis of 100 milliseconds at a step increment of 50 microseconds is enough to cover this region. The produced torque graph for the 45 volt transient run is shown in Figure 4.1.8, followed by the phase winding currents and induced voltages for the first 20 milliseconds in Figures 4.1.9 and 4.1.10. A snapshot of the magnetic flux passing through the motor at the 100 millisecond mark is also shown in Figure 4.1.11. The data that has been generated and compiled for all 14 different voltages settings of the halbach motor will then need to be post processed so that they are useable by the driving cycle simulation.

Figure 4.1.8: Torque vs Time Graph for the Transient Simulation of the Halbach Array Motor at 45 Volts

over a Span of 100 milliseconds with a Time Step of 50 microseconds.

44

Figure 4.1.9: Phase Winding Currents for the Transient Simulation of the Halbach Array Motor at 45

Volts over a Span of 20 milliseconds with a Time Step of 50 microseconds.

Figure 4.1.10: Phase Winding Induced Voltages for the Transient Simulation of the Halbach Array Motor

at 45 Volts over a Span of 20 milliseconds with a Time Step of 50 microseconds.

45

Figure 4.1.11: Magnetic Flux Lines produced throughout the Halbach Array Motor during the Transient

Simulation at 45 Volts and 100 milliseconds.

46

4.2 POWERTRAIN DATA PROCESSING

With the data generated in ANSYS Maxwell, the comprehensive performance of the motor can be assembled. The process that will be used will first find lines of best fit for the simulated motor data points at each voltage. Then, a novel polynomial interpolation code will be applied that will increase the density of the data points and transcribe them to a more useable two-dimensional mesh format. The final step is to overlay the propeller’s operation range for the quantity of motors chosen to determine the powertrain data points.

Figure 4.2.1: Polynomial Curve Fitting of the Transient Data Points of the Halbach Array Motor

Operating at 70 Volts.

To start the curve fitting of the simulation rpm-torque data points, the data must be cut to only contain the realistic range of points. To achieve this, the first electrical rotation of the motor that occurs during the transient simulation will be omitted. The motor starts at a standstill for that rotation cycle, which skews the torque values produced. With the remaining data, a polynomial line of best fit of the fifth degree is created through MATLAB’s polyval and polyfit functions. This can be seen in Figure 4.2.1. Noticeably,

47 the polynomial curve passes beyond the data points on either side, and the intersections with the Cartesian axes for both the stall condition and zero load condition may not be exact. However, for the purposes of this research there is no need to find those exact values as those operating regions will never be utilized by the powertrain when the propeller’s profile is taken into account. These curves are all compiled together and shown in Figure 4.2.2.

Figure 4.2.2: Compiled rpm-Torque Polynomial Curves of the Halbach Array Motor Operating from 5 to

70 Volts.

For the next step, a tool coded in MATLAB titled polyonmialInterpolation has been developed and shared in Appendix A. The code generates a useable powertrain data set based off of the data lines just created. The tool is set up so that it can map out motor performance for any motor if it is given at least two sets of data at distinct voltages. While a meticulously mapped out motor performance map would still be ideal, this method is useful not only for incomplete data but also for quick approximations before spending extensive hours on comprehensive CAD simulation or experimental data collection. Naturally, the more data the user inputs the more accurate the final results will be, but for base results all that is

48 needed are a few sets of operating points for the desired electric motor categorized by voltage, and the rpm-lift and rpm-torque performance curves for the propeller. In the case of the halbach motor modeled here, 14 sets of data are being inputted along with a 15th set of data consisting of only zeros to interpolate down to the zero voltage operation.

Polynomial lines of best fit are generated along the data points of equal voltage in the torque-rpm plane.

Ten thousand new data points are generated on these lines, each with interpolated data points of the five listed categories assigned to them. Next, nine new sets of polynomial lines are generated between the voltage data sets in the radial direction of a desired user density. The data points of these lines are generated similarly to the preceding polynomial fits. The produced outcome of all polynomial lines overlaid on the original data points can be seen in Figure 4.2.3.

Figure 4.2.3: Polynomial Interpolation of the User-Defined Electric Motor Data in the Torque-rpm Plane.

A small Interpolation Density of Two is used here for Visual Clarity.

49

With these manipulations, the data is now useable by MATLAB’s own data interpolation functions.

Using the griddata function with linear interpolation, the circumferential lines of data can now be transformed into a much more manageable x-y grid of data points. Unfortunately, the full rectangular output is not representative of the actual operating points of a motor. It is thus undertaken at this stage to remove these data points as well as any points that are outside of the drone’s amperage ranges. In this case, cutting off the amperage at 120 amps creates an approximate cutoff line at 13 newton meters. Now, the efficiency heatmap of the motor can be generated, which is demonstrated in Figure 4.2.4.

Figure 4.2.4: Resultant Efficiency Heatmap of the Interpolated User-Defined Electric Motor Data.

The last step of the powertrain data processing is to tie in the propeller operating points to those of the motor. The relation between the propellers rpm and torque is a quadratic one, as is the relation between its rpm and lift [114]. The coefficients for these relations can be determined from curve-fitting of experimental data points produced using the propellers [115]. An example of this is shown in Figure

50

4.2.5. In this example, experimental data points of third party propellers were compiled from T-Motor

[116] and used to generate the quadratic curves for rpm-torque and rpm-lift that both pass through the origin.

Figure 4.2.5: Rpm-Torque and rpm-Lift Quadratic Curve-Fitting of P22x6.6 Data [116].

In realistic conditions, the propeller output data would vary as a function of the angle of attack, which changes continuously as the drone maneuvers through the air. However, data of this kind is rare to come by for products that are bought from third party suppliers and time intensive to generate using in-house

CADing or extensive wind-tunnel testing. The model used in this research has been simplified and will ignore these changes in angle of attack. However, for future work that is conducted with this angle of attack data in hand, it is recommended the code be modified to accommodate it. This should also be kept in mind specifically for users looking to explore a drone using coaxial propellers. Coaxial propellers change the behavior of the airflow around each other drastically due to the lower propellers being affected

51 by the draft of the top propeller, with the lower of the two receiving a typical loss of lift output of around

60% [117].

Proceeding onto matching up the data points between the motor and propeller, the user will have the choice to input how many motors are attached to each propeller. The propeller data is overlaid onto the new resultant power output and a final quadratic curve in the torque-rpm plane is produced and shown in

Figure 4.2.6. Figure 4.2.7 presents the same scenario but with two motors attached to the propeller, thus halving the torque load on each motor and, by doing so, reaching a more efficient operating region with the powertrain curve. These produced data curves, each representing an entire powertrain, holds six different pieces of data at each operating point: rpm, torque, lift, efficiency, voltage, and current. With these in hand the drone can now be evaluated in the driving cycle.

Figure 4.2.6: Overlay of the P22x6.6 rpm-Torque Operating Points of the Electric Motor Efficiency

Heatmap, showing the useable Motor Operating Points of this Powertrain Configuration.

52

Figure 4.2.7: Overlay of the Halved P22x6.6 rpm-Torque Operating Points of the Electric Motor

Efficiency Heatmap, showing the useable Motor Operating Points of this Powertrain Configuration.

53

5 DRIVING CYCLE OF DELIVERY DRONE

The delivery drone driving cycle that has been devised is a simple to and fro delivery of a package. A drone delivery operation that has grown to be elaborate, with multiple distribution centers, drone charging roosts scattered across a city, or transport trucks carrying the delivery drones as a mobile hub will need more convoluted performance goals and calculations making up the skeleton of their driving cycles. As a first work in the field of delivery drone driving cycles, this driving cycle will retain simplicity and consist of one drone delivering one package to one destination before returning to the location where it started its delivery. The ascents and descents of the drone will be strictly vertical so as to not deal with collision detection of buildings, trees, or other installments near the ground.

The path the drone takes in this driving cycle can be split into six segments. These are, as shown in Figure

5.1: the ascent with the payload, the horizontal cruise with the payload, the descent with the payload, the ascent without the payload, the horizontal cruise without the payload, and lastly the descent without the payload. For simplicity, when explored in more depth the common segments will be paired off as the coded logic essentially operate the same regardless of the presence of the payload.

Figure 5.1: Driving Cycle Breakdown in Six Segments: Ascent with Payload, Horizontal Cruise with

Payload, Descent with Payload, Ascent without Payload, Horizontal Cruise without Payload, and Descent

without Payload.

54

The purpose of the driving cycle is to calculate the maximum delivery radius of the drone under the current desired operating conditions. This is done by calculating how much energy is used in the drone’s ascent and descent to and from the travel height, and then finding the optimal pitch angle to determine how much horizontal distance can be covered with the remaining energy. A flow chart of this process is detailed in Figure 5.2. The parameters the user needs to input are all listed in the starting box of the flow chart.

Figure 5.2: Flowchart of the Delivery Drone Driving Cycle with Aim of Optimizing the Horizontal

Travel Distance of the Drone.

55

The ascent is the first stage that is calculated and consists of three iterative loops. The first loop runs twice to calculate the two ascents, first for the delivery trip and then for the return trip. The second loop is used to test a range of different ascent profiles. The reasoning behind testing multiple ascent profiles in each run is that different drone configurations may perform better using different methods of ascension.

Research has proven unfruitful for finding a reliable universal method to get up to altitude using the least amount of energy for any powertrain. Using the maximum efficiency operating point would use the least energy per second, but dialing up to full throttle would get the drone up the fastest and potentially save energy even if the wattage is increased. Logic dictates the ideal point is between or at one of those two power settings, but rather than assume the most efficient profile of the tested drone it can be found through the iteration. The third and final loop is used to calculate the kinetics of each user-defined time step in the simulation. This is simply taking the current speed to calculate instantaneous drag and sum all forces to determine the acceleration, the change in velocity, and position, repeating until the drone is at the desired cruise altitude.

The descent profile naturally has the goal of safely touching the drone down to the ground while minimizing energy usage. Work has already been conducted on this topic by Setyawan et al. [118], though their approach has so far only looked at distance below three meters and may not prove useful at the altitudes of delivery. For these greater distances, on board sensors like lidars is the standard for safely lowering the drone [119]. However, while this approach can be implemented by the user, this research chooses to instead look at a worst case approach in terms of telemetric knowledge. The reason for this being that the maximum distance measured should still account for these fail safe measures where the onboard sensors may malfunction and lead to greater energy expenditures. For this reason, it will be assumed that the drone is not aware of its current distance to the ground, which may have changed as it traveled over dynamic topography. The drone will thus fall at its maximum safe landing speed, using a combination of its propellers and drag to counteract the force of gravity once it reaches that speed. It will

56 maintain this output until it touches down and finishes the current leg of its journey. As before, this energy usage is calculated twice for the conditions of carrying and not carrying a payload.

The last two segments to calculate are the horizontal displacements to and from the delivery point. For these segments, an ideal pitch angle can be found at which the drone uses the least amount of energy to travel one meter. There is a limit to how much the pitch can be increased, as some of the propeller lift must be used to counteract the force of gravity. This maximum pitch is first found, with the amount of energy per meter used to travel at that pitch being calculated. All angles below this value down to zero, in intervals of tenths of a degree are then set and their energy per meter values calculated as well. The most efficient pitch angle is kept for both travel directions, as well as their energy per meter values. These two energy per meter values are summed, giving a final number which indicates the amount of energy burnt for each meter the radius of delivery is increased.

Having calculated the needed properties from all of the trip segments, the maximum radius of travel can be determined for the drone configuration tested. The total drone energy is first divided by the defined safety factor, effectively giving the amount of energy allocated to the powertrains for the trip. The energy needed for the ascents and the descents is subtracted from this value, leaving just the energy available for cruising. This remaining energy is divided by the final energy per meter value found earlier, which gives the maximum radius of delivery that the simulated drone can operate in. The complete code written in

MATLAB titled deliveryDroneDrivingCycle can be found in Appendix A.

57

6 RESULTS OF DELIVERY DRONE DRIVING CYCLE

Results from multiple test runs will be analyzed. A total of 54 drone configurations were tested, with the varying factors being the quantity of powertrains, the quantity of motors, and the propellers used on the drone. These are first compared in a standard driving cycle run. Different sections of the driving cycle are analyzed in turn, looking at the pitch angle during horizontal cruising, the throttle used during takeoff, and the energy used in the drones’ ascents and descents. Following that, permutations of the driving cycle are tested. These permutations vary the cruise height and the payload mass in a range of values, and analyze how a drone’s average performance compares to their peak performance based off of these variances.

6.1 DELIVERY DRONE PARAMETERS

To test the standard driving cycle run, the properties of the delivery drones that will be tested are laid out in Table 6.1.1.

Table 6.1.1: Simulation Delivery Drone Properties. Drone Property Value

Drone Housing Mass 25 kg

Payload Mass 5 kg

Cruise Height 100 m

Maximum Landing Velocity 5 m/s

Vertical Area-Drag 0.08 m2 [120] Coefficient

Horizontal Area-Drag 0.015 m2 [121] Coefficient

Battery Capacity 8 MJ

Maximum Voltage 70 V

Safety Factor 1.2

Quantity of Powertrains 4, 6, 8

58

This delivery drone will be tested using 18 different powertrains. Six different propellers will be tested, though only one type of propeller will be used at any given time for force and angular momentum balancing. These propellers will be attached to one, two, and three coaxial motor configurations for comparison. The characteristic behavior between the propellers’ rpm and lift, and rpm and torque, which are quadratic in nature, can be found in Table 6.1.2. Full graphs showing the compiled propeller data, which has been pulled from the T-Motor website [116], and the lines of best fit can be found in Appendix

B. As explained in Section 4.2, the quadratic rpm-torque curves of the propeller are overlaid onto the motor’s rpm-torque plane to determine which motor operating points the powertrain may use. A visual representation of this for all 18 powertrains tested can be found in Appendix C. The motor itself was measured to have a mass of 148 grams in Section 4.1. However, this did not take into account the mass of the housing, ball bearings, axle, or complete wiring. An approximated final motor mass is set at 350 grams. This mass, along with the mass values for all the powertrain components, is tabulated in Table

6.1.3.

Table 6.1.2: Propeller Characteristic Curves of Lift and Torque as Functions of rpm. Propeller Lift (N) Torque (N)

P22x6.6 푓(푟푝푚) = 2.0 ∗ 10−6 ∗ 푟푝푚2 푓(푟푝푚) = 4.8 ∗ 10−8 ∗ 푟푝푚2

G26x8.5 푓(푟푝푚) = 4.6 ∗ 10−6 ∗ 푟푝푚2 푓(푟푝푚) = 1.5 ∗ 10−7 ∗ 푟푝푚2

G27x8.8 푓(푟푝푚) = 5.3 ∗ 10−6 ∗ 푟푝푚2 푓(푟푝푚) = 1.8 ∗ 10−7 ∗ 푟푝푚2

G28x9.2 푓(푟푝푚) = 6.6 ∗ 10−6 ∗ 푟푝푚2 푓(푟푝푚) = 2.1 ∗ 10−7 ∗ 푟푝푚2

G29x9.5 푓(푟푝푚) = 8.6 ∗ 10−6 ∗ 푟푝푚2 푓(푟푝푚) = 2.8 ∗ 10−7 ∗ 푟푝푚2

G30x10.5 푓(푟푝푚) = 9.6 ∗ 10−6 ∗ 푟푝푚2 푓(푟푝푚) = 3.4 ∗ 10−7 ∗ 푟푝푚2

59

Table 6.1.3: Simulation Powertrain Component Masses. Component Mass (g) Motor 350 Powertrain Arm 500 P22x6.6 Propeller 56 P26x8.5 Propeller 87 P27x8.8 Propeller 92 P28x9.2 Propeller 98 P29x9.5 Propeller 108 P30x10.5 Propeller 132

6.2 DRIVING CYCLE SIMULATION RESULT ANALYSIS

With the powertrains used now detailed, it is time to run the delivery drone driving cycle simulation. For the first runs the goal will be to narrow down the ranges of powertrain parameters being used. As previously explained, there is a choice of one motor, three quantities of motors per propeller, six propellers, and three quantities of propeller powertrains. In total, there are 54 permutations to compute.

By comparing the outputs of all 54 of these permutations, the best performing configurations can be isolated and analyzed in more depth. Figure 6.2.1 shows the maximum delivery distance for each of these aforementioned drone configurations using the input parameters listed in Table 6.1.1 and Table 6.1.3.

Looking at the aforementioned graph, three aspects immediately stand out. First, the configuration of four

P22x6.6 propellers and four motors total in the drone has too little lift for takeoff. Second, there is a correlation between increasing the number of powertrains and motors used in the drone, even if the battery capacity never changes. The ideal quantity of powertrains and motors per powertrain for the

P22x6.6, G26x8.5, G27x8.8 and G28x9.2 propellers are eight powertrains and two motors per, while it turns out to be six powertrains and three motors per for the G29x9.5 and G30x10.5 propellers. Lastly, for the properties of the drone and the motor used, propellers G28, G29, and G30 are the highest performing across the board. This is interesting specifically for the P22x6.6 propeller, as it is the powertrain which

60 overlaps the most with the motor’s high efficiency region, as can be seen in Figure C1 in Appendix C.

This leads to the conclusion that while the energy may be consumed more efficiently, it does not necessarily help if the drone is too slow in its maneuvers and spends more time in the air than the others.

Figure 6.2.1: Maximum Drone Delivery Radius depending on the Propellers used, their Quantity, and the

Number of Motors attached to each.

The delivery radius values for the ideal powertrain configuration of each propeller are given in Table

6.2.1. The insight gained about how all the propellers perform better under different configurations will warrant the removal of the less performant powertrain configurations. But before that is done, there is still a bit more knowledge to pull out from those configurations.

Table 6.2.1: Maximum Delivery Radius for each Propeller in Tested Configurations. Propeller P22x6.6 G26x8.5 G27x8.8 G28x9.2 G29x9.5 G30x10.5

Delivery Radius (km) 9.384 9.969 10.130 11.586 11.954 10.829

Ideal Quantity of 8 props 8 props 8 props 8 props 6 props 6 props Propellers and Motors 2 motors 2 motors 2 motors 2 motors 3 motors 3 motors

61

Next, the pitch angle of horizontal movement will be explored. For these values, the simulation solved both the maximum pitch angle that a motor configuration could propel itself at, and the ideal angle where it used the least amount of energy to travel a meter. To see if any trends can be analyzed from this data, the pitch angles of all 54 configurations are shown below twice. The first figure, Figure 6.2.2, shows the maximum and ideal pitch angles for when the drone is carrying a payload while the latter, Figure 6.2.3, shows the same values but for the return trip when the drone no longer has a payload. More detailed figures representing this data for the specific drone configurations can be found in Appendix D.

A very interesting trend can be seen from these figures. First, allow for the four points (three in Figure

6.2.2 and one in Figure 6.2.3) where the ideal pitch angles coincide with the maximum pitch angles to be ignored, as these indicate that the drone configuration allocated most of its power to counteracting gravity and could not propel itself forward well. What the remaining data points show is that there is a clear preference of the tested drone and the tested motors to have a pitch angle in range between 27 and 47 degrees regardless of the propellers used, or the quantity of motors or propellers. While it is too early to say that this is universal for all delivery drones, for the one tested here using 100% throttle was never the ideal choice. Meaning, a drone that tilts at an angle of 80 degrees, which some of these configurations could achieve, would move much faster and stay in the air for a shorter period of time, yet it is shown that this is not as efficient than staying in the air longer and utilizing the motors more optimally. It should be noted as well that as the pitch increases the velocity linearly, the drag is increased exponentially, contributing to the trends seen. However, no concrete trend is seen in which a single pitch angle is best for the different configurations, and the 20 degree pitch difference in ideal pitches is quite large. This leads to the conclusion that no universal ideal pitch exists, and it is worthwhile to calculate it for each delivery drone designed. All ideal pitch values in the figures which are not the same as the maximum pitches have been averaged and are shown in Table 6.2.2 for both payload and no payload configurations.

62

Figure 6.2.2: Ideal and Maximum Pitch Angles of Horizontal Motion for a Delivery Drone with Payload

for all 54 Tested Configurations of Powertrain Variations.

Figure 6.2.3: Ideal and Maximum Pitch Angles of Horizontal Motion for a Delivery Drone with no

Payload for all 54 Tested Configurations of Powertrain Variations.

63

Table 6.2.2: Average Ideal Pitch Angle for each Propeller in Tested Configurations. Propeller P22x6.6 G26x8.5 G27x8.8 G28x9.2 G29x9.5 G30x10.5 Average Average Ideal Pitch Angle 37.51 33.09 35.21 34.64 36.39 37.22 35.68 (Degrees) with Payload Average Ideal Pitch Angle 36.68 36.18 34.59 35.44 37.40 38.36 36.44 (Degrees) without Payload

Following this, a parameter similar to the pitch will be analyzed, namely the throttle used for the ascent.

The reason for the similarity follows from the intuitive logic that the least time spent on the leg of the trip would lead to the least energy being used, though it may be that burning too much power too inefficiently might be outperformed by a steadier and slower takeoff. The following figures, numbered 6.2.4 and 6.2.5, show the ideal throttle percentages that were calculated for each configuration, first with a payload and then without one. The throttle is evaluated as a fractional percentage between the maximum voltage available and the voltage used.

Figure 6.2.4: Ideal Throttle Profile of Ascent for each of the 54 Tested Drone Powertrain Configurations

while the Drone carries a Payload.

64

Figure 6.2.5: Ideal Throttle Profile of Ascent for each of the 54 Tested Drone Powertrain Configurations

while the Drone does not carry a Payload.

Like was observed in the pitch angle analysis, the drone configurations that have the least amount of lift tended to push for the maximum setting, which in this case is 100% throttle. As the quantity and power of the powertrains increased, so did the ideal throttles decrease. Interestingly, the three propellers which were found to have the maximum travel distance are the same three propellers which ascent to cruise altitude the best at the lowest throttle percentages, reaching down as low as 36% both when carrying and not carrying the payload. To perhaps get a better understanding of why this may be, let the energy used in the ascents and descents be explored next. This will consist of four figures, numbered 6.2.6 through to

6.2.9. In order, these will show the ascent energies with payloads, the ascent energies without payloads, the descent energies with payloads, and the descent energies without payloads.

65

Figure 6.2.6: Minimum Ascent Energy for each of the 54 Tested Drone Powertrain Configurations while

the Drone carries a Payload.

Figure 6.2.7: Minimum Ascent Energy for each of the 54 Tested Drone Powertrain Configurations while

the Drone does not carry a Payload.

66

Figure 6.2.8: Minimum Descent Energy for each of the 54 Tested Drone Powertrain Configurations

while the Drone carries a Payload.

Figure 6.2.9: Minimum Descent Energy for each of the 54 Tested Drone Powertrain Configurations

while the Drone does not carry a Payload.

67

In all four categories, the three remarked upon propellers, G28, G29, and G30, consistently outperformed the others. It can be seen that the energy required to ascend to cruise altitude is lower across the configurations than the energy needed to descend. While this seems to go against reason with gravity helping the drone back down to earth, it does make sense when the control method used in the code is taken into account. It should be remembered that the descent algorithm favors a very cautious approach that assumes the worst case scenario of the drone’s telemetry equipment going offline. In the case of that occurrence, the drone should still be able to descend safely to the ground by traveling at its maximum safe landing velocity. To compare these values directly, they have been entered into Table 6.2.3 for the each of the propeller’s ideal powertrain configurations.

Table 6.2.3: Ideal Energy of Ascent and Descent with and without Payload for Tested Configurations. Ascent Energy Ascent Energy Descent Energy Descent Energy Propeller with Payload (kJ) without Payload (kJ) with Payload (kJ) without Payload (kJ)

P22x6.6 53.71 43.93 94.01 77.94

G26x8.5 53.88 44.44 91.48 73.70

G27x8.8 53.06 43.24 90.89 74.00

G28x9.2 45.67 36.85 80.17 66.86

G29x9.5 42.47 35.39 79.25 67.48

G30x10.5 46.32 38.40 85.85 71.63

Two interesting pieces of data are left to be investigated. These are the impacts that varying cruise height and payload mass have on a given drone’s performance. The reasoning behind investigating these is that it may not be desired to have a drone that has the greatest delivery radius for a fixed set of parameters, but rather a drone that has a good average performance even under a wide variety of parameters. To first investigate this, the delivery distances of three drone configurations and with a varying cruise height from

50 to 200 meters are plotted. The configurations tested here will all use the propeller’s respective ideal quantity of powertrains determined earlier and summarized in Table 6.4, but vary the quantity of motors

68 attached to each propeller from one to three. The highest performing propeller, the G29x9.5, is tested first across the range of cruise heights. This is plotted in Figure 6.2.10.

Figure 6.2.10: Maximum Delivery Radius as a Function of Cruise Height for a Drone using 6 G29x9.5

Propellers and either 1, 2, or 3 Motors per Propeller.

Remarkably, the relation between the two factors of Maximum Delivery Radius and Cruise Height is very linear. Not only that, but the slope of these lines are very similar. This holds true for all of the different propellers tested in this study. This is shown in Figure 6.2.11 where all of the line derivatives are plotted for the six different propellers. The slopes of these relations are seen to all be within the range of -3.1 to -

3.75 meters of delivery radius lost for each meter of cruise altitude added. While these slopes are very similar, that of propeller G29x9.5 is slightly less steep, showing to its average radius likely having a slightly bigger improvement over the others compard to the peak values given earlier. To see this, the values are plotted in Figure 6.2.12, and then all entered into Table 6.2.4.

69

Figure 6.2.11: Slope of the Relation beteween Maximum Delivery Radius and Cruise Height for 18

Drone Configurations, all using their Ideal Quantity of Propellers and either 1, 2, or 3 Motors per

Propeller.

Figure 6.2.12: Average of all Maximum Delivery Radii as a Function of Cruise Height for 18 Drone

Configurations, all using their Ideal Quantity of Propellers and either 1, 2, or 3 Motors per Propeller.

70

Table 6.2.4: Average Delivery Radii over Range of varied Cruise Heights for Drone Configurations. Average of Maximum Delivery Radii (kilometers) as Cruise Height is varied Quantity of Powertrains and 1 Motor per Propeller 2 Motors per Propeller 3 Motors per Propeller Propeller Used

8 x P22x6.6 9.038 9.300 8.573

8 x G26x8.5 9.351 9.885 9.405

8 x G27x8.8 9.292 10.046 9.600

8 x G28x9.2 10.921 11.502 11.193

6 x G29x9.5 10.181 11.212 11.868

6 x G30x10.5 9.257 10.024 10.742

As observed, the improvement of propeller G29x9.5 over the rest of the field does not increase very much when taking the range of cruise heights from 50 to 200 meters into consideration. When looking at the difference in ratios peak distances between the G29 and second best propeller in Tables 6.4 and 6.7, five decimal places are needed to see the marginal increase in relative performance from 1.03176 to 1.03182.

Through taking into account the similarity in linear trends for all propellers that occurs by varying the cruise height, and by how insignificant the change in results are for propeller performance, it can be seen that a drone configuration that operates well at one cruise height will also operate well relative to the field at other cruise heights. In other words, no resources should be allocated to developing different drones for deliveries at different cruise heights for low altitude deliveries where the density of air is relatively the same. Following this, variance in cruise height can also be ignored in future simulation cycles.

The final parameter to analyze, as previously mentioned, is the effect that changing the payload mass has on the maximum delivery radius. As was the case with varying the height, having a drone that can reliably deliver a wide variety of payload masses may be more important than a drone that can deliver packages very far, but only of a specific weight. The same three configurations are tested here as before, all using

71 six G29x9.5 propellers, but with varying motor quantities from one to three. This is plotted in Figure

6.2.13.

Figure 6.2.13: Maximum Delivery Radius as a Function of Payload Mass for a Drone using 6 G29x9.5

Propellers and either 1, 2, or 3 Motors per Propeller.

As now expected after the previous results, a similar linear trend is produced. This linear behaviour is in line wth the experimental results produced by Maekawa et al. where they measured the power output of a horizontally moving drone carrying different payloads [128]. Of difference from the altitude variance results, there is a bit more discrepency in the slopes for this weight-basedparameter, which can be seen with all of the slopes plotted in Figure 6.2.14. Contrary to when the cruise height was varied, this time the leading propeller, G29x9.5, is the one whose slope is the steepest. However it is more difficult to grasp the impact of this slope, as the intial payload mass of 5 kilograms is in the middle of this range and the weight of the slope will balance very evenly on either side. As before, the final averaged values for the maximum delivery radii for each propeller can be seen in the following figure, Figure 6.2.15, while the data is tabulated in Table 6.2.5.

72

Figure 6.2.14: Slope of the Relation beteween Maximum Delivery Radius and Payload Mass for 18

Drone Configurations, all using their Ideal Quantity of Propellers and either 1, 2, or 3 Motors per

Propeller.

Figure 6.2.15: Average of all Maximum Delivery Radii as a Function of Payload Mass for 18 Drone

Configurations, all using their Ideal Quantity of Propellers and either 1, 2, or 3 Motors per Propeller.

73

Table 6.2.5: Average Delivery Radii over Range of varied Payload Masses for Drone Configurations. Average of Maximum Delivery Radii (kilometers) as Payload Mass is varied Quantity of Powertrains and 1 Motor per Propeller 2 Motors per Propeller 3 Motors per Propeller Propeller Used

8 x P22x6.6 9.021 9.390 8.630

8 x G26x8.5 9.372 9.862 9.439

8 x G27x8.8 9.338 10.093 9.654

8 x G28x9.2 10.922 11.508 11.214

6 x G29x9.5 10.200 11.189 11.869

6 x G30x10.5 9.278 9.990 10.770

The same comparison that was conducted for the cruise height variance will be used. When factoring in the average performance across of a range of payload masses from one to ten kilograms for the drone configurations depending on propellers used, a similarly small change in relative performance to that of the cruise height variation can be observed. The relative performance of the G29x9.5 propeller over the second best performing propeller changed from 1.03176 to 1.03137, showing the little dip that was anticipated. Regardless, it can be seen across the board that the variance in payload mass from one to ten kilograms did not have a significant impact on the performance of any of the drone configurations that were tested here. This is useful for future testing, which shows that payload masses can be categorized into relatively wide classes of at least ten kilograms and one drone can be developed to deliver all payloads within that class well.

74

7 CONCLUSION

With the aim of developing a process through which to optimize the powertrains of delivery drones, a typical driving cycle of their behavior has been developed in MATLAB, the code being titled deliveryDroneDrivingCycle. To simulate the operation of a delivery drone in this driving cycle, a halbach array motor has been developed and analyzed in ANSYS Maxwell. The operating data of the motor was post-processed in MATLAB along with the propeller data using a code titled polynomialInterpolation to generate useable powertrain operating points. This simulation has proven useful in determining which out of a selection of 54 drone configurations would have the maximum delivery radius when delivering a 5 kilogram payload under specified conditions. The produced data was also analyzed to see that the drones did not show a universal correlation for which pitch angle they traveled most efficiently at, and that it is beneficial to calculate this angle individually for each delivery drone designed. No discernable pattern was found with the ideal ascent throttle other than that it decreased as the number of propellers or motors increased. Lastly, the work found that there was not any noticeable relative performance change between the drones when the height of cruise or mass of payload was varied between 50 to 200 meters and 1 to 10 kilograms, respectively. For the typical scenario of 100 meters and 5 kilograms, the best drone configuration outperformed the second best by a factor of 1.03176. This was increased to 1.03182 when looking at the average performance across the range of cruise heights, and decreased to 1.03137 when looking at the average across the range of payload masses. Based off of these findings, it has been concluded that there is no need to developed different delivery drones for ideal delivery performance for low altitude flying where air pressure is relatively even, or for payload masses varying less than ten kilograms.

75

7.1 CONTRIBUTIONS

As of this date, one paper has been submitted from this research on the topic of the development of the delivery drone driving cycle. The details of this paper are as follows:

M. Perreault, K. Behdinan, “Novel Delivery Drone Driving Cycle for Maximization of

Quadcopter Drone Delivery Radius and Optimization of Drone Powertrain,” in IEEE

Transactions on Vehicular Technology, Mar. 30, 2020. (Under Review).

76

8 FUTURE WORK

This work leaves many avenues open for future work to be performed. First, the biggest omission in the created code is the omission of the angle of attack on the propellers. While detailed data on propeller performance as the angle of attack varies is not readily available for market components, improving the code to accept and incorporate the data into its calculations would provide more realistic values to the users who can choose to incorporate it. These discrepancies could then also be taken out of consideration from the safety factor used.

Second, the energy used in the drone’s nonlinear control and stabilization due to perturbations such as wind could be added. Many control schemes have been developed to choose from, with recent progress in adaptive tracking [129] and neural networks [130] showing promise.

The research in hybrid truck and drone delivery operations addressed earlier hint at the complexities that future driving cycles may need to account for. Adding in variance to the takeoff and ending locations of the delivery cycle, the ability to carry multiple payloads to multiple locations at once, and possibly using a different optimization criterion of quickest delivery for a set radius rather than the greatest delivery radius used here could prove useful in addressing these more complex scenarios.

Lastly, the actual iterative approach to optimization can also be improved. The current approach is for the user to manually change and test the parameters as they see fit. Research has already been conducted on the meta-modeling approach of the complex system of electric motors showing which optimization methods yield the desired results quickest [131]. Adopting this and having a completely automatic system that can change motor and propeller parameters based off of the driving cycle results and test them again could vastly improve the time spent on optimizing the powertrains of the delivery drones.

77

REFERENCES

[1] D. Schneider, "The delivery drones are coming," Transportation Science, n. 4, vol. 52, pp. 965-981, in IEEE Spectrum, vol. 57, no. 1, pp. 28-29, Jan. doi 10.1287/trsc.2017.0791. 2020. [12] R. Athira Krishnan, V. R. Jisha and K. [2] E. Ackerman and M. Koziol, "The blood is here: Gokulnath, "Path Planning of an Autonomous Zipline's medical delivery drones are changing the Quadcopter Based Delivery System," 2018 game in Rwanda," in IEEE Spectrum, vol. 56, no. 5, International Conference on Emerging Trends and pp. 24-31, May 2019. Innovations In Engineering And Technological [3] C. D. Burzichelli, "Delivery Drones: Will Research (ICETIETR), Ernakulam, 2018, pp. 1-5. Amazon Air See the National Airspace," Rutgers [13] K. S. Yakovlev, D. A. Makarov, and E. S. Computer and Technology Law Journal, Vol. 42, Baskin, "Automatic path planning for an unmanned Issue 1 (2016), pp. 162-[ii] drone with constrained flight dynamics," Sci. [4] J. K. Stolaroff, C. Samaras, E. R. O’Neill, A. Tech.Inf. Proc. 42, 347–358 (2015). Lubers, A. S. Mitchell, and D. Ceperley, "Energy https://doi.org/10.3103/S0147688215050093 use and life cycle greenhouse gas emissions of [14] Y. Chen, D. Baek, A. Bocca, A. Macii, E. drones for commercial package delivery," Nature Macii and M. Poncino, "A Case for a Battery- communications 9.1 (2018): 1-13. Aware Model of Drone Energy Consumption," [5] K. Dorling, J. Heinrichs, G. G. Messier and S. 2018 IEEE International Telecommunications Magierowski, "Vehicle Routing Problems for Energy Conference (INTELEC), Turin, 2018, pp. 1- Drone Delivery," in IEEE Transactions on Systems, 8. Man, and Cybernetics: Systems, vol. 47, no. 1, pp. [15] J. X. J. Bannwarth, Z. J. Chen, K. A. Stol and 70-85, Jan. 2017. B. A. MacDonald, "Disturbance accomodation [6] M. Kloetzer, A. Burlacu, G. Enescu, S. control for wind rejection of a quadcopter," 2016 Caraiman and C. Mahulea, "Optimal Indoor Goods International Conference on Unmanned Aircraft Delivery Using Drones," 2019 24th IEEE Systems (ICUAS), Arlington, VA, 2016, pp. 695- International Conference on Emerging 701. Technologies and Factory Automation (ETFA), [16] C. S. Goh, J. R. Kuan, J. H. Yeo, B. S. Teo and Zaragoza, Spain, 2019, pp. 1579-1582. A. Danner, "A 100% solar-powered quadcopter [7] K. M. Lo, L. Y. Lo, P. K. Wong and K. S. with monocrystalline silicon cells," 2019 IEEE 46th Leung, "Multi-objective Multiple Quadcopter Path Photovoltaic Specialists Conference (PVSC), Planning in Urban City," 2018 3rd International Chicago, IL, USA, 2019, pp. 2829-2834. Conference on Control, Robotics and Cybernetics [17] R. Sun, Y. Tian, H. Zhang, R. Yue, B. Lv and (CRC), Penang, Malaysia, 2018, pp. 67-72. J. Chen, "Data-Driven Synthetic Optimization [8] O. Dukkanci, B. Y. Kara, and T. Bektas, "The Method for Driving Cycle Development," in IEEE Drone Delivery Problem," (January 10, 2019). Access, vol. 7, pp. 162559-162570, 2019. Available at SSRN: [18] T. J. Barlow, S. Latham, I. S. McCrae and P. http://dx.doi.org/10.2139/ssrn.3314556 G. Boulter, "A reference book of driving cycles for [9] C. C. Murray and R. Raj, "The multiple flying use in the measurement of road vehicle emissions," sidekicks traveling salesman problem: Parcel TRL Limited, V. 3, June 2009. delivery with multiple drones," Transportation [19] A. Mohamed, “Biking Schedules: A New Tool Research Part C: Emerging Technologies, Volume For Bicycle Travel Analysis,” M. S. thesis, 110, 368-398, 2020. University of British Columbia, Vancouver, [10] R. Daknama, E. Kraus, "Vehicle Routing with Canada, April 2018. Drones," Transp. Res. Part B Methodol., 122 [20] Q. Han, C. Ham and R. Phillips, "Four- and (2019), pp. 350-364 eight-piece Halbach array analysis and geometry [11] N. Agatz, P. Bouman, M. Schmidt, optimisation for maglev", IEE Proceedings - "Optimization Approaches for the Traveling Electric Power Applications, vol. 152, no. 3, pp. Salesman Problem with Drone," April 2018, 535-542, 2005.

78

[21] R. Huang, J. Zhou and G. Kim, "Minimization Transactions on Magnetics, vol. 36, no. 5, pp. Design of Normal Force in Synchronous Permanent 3540-3543, 2000. Magnet Planar Motor With Halbach Array", IEEE [32] R. Post, T. Fowler and S. Post, "A high- Transactions on Magnetics, vol. 44, no. 6, pp. efficiency electromechanical battery", Proceedings 1526-1529, 2008. of the IEEE, vol. 81, no. 3, pp. 462-474, 1993. [22] B. Merritt, R. Post, G. Dreifuerst and D. [33] D. Johnson, P. Pillay and M. Malengret, "High Bender, "Halbach array motor/generators: A novel speed PM motor with hybrid magnetic bearing for generalized electric machine", Halbach Festschrift kinetic energy storage", 2001 IEEE Industry Symposium, pp. 1-8, 1995. Applications Conference, vol. 1, pp. 57-63, 2001. [23] K. Halbach, "Design of permanent multipole [34] J. Hull and L. Turner, "Magnetomechanics of magnets with oriented rare earth cobalt internal-dipole, Halbach-array material", Nuclear Instruments and Methods, vol. motor/generators," IEEE Transactions on 169, no. 1, pp. 1-10, 1980. Magnetics, vol. 36, no. 4, pp. 2004-2011, 2000. [24] K. Halbach, "Perturbation effects in segmented [35] Y. Honda, S. Yokote, T. Higaki and Y. rare earth cobalt multipole magnets", Nuclear Takeda, "Using the Halbach magnet array to Instruments and Methods in Physics Research, vol. develop an ultrahigh-speed spindle motor for 198, no. 2-3, pp. 213-215, 1982. machine tools", IAS '97. Conference Record of the [25] K. Halbach, "Specialty magnets", AIP 1997 IEEE Industry Applications Conference Conference Proceedings, pp. 1-11, 1987. Thirty-Second IAS Annual Meeting, vol. 1, pp. 56- [26] P. Blümler, "Proposal for a permanent magnet 60, 1997. system with a constant gradient mechanically [36] J. Hull, S. SenGupta and J. Gaines, "Trapped- adjustable in direction and strength", Concepts in flux internal-dipole superconducting Magnetic Resonance Part B: Magnetic Resonance motor/generator", IEEE Transactions on Applied Engineering, vol. 46, no. 1, pp. 41-48, 2016. Superconductivity, vol. 9, no. 2, pp. 1229-1232, [27] M. Gunes, H. Sato, L. Pinsard-Gaudart, D. 1999. Berardan and N. Dragoe, "A versatile system for [37] N. Kamaldin, S. Chen, T. Teo, W. Liang, K. Hall effect measurements at high Tan and G. Yang, "Modeling and robust output temperature", Measurement Science and feedback tracking control of a single-phase rotary Technology, vol. 28, no. 10, pp. 105905-(1-8), motor with cylindrical Halbach array", 2014 2017. IEEE/ASME International Conference on Advanced [28] H. Raich and P. Blümler, "Design and Intelligent Mechatronics, 2014. construction of a dipolar Halbach array with a [38] D. Trumper, M. Williams and T. Nguyen, homogeneous field from identical bar magnets: "Magnet arrays for synchronous NMR Mandhalas", Concepts in Magnetic machines", Conference Record of the 1993 IEEE Resonance Part B: Magnetic Resonance Industry Applications Conference Twenty-Eighth Engineering, vol. 23, no. 1, pp. 16-25, 2004. IAS Annual Meeting, vol. 1, pp. 9-18, 1993. [29] C. Jizhong, Z. Yiming and X. Chunyan, "A [39] L. Li, J. Zhang, C. Zhang and J. Yu, "Research More Homogeneous, Less Massive Halbach on the high efficiency external rotor permanent Magnet array for Portable NMR", 2007 8th magnet motor based on Halbach array", 2015 18th International Conference on Electronic International Conference on Electrical Machines Measurement and Instruments, pp. 1-(330-336), and Systems (ICEMS), pp. 1463 - 1467, 2015. 2007. [40] J. Ofori-Tenkorrang and J. Lang, "A [30] J. Paulsen, J. Franck, V. Demas and L. comparative analysis of torque production in Bouchard, "Least Squares Magnetic-Field Halbach and conventional surface-mounted Optimization for Portable Nuclear Magnetic permanent-magnet synchronous motors", IAS '95. Resonance Magnet Design", IEEE Transactions on Conference Record of the 1995 IEEE Industry Magnetics, vol. 44, no. 12, pp. 4582-4590, 2008. Applications Conference Thirtieth IAS Annual [31] S. Jang, S. Jeong, D. Ryu and S. Choi, Meeting, vol. 1, pp. 657 - 663, 1995. "Comparison of three types of PM brushless [41] E. Schmidt and C. Lechner, "Design and machines for an electro-mechanical battery", IEEE assembling of a permanent magnet synchronous machine with a Halbach magnet array for the

79 application in an electric driven race car", 2015 and Applied Sciences, vol. 11, no. 8, pp. 1752-1761, Australasian Universities Power Engineering 2016. Conference (AUPEC), pp. 1-6, 2015. [52] Z. Zhang, L. Shi, K. Wang and Y. Li, [42] W. Kim, M. Berhan, D. Trumper and J. Lang, "Characteristics Investigation of Single-Sided "Analysis and implementation of a tubular motor Ironless PMLSM Based on Halbach Array for with Halbach magnet array", 1996 IEEE Industry Medium-Speed Maglev Train", CES Transactions Applications Conference, pp. 471-478, 1996. on Electrical Machines and Systems, vol. 1, no. 4, [43] P. Eckert, A. Flores Filho, E. Perondi and D. pp. 375-382, 2017. Dorrell, "Dual Quasi-Halbach Linear Tubular [53] J. Wang, C. Li, W. Xu and B. Yang, Actuator with Coreless Moving-Coil for Semi- "Optimization design of linear Halbach array for Active and Active Suspension", IEEE Transactions EDS Maglev", 2008 IEEE Vehicle Power and on Industrial Electronics, pp. 1-1, 2018. Propulsion Conference, 2008. [44] L. Yan, L. Zhang, T. Wang, Z. Jiao, C. Chen [54] C. Shi, D. Li, R. Qu, H. Zhang, Y. Gao and Y. and I. Chen, "Magnetic Field Of Tubular Linear Huo, "A Novel Linear Permanent Magnet Vernier Machines With Dual Halbach Array", Progress In Machine With Consequent-Pole Permanent Electromagnetics Research, vol. 136, pp. 283-299, Magnets and Halbach Permanent Magnet 2013. Arrays", IEEE Transactions on Magnetics, vol. 53, [45] K. Zhu, L. Yan and Z. Jiao, "Thrust fluctuation no. 11, pp. 1-4, 2017. modeling and its minimization of a double tubular [55] Z. Zhang, L. Shi, Q. Ge and Y. Li, Halbach permanent-magnet motor", 2016 IEEE "Characteristics analysis of single-sided ironless International Conference on Aircraft Utility linear synchronous motor based on permanent Systems (AUS), pp. 1002-1007, 2016. magnet Halbach array", 2015 18th International [46] S.M. Jang, J.Y. Choi, D.J. You and H.W. Cho, Conference on Electrical Machines and Systems "The influence of mechanical spring on the (ICEMS), 2015. dynamic performance of a moving-magnet linear [56] K. Wang, Q. Ge, L. Shi, Y. Li and Z. Zhang, actuator with cylindrical Halbach array", Fourtieth "Development of ironless Halbach permanent IAS Annual Meeting. Conference Record of the magnet linear synchronous motor for traction of a 2005 Industry Applications Conference, 2005. novel maglev vehicle", 2017 11th International [47] P. Eckert, A. Flores Filho, E. Perondi and D. Symposium on Linear Drives for Industry Dorrell, "Dual Quasi-Halbach Linear Tubular Applications (LDIA), 2017. Actuator with Coreless Moving-Coil for Semi- [57] E. Fujitu, S. Tahara and K. Ogawa, "Thrust of Active and Active Suspension", IEEE Transactions 2-pole PM linear synchronous motor with Halbach on Industrial Electronics, pp. 1-1, 2018. array", 2009 International Conference on Electrical [48] J. Hilton and S. McMurry, "An adjustable Machines and Systems, 2009. linear Halbach array", Journal of Magnetism and [58] L. Yan, Electromagnetic linear machines with Magnetic Materials, vol. 324, no. 13, pp. 2051- dual Halbach array. Singapore: Springer Verlag, 2056, 2012. Singapor, 2017, pp. 100-105. [49] S. Jang, J. Choi, S. Lee, H. Cho and W. Jang, [59] I. Compter, "Electro-dynamic planar "Analysis and Experimental Verification of motor", Precision Engineering, vol. 28, no. 2, pp. Moving-Magnet Linear Actuator With Cylindrical 171-180, 2004. Halbach Array", IEEE Transactions on Magnetics, [60] J. Peng and Y. Zhou, "Modeling and Analysis vol. 40, no. 4, pp. 2068-2070, 2004. of a New 2-D Halbach Array for Magnetically [50] S. Jang, J. Choi, H. Cho and S. Lee, "Thrust Levitated Planar Motor", IEEE Transactions on analysis and measurements of tubular linear Magnetics, vol. 49, no. 1, pp. 618-627, 2013. actuator with cylindrical halbach array", IEEE [61] Y. Wang, X. Chen, X. Luo and L. Zeng, Transactions on Magnetics, vol. 41, no. 5, pp. "Analysis and Optimization of a Novel 2-D Magnet 2028-2031, 2005. Array with Gaps and Staggers for a Moving- [51] A. Parveziqbal, F. Mokhtar, K. Sahari and I. Magnet Planar Motor", Sensors, vol. 18, no. 2, p. bin Aris, "A review of permanent magnet linear 124, 2018. motor with halbach array", Journal of Engineering [62] B. Kou, F. Xing, L. Zhang, C. Zhang and Y. Zhou, "A Real-Time Computation Model of the

80

Electromagnetic Force and Torque for a Maglev [73] C. Xia, H. Li and T. Shi, "3-D Magnetic Field Planar Motor with the Concentric and Torque Analysis of a Novel Halbach Array Winding", Applied Sciences, vol. 7, no. 1, p. 98, Permanent-Magnet Spherical Motor", IEEE 2017. Transactions on Magnetics, vol. 44, no. 8, pp. [63] X. Hao, P. Xing and L. Bai, "Design and 2016-2020, 2008. analysis of moving magnet synchronous surface [74] H. Li and T. Li, "End-Effect Magnetic Field motor with linear Halbach array", Procedia Analysis of the Halbach Array Permanent Magnet Engineering, vol. 16, pp. 108-118, 2011. Spherical Motor", IEEE Transactions on [64] T. Teo, H. Zhu, S. Chen, G. Yang and C. Pang, Magnetics, vol. 54, no. 4, pp. 1-9, 2018. "Principle and Modeling of a Novel Moving Coil [75] K. Xie, D. Li, R. Qu, Y. Gao and Y. Pan, "A Linear-Rotary Electromagnetic Actuator", IEEE novel flux reversal PM Machine with Halbach array Transactions on Industrial Electronics, vol. 63, no. magnets in stator slot opening", 2017 20th 11, pp. 6930-6940, 2016. International Conference on Electrical Machines [65] L. Xu, M. Lin, X. Fu and N. Li, "Design and and Systems (ICEMS), pp. 1-6, 2017. Analysis of a Double Stator Linear Rotary [76] H. Torkaman and E. Afjei, "Comparison Of Permanent Magnet Motor", IEEE Transactions on Three Novel Types Of Two-Phase Switched Applied Superconductivity, pp. 1-1, 2016. Reluctance Motors Using Finite Element [66] L. Zhang, L. Yan, N. Yao, T. Wang, Z. Jiao Method", Progress In Electromagnetics Research, and I. Chen, "Force formulation of a three-phase vol. 125, pp. 151-164, 2012. tubular linear machine with dual Halbach [77] C. Liu, Y. Wang, G. Lei, Y. Guo and J. Zhu, array", IEEE 10th International Conference on "Design and analysis of a 3D-flux flux-switching Industrial Informatics, 2012. permanent magnet machine with SMC cores and [67] L. Yan, L. Zhang, T. Wang, Z. Jiao, C. Chen ferrite magnets", AIP Advances, vol. 7, no. 5, pp. and I. Chen, "Magnetic Field Of Tubular Linear 056632-(1-6), 2017. Machines With Dual Halbach Array", Progress In [78] Y. Wang, P. Li and G. Ren, "Electric vehicles Electromagnetics Research, vol. 136, pp. 283-299, with in-wheel switched reluctance motors: 2013. Coupling effects between road excitation and the [68] G. Krebs, A. Tounzi, B. Pauwels, D. Willemot unbalanced radial force", Journal of Sound and and F. Piriou, "Modeling of A Linear and Rotary Vibration, vol. 372, pp. 69-81, 2016. Permanent Magnet Actuator", IEEE Transactions [79] F. Bian, W. Zhao and J. Ji, "A New Partitioned on Magnetics, vol. 44, no. 11, pp. 4357-4360, 2008. Stator Machine with Halbach Permanent Magnet [69] P. Jin, S. Fang, H. Lin, X. Wang and S. Zhou, Array", 2016 IEEE Vehicle Power and Propulsion "A novel linear and rotary Halbach permanent Conference (VPPC), pp. 1-5, 2016. magnet actuator with two degrees-of- [80] Y. Shen, G. Liu, Z. Xia and Z. Zhu, freedom", Journal of Applied Physics, vol. 111, no. "Determination of Maximum Electromagnetic 7, pp. 07E725, 2012. Torque in PM Brushless Machines Having Two- [70] P. Jin, H. Lin, S. Fang, Y. Yuan, Y. Guo and Z. Segment Halbach Array", IEEE Transactions on Jia, "3-D Analytical Linear Force and Rotary Industrial Electronics, vol. 61, no. 2, pp. 718-729, Torque Analysis of Linear and Rotary Permanent 2014. Magnet Actuator", IEEE Transactions on [81] W. Geng, Z. Zhang and C. Wang, "Mechanical Magnetics, vol. 49, no. 7, pp. 3989-3992, 2013. design considerations of Halbach-array rotor for a [71] P. Jin and Y. Guo, "Analysis and optimization new ironless stator axial-flux PM machine", 2017 of a new 2-D magnet array for linear and rotary 20th International Conference on Electrical actuator", 2017 20th International Conference on Machines and Systems (ICEMS), pp. 1-6, 2017. Electrical Machines and Systems (ICEMS), 2017. [82] J.S. Choi and J.H. Yoo, "Design of a Halbach [72] Hongfeng Li, Changliang Xia and Tingna Shi, Magnet Array Based on Optimization "Spherical harmonic analysis of a novel Halbach Techniques", IEEE Transactions on Magnetics, vol. array PM spherical motor", 2007 IEEE 44, no. 10, pp. 2361-2366, 2008. International Conference on Robotics and [83] P. Asef, R. Perpina, M. Barzegaran and T. Biomimetics (ROBIO), 2007. Agarwal, "Electromagnetic-based evaluation of different Halbach array topologies with gap

81 consideration for the permanent magnet applications", The XIX International Conference on synchronous machines", Electr Eng, 2018. Electrical Machines - ICEM 2010, pp. 1-6, 2010. [84] Z. Xia, Z. Zhu, G. Jewell and D. Howe, [94] R. Praveen, M. Ravichandran, V. Achari, V. "Comparison of Halbach magnetized brushless Raj, G. Madhu and G. Bindu, "A Novel Slotless motors equipped with air-cored and iron-cored Halbach-Array Permanent-Magnet Brushless DC rotors", Journal of Applied Physics, vol. 93, no. 10, Motor for Spacecraft Applications", IEEE pp. 8692-8694, 2003. Transactions on Industrial Electronics, vol. 59, no. [85] F. Guler, L. Ergene and C. Ekin, "Halbach 9, pp. 3553-3560, 2012. array variations on BLDC motor under magnet [95] M. Dubois and J. Trovao, "Motor Drive with constraint", 4th International Conference on Power Halbach Permanent Magnet Array for Urban Engineering, Energy and Electrical Drives, pp. Electric Vehicle Concept", 2015 IEEE Vehicle 1509-1513, 2013. Power and Propulsion Conference (VPPC), pp. 1-6, [86] H. Lovatt, "Design of an in-wheel motor for a 2015. solar-powered electric vehicle", Eighth [96] F. Luise, A. Tessarolo, F. Agnolet, S. Pieri, M. International Conference on Electrical Machines Scalabrin, M. Di Chiara and M. De Martin, "Design and Drives, vol. 145, no. 5, pp. 402-408, 1997. Optimization and Testing of High-Performance [87] A. Jha, L. Garbuio, A. Kedous-Lebouc, J. Motors: Evaluating a Compromise Between Quality Yonnet and J. Dubus, "Design and comparison of Design Development and Production Costs of a outer rotor bonded magnets Halbach motor with Halbach-Array PM Slotless Motor",IEEE Industry different topologies", 2017 15th International Applications Magazine, vol. 22, no. 6, pp. 19-32, Conference on Electrical Machines, Drives and 2016. Power Systems (ELMA), pp. 6-10, 2017. [97] X. Wang, F. Zhao, J. Du, L. Qi and R. Tang, [88] O. Ubani, M. Mueller, A. McDonald and J. "Permanent Magnets Design and Magnetic Field Chick, "Analysis of an Air-Cored Axial Flux Analysis of Multi-disc Coreless Permanent Magnet Permanent Magnet Machine with Halbach Synchronous Motor", Journal of Iron and Steel Array", 8th IET International Conference on Power Research, International, vol. 13, pp. 433-438, 2006. Electronics, Machines and Drives (PEMD 2016), [98] M. Dobroka, J. S. Molnar, (2014). The vol. 58, no. 9, pp. 3768 - 3775, 2016. governing equations of electromagnetic phenomena [89] K. Prasetio and M. Yuniarto, "Design and [Pdf]. Available: http://geofizika.uni- Performance Test of Axial Halbach Brushless DC miskolc.hu/Engineering%20physics%20part%20II.. Motor with Power Density 1.5 Kw/Kg", Jurnal pdf Teknik ITS, vol. 5, no. 2, pp. B-(664-667), 2016. [99] C. Mestdag, (2001). Introduction to Finite [90] S. Dwari, L. Parsa and K. Karimi, "Design and Element Methods for Electromagnetic fields and analysis of Halbach array permanent magnet motor coupled problems [Pdf]. Available: for high acceleration applications", 2009 IEEE http://dreaden.ulyssis.org/em.pdf International Electric Machines and Drives [100] G. Meunier, "The Finite Element Method for Conference, pp. 1100-1104, 2009. Electromagnetic Modeling," ISTE Ltd. 1st Ed. [91] S. Dwari and L. Parsa, "Design of Halbach- London, 2008. Array-Based Permanent-Magnet Motors With High [101] G. Lei, J. Zhu, Y. Guo, "Design Acceleration", IEEE Transactions on Industrial Fundamentals of Electrical Machines and Drive Electronics, vol. 58, no. 9, pp. 3768-3775, 2011. Systems," in Multidisciplinary Design Optimization [92] H. Jun, H. Seol and J. Lee, "Design of High Methods for Electrical Machines and Drive Power Density TVC Driving Motor for Space Systems, Springer-Verlag Berlin Heidelberg, 1st Launch Vehicle Using Halbach Magnet Array Ed. 2016, ch. 2, pp. 25-72. Structure", IEEE Transactions on Applied [102] A. Hughes, "Electric Motor and Drives Superconductivity, vol. 28, no. 3, pp. 1-5, 2018. Fundamentals, Types and Applications," Elsevier. [93] R. Praveen, M. Ravichandran, V. Sadasivan 3rd Ed. Oxford, 2006. Achari, V. Jagathy Raj, G. Madhu and G. Bindu, [103] R. M. Pindoriya, A. K. Mishra, B. S. "Design and analysis of Enclosed Rotor Halbach Rajpurohit and R. Kumar, "FPGA Based Digital array Brushless DC Motor for spacecraft Control Technique for BLDC Motor Drive," 2018

82

IEEE Power & Energy Society General Meeting [116] T-Motor, "T-Motor Store-Official", 2020. (PESGM), Portland, OR, 2018, pp. 1-5. [Online]. Available: http://store-en.tmotor.com/ [104] H. S. Chuang, Y. Ke and Y. C. Chuang, [Accessed Feb. 18, 2020]. "Analysis of commutation torque ripple using [117] A. Bondyra, S. Gardecki, P. Ga̧ sior, W. different PWM modes in BLDC motors," Giernacki, "Performance of Coaxial Propulsion in Conference Record 2009 IEEE Industrial & Design of Multi-rotor UAVs, " In: Szewczyk R., Commercial Power Systems Technical Conference, Zieliński C., Kaliczyńska M. (eds) Challenges in Calgary, AB, 2009, pp. 1-6. Automation, Robotics and Measurement [105] ANSYS, "Leveraging Automation to Techniques. ICA 2016. Advances in Intelligent Generate Efficiency Maps for Electrical Machines Systems and Computing, vol 440. Springer, Cham in ANSYS Maxwell," ANSYS, Inc. 2018. (2016) [106] Altair Hyperworks, "Altair Flux™ 2019.1 [118] G. E. Setyawan, W. Kurniawan and A. C. L. User Guide New," Altair, 2019. Gaol, "Linear Quadratic Regulator Controller [107] Emetor, “Stacking Factor,” Emetor. (LQR) for AR. Drone's Safe Landing," 2019 https://www.emetor.com/glossary/stacking-factor/ International Conference on Sustainable [Accessed Mar. 28 2020]. Information Engineering and Technology (SIET), [108] R. C. Hibbeler, “Engineering Mechanics: Lombok, Indonesia, 2019, pp. 228-233. Dynamics” 14th ed. Upper Saddle River, N.J: [119] H. Beck et al., "Autonomous takeoff and Prentice Hall, 2016. landing of a quadcopter," 2016 International [109] T. Defraeye, et al., “Computational fluid Conference on Unmanned Aircraft Systems dynamics analysis of drag and convective heat (ICUAS), Arlington, VA, 2016, pp. 475-484. transfer of individual body segments for different [120] J. L. Marins, T. M. Cabreira, K. S. Kappel cyclist positions,” Journal of Biomechanics, Vol. and P. R. Ferreira, "A Closed-Form Energy Model 44, Issue 9, 2011, pp. 1695-1701. for Multi-rotors Based on the Dynamic of the [110] X. Zhao, "Maxwell - Electric Motor - Movement," 2018 VIII Brazilian Symposium on Machine Toolkit - Efficiency Map - Computing Systems Engineering (SBESC), Voltage/Current Settings," ANSYS Student Salvador, Brazil, 2018, pp. 256-261. Community. [121] C. Massé, O. Gougeon, D. Nguyen and D. https://studentcommunity.ansys.com/thread/maxwel Saussié, "Modeling and Control of a Quadcopter l-electric-motor-machine-toolkit-efficiency-map- Flying in a Wind Field: A Comparison Between voltage-current-settings/ [Accessed Mar. 28 2020]. LQR and Structured ℋ∞ Control Techniques," [111] ANSYS, "Maxwell Help 19.2 Release," 2018 International Conference on Unmanned ANSYS, Inc. 2018. Aircraft Systems (ICUAS), Dallas, TX, 2018, pp. [112] D. P. Kothari, I. J. Nagrath, "Electric 1408-1417. Machines," McGraw Hill. 4th Ed. New Dehli, 2010. [122] T-Motor, "P22x6.6 Prop," 2019. [Online]. [113] Eclipse Magnetics "Sintered Neodymium Iron Available: http://store- Boron (NdFeB) Magnets," Eclipse Magnetics. en.tmotor.com/goods.php?id=386 [Accessed Nov. https://www.eclipsemagnetics.com/media/wysiwyg/ 14, 2019]. brochures/neodymium_grades_data.pdf [Accessed [123] T-Motor, "G26x8.5 Prop," 2019. [Online]. Mar. 28 2020]. Available: http://store- [114] P. Wang, Z. Man, Z. Cao, J. Zheng and Y. en.tmotor.com/goods.php?id=407 [Accessed Nov. Zhao, "Dynamics modelling and linear control of 14, 2019]. quadcopter," 2016 International Conference on [124] T-Motor, "G27x8.8 Prop," 2019. [Online]. Advanced Mechatronic Systems (ICAMechS), Available: http://store- Melbourne, VIC, 2016, pp. 498-503. en.tmotor.com/goods.php?id=408 [Accessed Nov. [115] C. Toapanta, J. Villafuerte and P. J. Cruz, 14, 2019]. "3DoF Multi-Rotor Experimental Testbed for [125] T-Motor, "G28x9.2 Prop," 2019. [Online]. Teaching Control Systems," 2018 IEEE Third Available: http://store- Ecuador Technical Chapters Meeting (ETCM), en.tmotor.com/goods.php?id=409 [Accessed Nov. Cuenca, 2018, pp. 1-6. 14, 2019].

83

[126] T-Motor, "G29x9.5 Prop," 2019. [Online]. en.tmotor.com/goods.php?id=774 [Accessed Nov. Available: http://store- 14, 2019]. en.tmotor.com/goods.php?id=410 [Accessed Nov. [136] T-Motor, "MN501-S KV240," 2019. 14, 2019]. [Online]. Available: http://store- [127] T-Motor, "G30x10.5 Prop," 2019. [Online]. en.tmotor.com/goods.php?id=695 [Accessed Nov. Available: http://store- 14, 2019]. en.tmotor.com/goods.php?id=411 [Accessed Nov. [137] T-Motor, "MN505-S KV320," 2019. 14, 2019]. [Online]. Available: http://store- [128] K. Maekawa, S. Negoro, I. Taniguchi and H. en.tmotor.com/goods.php?id=698 [Accessed Nov. Tomiyama, "Power Measurement and Modeling of 14, 2019]. Quadcopters on Horizontal Flight," 2017 Fifth [138] T-Motor, "MN605-S KV170 - 2PCS/SET," International Symposium on Computing and 2019. [Online]. Available: http://store- Networking (CANDAR), Aomori, 2017, pp. 326- en.tmotor.com/goods.php?id=458 [Accessed Nov. 329. 14, 2019]. [129] S. Kim and C. K. Ahn, "Adaptive Nonlinear [139] T-Motor, "MN701-S KV135 - 2PCS/SET," Tracking Control Algorithm for Quadcopter 2019. [Online]. Available: http://store- Applications," in IEEE Transactions on Aerospace en.tmotor.com/goods.php?id=459 [Accessed Nov. and Electronic Systems, vol. 56, no. 1, pp. 84-94, 14, 2019]. Feb. 2020. [140] T-Motor, "U10PLUS KV80," 2019. [Online]. [130] F. Jiang, F. Pourpanah and Q. Hao, "Design, Available: http://store- Implementation, and Evaluation of a Neural- en.tmotor.com/goods.php?id=362 [Accessed Nov. Network-Based Quadcopter UAV System," in IEEE 14, 2019]. Transactions on Industrial Electronics, vol. 67, no. [141] T-Motor, "U10Ⅱ KV100," 2020. [Online]. 3, pp. 2076-2085, March 2020. Available: http://store- [131] W. Ji, X. Feng, J. Larsson, A. Stening, F. en.tmotor.com/goods.php?id=700 [Accessed Feb. Gyllensten, and H. Yang, "Meta-Modeling for 22, 2020]. Enhancing Design Optimization of Electric [142] T-Motor, "MN705-S KV125 - 2PCS/SET," Motors," Proceedings of the ASME 2016 2019. [Online]. Available: http://store- International Design Engineering Technical en.tmotor.com/goods.php?id=460 [Accessed Nov. Conferences and Computers and Information in 14, 2019]. Engineering Conference. Volume 2B: 42nd Design [143] T-Motor, "MN801-S KV120," 2019. Automation Conference. Charlotte, North Carolina, [Online]. Available: http://store- USA. August 21–24, 2016. V02BT03A026. ASME. en.tmotor.com/goods.php?id=721 [Accessed Nov. https://doi.org/10.1115/DETC2016-59356 14, 2019]. [132] T-Motor, "P60 Pin KV170," 2019. [Online]. [144] T-Motor, "MN805-S KV120," 2019. Available: http://store- [Online]. Available: http://store- en.tmotor.com/goods.php?id=420 [Accessed Nov. en.tmotor.com/goods.php?id=723 [Accessed Nov. 14, 2019]. 14, 2019]. [133] T-Motor, "U8 Lite KV85," 2019. [Online]. [145] T-Motor, "P80Ⅲ Without Pin KV100," 2019. Available: http://store- [Online]. Available: http://store- en.tmotor.com/goods.php?id=462 [Accessed Nov. en.tmotor.com/goods.php?id=784 [Accessed Nov. 14, 2019]. 14, 2019]. [134] T-Motor, "U7-V2.0 KV280," 2019. [Online]. [146] T-Motor, "U11 KV90," 2019. [Online]. Available: http://store- Available: http://store- en.tmotor.com/goods.php?id=319 [Accessed Nov. en.tmotor.com/goods.php?id=328 [Accessed Nov. 14, 2019]. 14, 2019]. [135] T-Motor, "Antigravity 6007 KV160," 2019. [Online]. Available: http://store-

84

APPENDICES

APPENDIX A: PRODUCED MATLAB CODE

A1: MATLAB code titled deliveryDroneDrivingCycle.

%% Introduction - deliveryDroneDrivingCycle vthrust(k,j,i) = mpdat(j,3)*qpt; % Select thrust %{ power(k,j,i)=mpdat(j,1)*mpdat(j,2)*pi/30*qpt; % Mechanical power The purpose of this code is to subject a delivery drone to a typical aenergyarray(k,j,i)=power(k,j,i)*itime/mpdat(j,4); % Energy used delivery driving cycle so as to tweak its operating parameters and vdrag(k,j,i)=vadc*rho/2*vvel(k-1,j,i)^2; % Calculate drag maximize its delivery radius. The driving cycle assumes the drone travels vaccel(k,j,i)=(vthrust(k,j,i)-vdrag(k,j,i))/(massd+massp*(2-i))-9.81; to only one destination, delivers only one payload, and returns to its vvel(k,j,i)=vvel(k-1,j,i)+vaccel(k,j,i)*itime; % Accel and vel original starting point. For this build, stabilization control systems, vheight(k,j,i)=vheight(k-1,j,i)+vvel(k,j,i)*itime; % Current height variation of angle of attack on propellers, and wind are all neglected. if vheight(k,j,i)>fheight These can be accounted for by users through the use of the safety factor. break % Exit loop if cruise height is reached. end It is the task of the user to input the parameters of their drone and if k==arange delivery cycle in the Parameter Set Up sections. Only one workspace % Drone has not reached desired height with given time. variable must be imported in before execution named mpdat. mpdat is a six aenergyarray(k,j,i)=inf; column array of any length which holds the information for the powertrain if j==length(mpdat(:,4)) properties. Its columns from first to last are rpm, torque, lift, % Drone cannot reach height even at maximum power. efficiency, voltage, and current, with units of rotations per minute, disp('Drone cannot reach cruise height with given parameters.') newtons by meters, newtons, fractional percentage, volts, and amperes. return While voltage and current can be used for design analysis, they are not end strictly necessary for the execution of this code. The rows of this end array need to be ordered, starting with row one having the minimum zero- end rpm/torque/lift, and the final row having the maximum rpm/torque/lift. end The mpdat array can be created using the polyInt script published aenergy(i)=min(sum(aenergyarray(:,find(mpdat(:,3)>... alongside this script. (massd+massp*(2-i))*9.81/qpt,1):end,i))); % Find minimum energy ascent. end Produced by: Maxime Perreault Written in: MATLAB R2013a %% Vertical Descents Finalized: April 1 2020 %} % A rudimentary descent algorithm is used, where the drone drops at its % maximum safe landing velocity until it reaches the ground. First loop %% Physical Parameter Set Up % calculated energy with payload and the second, energy without payload. for i=1:2 fheight=100; % Desired cruise altitude m % Find the thrust per powertrain needed to descend. dthrust=((massd+massp*(2-i))*9.81-vadc*rho/2*landv^2)/qpt; massdh=25; % Mass of drone housing kg % Find the array index associated with this thrust. massarm=0.5; % Mass of drone arm kg for mpi=2:length(mpdat) massm=0.35; % Mass of motor kg if dthrust(massd+massp*(2-i))*9.81/qpt,1):length(mpdat(:,4)) for k=2:arange time(k,j,i)=time(k-1,j,i)+itime; % Increment time

85

A2: MATLAB code titled polynomialInterpolation. % Here, the values from the data sets are used to populate denser arrays of % a user-specified length. Simple interpolation is used for rpm while all %% Introduction - polynomialInterpolation % other values are calculated through the previously determined coeffs. %{ The purpose of this code is two-part. First, it takes experimental data % Again, the higher voltage data set comes first for the first run. points collected about a DC electric motor and quickly produces an if i==2 approximate efficiency plot. The code accepts data points with 5 brpm((dint+1)*(i-2)+1,:)=linspace(0,arpm(setl*(i-1),1),blength); parameters (rpm, torque, efficiency, voltage, current), though only the btrq((dint+1)*(i-2)+1,:)=... first three are necessary and more could be accepted if desired. The polyval(coefstrq((dint+1)*(i-2)+1,1:degree+1),brpm((dint+1)*(i-2)+1,:)); second purpose is to tie the motor's operating data to the operating beff((dint+1)*(i-2)+1,:)=... parameters of propeller to produce the possible drivetrain operating polyval(coefseff((dint+1)*(i-2)+1,1:degree+1),brpm((dint+1)*(i-2)+1,:)); outputs. This does not produce an area plot like the efficiency map, but bvlt((dint+1)*(i-2)+1,:)=... rather a parabolic curve tying together the data points of rpm, torque, polyval(coefsvlt((dint+1)*(i-2)+1,1:degree+1),brpm((dint+1)*(i-2)+1,:)); lift, efficiency, voltage, and current. bamp((dint+1)*(i-2)+1,:)=... polyval(coefsamp((dint+1)*(i-2)+1,1:degree+1),brpm((dint+1)*(i-2)+1,:)); The first input needed for this code is the sets of experimental or end simulation electric motor data points, as described in the parameter set up section. The second input is the polynomial coefficients of the % Followed by the lower voltage data set. propeller being used which relate rpm to torque, and rpm to lift. These brpm(dint*(i-1)+i,:)=linspace(0,arpm(setl*i,1),blength); can be obtained through simulations or experimental data points. btrq(dint*(i-1)+i,:)=... polyval(coefstrq(dint*(i-1)+i,1:degree+1),brpm(dint*(i-1)+i,:)); Produced by: Maxime Perreault beff(dint*(i-1)+i,:)=... Written in: MATLAB R2013a polyval(coefseff(dint*(i-1)+i,1:degree+1),brpm(dint*(i-1)+i,:)); Finalized: January 20 2020 bvlt(dint*(i-1)+i,:)=... %} polyval(coefsvlt(dint*(i-1)+i,1:degree+1),brpm(dint*(i-1)+i,:)); bamp(dint*(i-1)+i,:)=...

polyval(coefsamp(dint*(i-1)+i,1:degree+1),brpm(dint*(i-1)+i,:)); %% Parameter Set Up

% Data sets close to the origin may create NaN data which are now removed. degree=6; % Desired polynomial degree of functions. btrq(dint*(i-1)+i,isnan(btrq(dint*(i-1)+i,:)))=0; % Degree can be altered during processing for better fits. beff(dint*(i-1)+i,isnan(beff(dint*(i-1)+i,:)))=0; sets=14; % Number of sets of motor data being input (voltages used). bvlt(dint*(i-1)+i,isnan(bvlt(dint*(i-1)+i,:)))=0; setl=47; % Length of sample size of each data set. bamp(dint*(i-1)+i,isnan(bamp(dint*(i-1)+i,:)))=0; blength=10000; % Desired density of new interpolated data. dint=9; % Desired density of interpolation lines between data sets. % Now is the time for interpolation between the two current data sets. This

% is repeated for the desired data density: dint. Each run through the for mpp=1; % Number of motors per each propeller on the drone. % loop creates a radial data set that intersects with each line. All % desired variables of rpm, torque, efficiency, voltage, and current are % Here the coefficients of the propeller rpm/torque and rpm/lift curves are % set on each point. % entered. These are quadratic polynomials that pass through the origin. for j=1:blength coefft=[4.8e-8 0 0]; % Units for these curves are newton*meter vs brpm((dint+1)*(i-2)+1:dint*(i-1)+i,j)=... coeffl=[2.0e-6 0 0]; % rpm and newton vs rpm respectively. linspace(brpm((dint+1)*(i-2)+1,j),brpm(dint*(i-1)+i,j),dint+2); btrq((dint+1)*(i-2)+1:dint*(i-1)+i,j)=... linspace(btrq((dint+1)*(i-2)+1,j),btrq(dint*(i-1)+i,j),dint+2); clear arpm atrq aeff avlt aamp brpm btrq beff bvlt bamp... coefstrq coefseff coefsvlt coefsamp beff((dint+1)*(i-2)+1:dint*(i-1)+i,j)=... linspace(beff((dint+1)*(i-2)+1,j),beff(dint*(i-1)+i,j),dint+2); bvlt((dint+1)*(i-2)+1:dint*(i-1)+i,j)=... % Set the sizes of the arrays. linspace(bvlt((dint+1)*(i-2)+1,j),bvlt(dint*(i-1)+i,j),dint+2); brpm=zeros(((dint+1)*sets-dint),blength); bamp((dint+1)*(i-2)+1:dint*(i-1)+i,j)=... btrq=brpm; beff=brpm; bvlt=brpm; bamp=brpm; linspace(bamp((dint+1)*(i-2)+1,j),bamp(dint*(i-1)+i,j),dint+2); end coefstrq=zeros((dint+1)*sets-dint,degree+1); end coefseff=coefstrq; coefsvlt=coefstrq; coefsamp=coefstrq; %% Polynomial Plotting % Import Motor rpm, torque, efficiency, voltage, and current data. % These are to be imported into the variables arpm, atrq, aeff, avlt, and % The original data points are plotted as red circles, with the new % aamp respectively. Each must be a vertical one-dimensional array. Each % polynomial fit lines plotted in blue. % must contain at least two data sets all of the same length. The data sets hold on; xlabel('rpm'); ylabel('Torque (N*m)'); % are comprised of fixed voltage sweeps going from 0 to MAX rpm. These data title('Motor Data Polynomial Interpolation'); % sets must be ordered in the arrays from highest voltage set to lowest axis([0 1.1*max(brpm(:)) 0 1.1*max(btrq(:))]); % voltage set, each following the last with no gaps. Array length is equal

% to product of sample set size and quantity of sample sets. If needed, % more clarification can be found in the documentation. for i = 1:length(arpm) plot(arpm(i),atrq(i),'ro') end load('motordata.mat')

for i = 1:length(brpm(:,1)) %% Polynomial Interpolation plot(brpm(i,:),btrq(i,:)) end % This piece of code, explained in more detail below, takes groups of data, % which can each be approximated with polynomial fits, and interpolates new %% Motor Data Mesh % data values between them to the user's desired density. for i =2:sets % The radially aligned data points on the polynomial fits are transferred % into a rectangular mesh for easier data manipulation and presentation. % Here, the polynomial coefficients of the existing data sets are

% calculated. As the goal is to interpolate polynomial lines between 2 sets % of data, the array lines selected line up with these lines, with the % The preceding polynomial approximations can produce some slightly % empty rows between the sets to be interpolated later. % negative values. If present, they are now set to 0. brpm(brpm<0)=0;btrq(btrq<0)=0;beff(beff<0)=0;bvlt(bvlt<0)=0;bamp(bamp<0)=0;

% Higher voltage data set is calculated only on the first run. % Here, all data points produced are mapped to X-Y Cartesian data arrays. if i==2 coefstrq((dint+1)*(i-2)+1,1:degree+1)=... clear uq vq wq xq yq polyfit(arpm(setl*(i-2)+1:setl*(i-1),1),... [xq,yq] = meshgrid(0:10:11000,0:0.0125:13); atrq(setl*(i-2)+1:setl*(i-1),1),degree); uq=griddata(brpm(:,:),btrq(:,:),beff(:,:),xq,yq); vq=griddata(brpm(:,:),btrq(:,:),bvlt(:,:),xq,yq); coefseff((dint+1)*(i-2)+1,1:degree+1)=... wq=griddata(brpm(:,:),btrq(:,:),bamp(:,:),xq,yq); polyfit(arpm(setl*(i-2)+1:setl*(i-1),1),... aeff(setl*(i-2)+1:setl*(i-1),1),degree); coefsvlt((dint+1)*(i-2)+1,1:degree+1)=... % MATLAB's griddata function produces an entire rectangular array of data polyfit(arpm(setl*(i-2)+1:setl*(i-1),1),... % points, which is not accurate to the problem at hand. Here all data avlt(setl*(i-2)+1:setl*(i-1),1),degree); % points outside of the operating range are negated. coefsamp((dint+1)*(i-2)+1,1:degree+1)=... for i=1:length(xq(1,:)) polyfit(arpm(setl*(i-2)+1:setl*(i-1),1),... ymax=polyval(coefstrq(1,:),xq(1,i)); aamp(setl*(i-2)+1:setl*(i-1),1),degree); for j=1:length(xq(:,1)) end if yq(j,i) > ymax % Followed by lower voltage data set. uq(j:end,i)=NaN; coefstrq(dint*(i-1)+i,1:degree+1)=... vq(j:end,i)=NaN; polyfit(arpm(setl*(i-1)+1:setl*i,1),... wq(j:end,i)=NaN; atrq(setl*(i-1)+1:setl*i,1),degree); break coefseff(dint*(i-1)+i,1:degree+1)=... end polyfit(arpm(setl*(i-1)+1:setl*i,1),... end aeff(setl*(i-1)+1:setl*i,1),degree); end coefsvlt(dint*(i-1)+i,1:degree+1)=... polyfit(arpm(setl*(i-1)+1:setl*i,1),... %% Drivetrain Data Setting avlt(setl*(i-1)+1:setl*i,1),degree); coefsamp(dint*(i-1)+i,1:degree+1)=... polyfit(arpm(setl*(i-1)+1:setl*i,1),... % Now the motor data is matched to that of the selected propeller. aamp(setl*(i-1)+1:setl*i,1),degree); % Propellers have a strict rpm/torque ratio limiting which motor data % points can be used during operation.

86

ry=((yq(j,1)-mpdat(i,2))/mpp/(yq(j,1)-yq(j-1,1))); % mpdat is the variable that will contain the combined motor-propeller data mpdat(i,4)=uq(j,i)-(uq(j,i)-uq(j-1,i))*ry; % in 6 columns. Starting from the first the columns are rpm, torque, lift, mpdat(i,5)=vq(j,i)-(vq(j,i)-vq(j-1,i))*ry; % efficiency, voltage, and current. mpdat(i,6)=wq(j,i)-(wq(j,i)-wq(j-1,i))*ry; mpdat(length(xq(1,:)),6)=zeros; break end end % Here the propeller operating points are tied to the drivetrain motor(s). end for i = 1:length(mpdat(:,1))

% It is first confirmed that this data point is in the motors' range. if polyval(coefft,xq(1,i))>polyval(coefstrq(1,:),xq(1,i))*mpp % The original array length matched the number of rpm values used in xq. break % Here the unused rows are removed and NaN values converted to 0 to produce end % the final motor-propeller drivetrain data array. mpdat=[0 0 0 0 0 0; mpdat(any(mpdat,2),:)]; mpdat(isnan(mpdat))=0; % Then, the rpm, torque, and lift values are assigned.

mpdat(i,1)=xq(1,i); mpdat(i,2)=polyval(coefft(1,:),xq(1,i)); %% Motor Mesh and Drivetrain Output Plotting mpdat(i,3)=polyval(coeffl(1,:),xq(1,i)); % The motor's efficiency heatmap is plotted. % Interpolation is used here to assign more precise values for the figure(); hold on; xlabel('rpm'); ylabel('Torque (N*m)'); view(0,90); % efficiency, voltage, and current. mesh(xq,yq,uq); c = colorbar; ylabel(c, 'Efficiency'); for j = 2:length(yq(:,1)) if ~(uq(j,i)==uq(j,i)) % The possible drivetrain operating points are overlaid on the heatmap. mpdat(i,:)=0; plot3(mpdat(:,1),mpdat(:,2),mpdat(:,4),'o') break % Break if outside operating range of motor(s). end if yq(j,1)*mpp>=mpdat(i,2)

87

APPENDIX B: PROPELLER EXPERIMENTAL DATA CURVE-FITTING

The data used to determine the quadratic rpm-torque and rpm-lift behaviors of the propellers are shown here. All of the data was obtained from T-Motor [116].

Figure B1: Curve-Fitting of P22x6.6 Data [122], Figure B4: Curve-Fitting of G28x9.2 Data [125], [132]-[138]. [140], [141], [143], [144].

Figure B2: Curve-Fitting of G26x8.5 Data [123], Figure B5: Curve-Fitting of G29x9.5 Data [126], [139]-[141]. [140], [141].

Figure B3: Curve-Fitting of G27x8.8 Data [124], Figure B6: Curve-Fitting of G30x10.5 Data [127], [140]-[142]. [140], [141], [145], [146].

88

APPENDIX C: DETAILED POWERTRAIN OPERATING POINT FIGURES

The six figures below show the powertrain operating points on the motor efficiency heatmap depending on the quantity of coaxial propellers attached to each of the six different propellers tested in this work.

Figure C1: Powertrain Operating Points of P22x6.6 Figure C4: Powertrain Operating Points of G28x9.2 Propeller Overlaid onto Motor Efficiency Heatmap. Propeller Overlaid onto Motor Efficiency Heatmap.

Figure C2: Powertrain Operating Points of G26x8.5 Figure C5: Powertrain Operating Points of G29x9.5 Propeller Overlaid onto Motor Efficiency Heatmap. Propeller Overlaid onto Motor Efficiency Heatmap.

Figure C3: Powertrain Operating Points of G27x8.8 Figure C6: Powertrain Operating Points of G30x10.5 Propeller Overlaid onto Motor Efficiency Heatmap. Propeller Overlaid onto Motor Efficiency Heatmap.

89

APPENDIX D: DETAILED IDEAL PITCH ANGLE FIGURES

The twelve figures below detail the values for ideal and maximal pitch angles the drones achieve for the given propeller, quantity of propellers, and quantity of motors stated.

Figure D1: Drone Configuration Ideal Pitch Angle Figure D4: Drone Configuration Ideal Pitch Angle using P22x6.6 Propellers while carrying a Payload. using G28x9.2 Propellers while carrying a Payload.

Figure D2: Drone Configuration Ideal Pitch Angle Figure D5: Drone Configuration Ideal Pitch Angle using G26x8.5 Propellers while carrying a Payload. using G29x9.5 Propellers while carrying a Payload.

Figure D3: Drone Configuration Ideal Pitch Angle Figure D6: Drone Configuration Ideal Pitch Angle using G27x8.8 Propellers while carrying a Payload. using G30x10.5 Propellers while carrying a Payload.

90

Figure D7: Drone Configuration Ideal Pitch Angle Figure D10: Drone Configuration Ideal Pitch Angle using P22x6.6 Propellers while not carrying a using G28x9.2 Propellers while not carrying a Payload. Payload.

Figure D8: Drone Configuration Ideal Pitch Angle Figure D11: Drone Configuration Ideal Pitch Angle using G26x8.5 Propellers while not carrying a using G29x9.5 Propellers while not carrying a Payload. Payload.

Figure D9: Drone Configuration Ideal Pitch Angle Figure D12: Drone Configuration Ideal Pitch Angle using G27x8.8 Propellers while not carrying a using G30x10.5 Propellers while not carrying a Payload. Payload.

91