Académique Documents
Professionnel Documents
Culture Documents
Introduction
Look! Its a bird, its a helicopter, its a drone! Drones are unmanned aerial
vehicles, or in other words, does not contain a human pilot aboard and are becoming
more relevant in modern society. Their usage ranges from taking breathtaking pictures,
circumstances, the drone would not be manually flown. It would leave a large margin of
error as human input varies from time to time after a while of transporting packages, and
some military scouting missions would need an autonomous drone as regular aerial
vehicles cost much more to operate than the drones do. The purpose of this experiment is
to make a drone be able to move about a specific path and land at the end with a small
range of error.
series of flights were conducted. After each flight, the program was modified so the
distance between the drone and the target would reduce. The drone will fly two separate
paths: a ten-meter path from point A to point B, and the same one, but back to point A.
Similarly, with the A to B to A flight of 20 meters. The goal of each flight was to be
under one meter of the objective way point after the landing.
Hillock Le 2
Review of Literature
Drones are everywhere in the world. They can be used for military purposes (such
as bomb runs), transporting cargo from supermarkets, and transporting human beings
from point A to point B. However, if you were to do this manually, all the time that
would cost too much money and be impractical with human error. What is a fix for that?
Designing a drone to make it autonomous. The purpose of the project is to get a drone
flying without any direct human input. To be able to do this, there needs to be an
understanding of how drones fly, and how it can be done to begin with.
Figure 1 shows a basic idea of how a quadcopter functions and spins. It is a visual
Of course, drones can fly, or at least get themselves in the air. In this case, the
drone being modified and tested is a quadcopter, or in other words, it has four equal
propellers. Each of the propellers generate thrust forces (T), which causes it to be able to
lift itself up. To generate thrust, the propellers rotate various speeds (). For directional
forward, the front propellers (1 and 2) will slow its rotation for the quadcopter to lean
forward and propel itself forwards. To move backwards, the back propellers (4 and 3)
will slow its rotation for the quadcopter to lean backwards and propel itself backwards.
plane, and is known as pitch. To move left, the left propellers (1 and 4) will slow its
rotation, and it will maneuver to the left. The same concept goes for the right. The right
propellers (2 and 3) will decrease its rotation speed and will maneuver to the right. The
left and right movement corresponds to the z direction on a 3d plane, and is known as
Hillock Le 4
roll. To increase or decrease the height, the propellers will correspondingly increase or
decrease its rotational speed. This kind of movement corresponds with the y direction
on a 3d plane, and is known as throttle. To add on to all of that, the trimming feature
allows for permanent, until changed again, changes to the drones flight. Meaning that if
it drifted to the right in respect to the drones front, adding left trim would prevent that
and vice versa. It would also work the same way with forward and backward trim.
With that in mind, programming the drone is the next step. To program the drone,
the researches plan on using two Arduino boards. One for the horizontal, or x and z,
movement and rotations, and one for longitudinal, or y, movement. To do that the
Servos are motors that turn because of electric motors inside that turn the outside
arm. To be able to use them, they had to be mounted to the controller, attached to the joy
In order to mount the servos to the controller, they were simply mounted
perpendicular to the axis of movement of the joystick (as shown in Figure 3). There were
special metal rods mounted to the sticks and the servos after. The left servo controls the
drones rotation, and the right servo controls the drones pitch (forwards and backwards
movement).
In order to actually use the servos there has to be Arduino board controlling them.
The code Writes a value to the servo, controlling the shaft accordingly. On a standard
servo, this will set the angle of the shaft (in degrees), moving the shaft to that orientation
(Arduino - ServoWrite). With that, the Arduino code was able to set the joysticks at a
Problem Statement
Problem Statement:
To be able to make a drone fly without direct human input. Meaning creating a
Hypothesis:
The drone will be able to fly in two separate fixed paths: a ten-meter path from
Data Measured:
The radial distance from the end point will be collected in meters in order to try to
Experimental Design
Materials:
Procedures:
1. Program, using C, the Arduino Uno board to control the servos which will
indirectly control the remote, see Appendix B and C for examples
2. Upload code from computer to drone from arduino software by pressing the right
arrow button at the above the coding region and clicking it, making sure the board is
connected to the computer
Testing:
1. Set up drone in an open area with almost no people around, for safety
5. Run the code and fly the drone by pressing the reset button on the arduino board
Figures:
Figure 4 shows the drone that will be controlled externally using the Arduino
Table 1
Flight AB
Table 1 is a list of the distances for Flight AB, after the drone had finished its
flight. Distance is measured from the drone to the waypoint B and is measured in
meters. The highlighted trials are distances within the ten percent threshold. The values
with an even 10.00 means that the drone flew more than 10 meters away from the last
waypoint or was on a potentially dangerous path that could harm the drone.
Table 2
Flight AB Observations
Table 2 is a list of the observations from Flight AB. Each and every one of these
observations are made after each flight, and for most of the flights, adjustments are made
to the code. It should be noted that in the last three trials, no adjustments were made to
the code, as the flights were within one meter of the waypoint.
Hillock Le 11
Table 3
Flight ABA
Table 3 is a list of the distances for Flight ABA after the drone had finished its
flight. Distance is measured from the drone to the waypoint A and is measured in
meters. The highlighted portions are distances within the ten percent threshold. The
values with an even 10.00 means that the drone flew more than 10 meters away from
the last waypoint, did not make it to the second way point or was on a potentially
Table 4
Flight ABA Observations
Table 4 is a list of the observations from Flight ABA. Each and every one of these
observations are made after each flight, and for most of the flights, adjustments are made
to the code. It should be noted that in the last three trials, no adjustments were made to
the code, as the flights were within two meter of the waypoint. As an added note, the
program was executed slightly different in the last three, it was initialized then started
flight. This worked because there was a built in delay before the program made the drone
move.
Hillock Le 14
There was no applicable statistical test available for the type of data this
experiment produced. That is because there was not a before and after. There was a
different program ran every time in order to decrease the distance. Based on that, there
In order to make sure that the data recorded was reliable and had the least
variability possible the trials were conducted in a similar manner throughout each of the
different flights. The flights were recorded and the distances in which they landed at the
end of the flight were written down, corresponding to which flight that was currently
being conducted. In total, 53 flights were carried out. Once a flight finished, the next one
was conducted, excluding ones done near the end of the day; in those cases, the flights
were resumed the next day. As each set went by, one would expect to see a somewhat
Figure 6 shows the recorded distances from B in Flight AB. There is an overall
downward trend of the data. Which seems to be heading down almost exponentially.
Figure 7 shows the recorded distances from A in Flight ABA. There does not
seem to be any clear pattern with this data, however, there are three sets of decreasing
distances, as shown by the black lines. Probable causes may be due to larger program
changes causing dramatic drone responses or battery life and changing battery level after
change.
As a whole as time went on, the distances got smaller. That shows the programs
were getting more and more accurate. Which means that it will be able to be gotten
smaller and reliably smaller so that it can be used practically under commercial and
Conclusion
The objective of the project was to develop a system that can give a drone a set of
flying instructions to fly a fixed path to reach a certain waypoint within 1 meter, three
times in a row. Overall, the drone was able to fly its fixed path and managed to get
through the waypoints of AB and ABA. AB being from a point to another point, and
ABA being a point, to another point, back to the original point. The distance between the
drone and the particular waypoints somewhat gradually decreased, until there were three
consistent trials of the distances being 1 meter or less. For Flight AB, it took 21 trials,
with an average of successful flights of 2.59 meters, before the right code and flying
procedure was acquired, and for Flight ABA, it took 32 trials with an average of
and fly a within a fixed path was accepted. Although the hypothesis was accepted, there
were some errors done while testing it. First off, there was trimming problems. That
would cause the drone to drift in the air. This could only be fixed from using the trim
feature of the controller. The buttons were pressed for the specific trim that needed and
keep pressing for a guess and check idea. The next problem was the battery level. The
battery level was a huge problem in the experiment. While adjusting code (decreasing or
increasing the time interval for a certain section in the code to run for, and/or increasing
or decreasing how fast the drone moves), adjustments for the noted decreasing battery
level would be made. After the battery level was so low the drone could not keep itself in
the air, the battery was changed. After the change in battery charge, and no change in
Hillock Le 17
code, there would be dramatically different results. That happened because the energy
concentration is much lower in a nearly depleted battery than a fully charged one, causing
a lower amount of energy to be able to be used for flight. A next error world be a guess
and check idea of testing. The changes in code were done in a guess and check method.
There would be a flight that was short and change the timing of movement by a large
amount and that would be too much or too little. A final error was the timing of the drone
in the air and the starting of the program. At the beginning, there was a large delay, coded
in on purpose, thinking at the time it was a good idea. The further into the experiment the
researchers got, the less the delay, due to starting the program closer to the flight start up
and actually coded decrease in general. However, the drone always started moving after it
These results show that it is possible to program a drone to fly a fixed path in a
closed environment. Real world applications would not be much different. There would
be sensors needed to detect wind and programming to combat the wind, however
With this, this information can be used to ship items from point A to B inside a
warehouse or a school by attaching the package underneath the drone and starting the
program. This is good for outdoor use also because GPS is not available everywhere, so
drones could have a fixed path planned out for that. With this in mind, the drones could
also be used in military scouting missions where if a drone was not used, then there
would be a high risk of casualty. People can benefit from this because they can set the
Acknowledgment
We would like to thank Mr. Mark Supal at MMSTC. He helped us think of our
unique idea, and got us our research drone. He provided us with plentiful information for
As shown in Figure 8, the program itself is short and simple. It starts, then
activates the classes made to program it easier. Then it runs the classes in the order
specified in the code. When there is no more it will end the program.
Hillock Le 20
void setup() {
myservo1.attach(11); //sets a pin write so the program can control the board
myservo2.attach(8); //sets a pin write so the program can control the board
void setup() {
myservo1.attach(11); //sets a pin write so the program can control the board
myservo2.attach(8); //sets a pin write so the program can control the board
base();//end flight
}
Email: marsup@wcskids.net
Dialogue Information
1. Contact Goal:
Help us think of the experiment, set it up, and code it.
Hillock Le 24
Works Cited
<https://www.Arduino.cc/en/Reference/ServoWrite>
By Single, It's Meant That the Chip Contains a Single Potentiometer. Some Digital Pot
<http://www.learningaboutelectronics.com/Articles/MCP4131-digital-
potentiometer-circuit.php>.
drone-designed-transport-humans>.
Santoro, Corrado. "How Does a Quadrotor Fly?" N.p., 10 Feb. 2014. Web. 20 Sept. 2016.
<http://www.slideshare.net/corradosantoro/quadcopter-31045379>.
Simple Servo Control Tutorial." Arduino Playground. Arduino, n.d. Web. 20 Sept.
2016. <http://playground.Arduino.cc/Learning/SingleServoExample>.