-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathQuadRacer.html
215 lines (199 loc) · 10.2 KB
/
QuadRacer.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
<!DOCTYPE HTML>
<!--
Massively by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
-->
<html>
<head>
<title>Kai Wang's Personal Website</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
<link rel="stylesheet" href="assets/css/main.css" />
<noscript>
<link rel="stylesheet" href="assets/css/noscript.css" />
</noscript>
</head>
<body class="is-preload">
<!-- Wrapper -->
<div id="wrapper">
<!-- Header -->
<header id="header">
<a href="index.html" class="logo">Portfolio</a>
</header>
<!-- Nav -->
<nav id="nav">
<ul class="links">
<li><a href="index.html">HOME</a></li>
<li><a href="DroidChallenge.html">Project 1</a></li>
<li class="active"><a href="QuadRacer.html">Project 2</a></li>
<li><a href="LiftingSystem.html">Project 3</a></li>
<li><a href="PondAerator.html">Project 4</a></li>
<li><a href="RoboMaster.html">Project 5</a></li>
<li><a href="SolarSystem.html">Project 6</a></li>
<li><a href="DifferentialDrive.html">Project 7</a></li>
<li><a href="FourWheelSteering.html">Project 8</a></li>
</ul>
<ul class="icons">
<li><a href="https://www.linkedin.com/in/kai-wang-7806044268/" class="icon brands fa-linkedin"><span
class="label">LinkedIn</span></a></li>
<li><a href="https://github.com/Kaiser-Wang" class="icon brands fa-github"><span
class="label">GitHub</span></a></li>
</ul>
</nav>
<!-- Main -->
<div id="main">
<!-- Post -->
<section class="post">
<header class="major">
<h1>Indoor Quad Racer</h1>
<p>This project was undertaken by a design team of three students. The objective of the project was
to design and build a quadcopter with an onboard camera that is able to fly safely in an indoor
environment and is controlled by a radio controller. The quadcopter should be able to fly along
the prescribed path and should be able to capture images of the targets and relay these images
back to the observer. The quadcopter should meet all the design requirements and follow the
design for manufacturing principles.</p>
</header>
<div class="image main">
<img src="images/QuadRacer/Drone1.jpg" alt=""
style="display:inline-block; width: 100%; height: 100%" />
</div>
<h2>Description of Project</h2>
<p style="margin-bottom:0px;">In this project, our team accomplished the following tasks:
<li>Translated the customer requirements in the design specifications and function structures, and
made a Gantt chart for the project.</li>
<li>Proposed and analyzed three conceptual designs and made an evaluation matrix to select the final
design.</li>
<img src="images/QuadRacer/DecisionMatrix.PNG" alt=""
style="text-align:center; margin-top:10px; margin-bottom:0px; display:inline-block; width: 100%; height: 100%">
<li>Generated a 3D model of the final design in SolidWorks and ran simulations for static analysis
of stress, displacement and strain.</li>
<img src="images/QuadRacer/Model.jpg" alt=""
style="margin-top:10px; margin-bottom:0px; display:inline-block; width: 100%; height: 100%">
<img src="images/QuadRacer/Stress.png" alt=""
style="margin-left:0px; margin-top:10px; margin-bottom:0px; display:inline-block; width: 32%; height: 32%">
<img src="images/QuadRacer/Displacement.png" alt=""
style="margin-top:10px; margin-bottom:0px; display:inline-block; width: 32%; height: 32%">
<img src="images/QuadRacer/Strain.png" alt=""
style="margin-top:10px; margin-bottom:0px; display:inline-block; width: 32%; height: 32%">
<li>Made drawings of parts and assemblies of the quadcopter with GD&T and created BOM.</li>
<li>Manufactured the main body and landing gear with carbon fiber by water-jet cut.</li>
<li>Manufactured the camera mount and propeller guards by 3D printing.</li>
<li>Ran thrust analysis to ensure that the propellers can provide enough thrust for lifting and
hovering.</li>
<li>Soldered and connected electrical components such as battery, PDB, UBEC, ESC, CC3D, Receiver,
Motors, Camera, LEDs, etc.</li>
<img src="images/QuadRacer/ElectricalConnection.PNG" alt=""
style="margin-top:10px; margin-bottom:0px; display:inline-block; width: 49%; height: 49%">
<img src="images/QuadRacer/ElectricalConnection2.png" alt=""
style="margin-top:10px; margin-bottom:0px; display:inline-block; width: 49%; height: 49%">
<li>Setup the quadcopter CC3D flight controller with OpenPilot GCS Software and connected the
receiver with transmitter.</li>
<li>Tested electric power subsystem, control subsystem, vision subsystem and structural subsystem.
</li>
<li>Evaluated design for assembly and disassembly, and design for maintenance and modularity.</li>
</p>
<div class="image main">
<img src="images/QuadRacer/Test1.jpg" alt=""
style="display:inline-block; width: 49%; height: 49%" />
<img src="images/QuadRacer/Test2.jpg" alt=""
style="display:inline-block; width: 49%; height: 49%" />
</div>
<h2>Result</h2>
<p style="text-align:center;"><img src="images/QuadRacer/Test3.gif" alt=""
style="margin-top:10px; margin-bottom:0px; display:inline-block; width: 50%; height: 50%"></p>
<p>On the test day, the quadcopter was able to fly along the prescribed path and land safely. The image
or filming relayed from the camera was clear. However, the quadcopter drifted backwards due to the
location of center of gravity. Besides, the remote control was too sensitive because the motor
thrust was calibrated at a high intial value. The pilot might also need more practice. Overall, the
quadcopter performed well and met customer requirements and expectations.</p>
<h2>Modeling and Control of Quadcopter System</h2>
<p style="margin-bottom:0px;">In this work, a nonlinear state-space model of a quadcopter’s dynamics is
derived using Newton-Euler method. Then the model is reduced and linearized, and its stability,
controllability and observability are tested. After that, a Linear Quadratic Integral controller and
a Proportional-Integral-Derivative controller are designed. The performance of the two controllers
are compared in Simulink and the results indicate that LQI produces better response than PID control
strategy.
<li>A quadcopter usually usually has actuators including four motors equiped with propellers, and
sensors including an IMU, a barometer or an ultrasonic proximity sensor, a camera and a GPS.
Depending on the speed rotation of each propeller it is possible to identify the four basic
movements of the quadrotor, which are throttle, roll, pitch and yaw.</li>
<p style="text-align:center; margin-bottom:0px;"><img src="images/QuadRacer/movement.jpg" alt=""
style="margin-top:10px; margin-bottom:0px; display:inline-block; width: 60%; height: 60%"></p>
<li>Derived a non-linear model of a quadcopter and the model was simplified and linearized to a linear
state-space model at an equilibrium point.</li>
<p style="text-align:center; margin-bottom:0px;"><img src="images/QuadRacer/linearmodel.png" alt=""
style="margin-top:10px; margin-bottom:0px; display:inline-block; width: 80%; height: 80%"></p>
<li>Designed, simulated and tested a LQI controller in MATLAB and Simulink.</li>
<p style="text-align:center; margin-bottom:0px;"><img src="images/QuadRacer/lqi.png" alt=""
style="margin-top:10px; margin-bottom:0px; display:inline-block; width: 90%; height: 90%"></p>
<li>Designed, simulated and tested a PID controller in MATLAB and Simulink.</li>
<p style="text-align:center; margin-bottom:0px;"><img src="images/QuadRacer/pid.png" alt=""
style="margin-top:10px; margin-bottom:0px; display:inline-block; width: 90%; height: 90%"></p>
<li>Compared the LQI controller and the PID controller.</li>
<p style="text-align:center; margin-bottom:0px;"><img src="images/QuadRacer/compare.png" alt=""
style="margin-top:10px; margin-bottom:0px; display:inline-block; width: 100%; height: 100%"></p>
<li>As a result, both controllers can control the quadcopter system and the LQI controller has better
performance than the PID controller. This result may be affected by the tuning process.</li>
</p>
</section>
</div>
<!-- Footer -->
<footer id="footer">
<!-- <section>
<form method="post" action="#">
<div class="fields">
<div class="field">
<label for="name">Name</label>
<input type="text" name="name" id="name" />
</div>
<div class="field">
<label for="email">Email</label>
<input type="text" name="email" id="email" />
</div>
<div class="field">
<label for="message">Message</label>
<textarea name="message" id="message" rows="3"></textarea>
</div>
</div>
<ul class="actions">
<li><input type="submit" value="Send Message" /></li>
</ul>
</form>
</section> -->
<section class="split contact">
<section class="alt">
<h3>Email</h3>
<p><a href="mailto:[email protected]">[email protected]</a></p>
</section>
<section>
<h3>Social</h3>
<ul class="icons alt">
<li><a href="https://www.linkedin.com/in/kai-wang-7806044268/"
class="icon brands alt fa-linkedin"><span class="label">LinkedIn</span></a></li>
<li><a href="https://github.com/Kaiser-Wang" class="icon brands alt fa-github"><span
class="label">GitHub</span></a></li>
</ul>
</section>
</section>
</footer>
<!-- Copyright -->
<div id="copyright">
<ul>
<!-- <li>© Untitled</li>
<li>Design: <a href="https://html5up.net">HTML5 UP</a></li> -->
<li></li>
<li></li>
</ul>
</div>
</div>
<!-- Scripts -->
<script src="assets/js/jquery.min.js"></script>
<script src="assets/js/jquery.scrollex.min.js"></script>
<script src="assets/js/jquery.scrolly.min.js"></script>
<script src="assets/js/browser.min.js"></script>
<script src="assets/js/breakpoints.min.js"></script>
<script src="assets/js/util.js"></script>
<script src="assets/js/main.js"></script>
</body>
</html>