SYST495 Fall 2015 Senior Capstone Project Final Report

advertisement
SYST495 Fall 2015
Senior Capstone Project
Final Report
Design of the Life-ring Drone Delivery System (LDDS)
for Rip Current Rescue
Andrew Hardy
Mohammed Rajeh
Lahari Venuthurupalli
Gang Xiang
Sponsor:
CATSR - Lance Sherry
Support:
Expert Drones - Brett Velicovich, Brian Yi
Department of Systems Engineering and Operations Research
George Mason University
4400 University Drive
Fairfax, VA 22030-4444
United States
December 9th, 2015
Table of Contents
1.0 Context Analysis .................................................................................................................. 5
1.1 Beach Analysis ................................................................................................................. 5
1.2 Beach Rescues and Fatalities .......................................................................................... 5
1.2.1 Beach Rescues .......................................................................................................... 6
1.2.2 Beach Fatalities ......................................................................................................... 8
1.3 Rip Currents ....................................................................................................................10
1.3 Drowning Process ...........................................................................................................11
1.4 Lifeguard Rescue Process ...............................................................................................12
1.5 Performance Gap ............................................................................................................13
2.0 Stakeholder Analysis ...........................................................................................................14
2.1 Liability Issues .................................................................................................................15
2.2 Stakeholder Tensions ......................................................................................................15
2.3 Win-Win ...........................................................................................................................16
3.0 problem and Need...............................................................................................................16
3.1 Problem Statement ..........................................................................................................16
3.2 Need Statement...............................................................................................................16
3.3 Proposed Design Solution ...............................................................................................17
4.0 Requirements......................................................................................................................18
4.1 Mission Requirement .......................................................................................................18
4.2 Functional Requirements .................................................................................................18
4.3 Design Requirements ......................................................................................................18
4.4 Ilities Requirements .........................................................................................................19
4.4.1 Usability ....................................................................................................................19
4.4.2 Availability .................................................................................................................19
4.4.3 Reliability ..................................................................................................................19
4.4.4 Resistibility ................................................................................................................19
5.0 Concept of Operations ........................................................................................................20
5.1 Function Flow Block Diagram ..........................................................................................20
5.2 Operational Scenario .......................................................................................................21
6.0 Alternatives .........................................................................................................................22
6.1 Drone Alternatives ...........................................................................................................22
6.2 Flotation Device Alternatives ...........................................................................................22
2
7.0 Method of Analysis ..............................................................................................................24
7.1 Simulation Goal ...............................................................................................................24
7.2 Equations ........................................................................................................................24
7.2.1 Power and Thrust ......................................................................................................26
7.2.2 Drag Model ...............................................................................................................28
7.2.3 Life vest Model ..........................................................................................................28
7.2.4 Main Force Model .....................................................................................................29
7.2.5 Rotational Dynamics Model .......................................................................................30
7.2 Design of Experiments for Variables ................................................................................32
7.2.1 Force of Drag ............................................................................................................32
7.2.2 Motor Parameters .....................................................................................................34
7.3 Simulation........................................................................................................................35
7.3.1 Rip Current and Victim Process ................................................................................35
7.3.2 Lifeguard Rescue Process ........................................................................................36
7.3.3 Drone Dynamics and Control ....................................................................................37
7.3.4 Post MATLAB & Simulink Analysis ............................................................................39
7.4 Simulation Requirements.................................................................................................40
7.4.1 Functional Requirements ..........................................................................................40
7.4.2 Input Requirements ...................................................................................................40
7.4.3 Output Requirements ................................................................................................40
7.5 Simulation Design of Experiments ...................................................................................41
7.5.1 1st DoE: Victims distance from shore before dying ...................................................41
7.5.2 2nd DoE: Best Path, Best Location, Minimum Velocity Needed ................................42
7.5.3 3rd DoE: Drone Design Space Model........................................................................43
7.5.4 4rd DoE: Guarded and Unguarded Rescue ...............................................................44
7.6 Cost Model ......................................................................................................................45
7.7 Utility Function .................................................................................................................46
8.0 Recommendations and Results...........................................................................................46
9.0 Statement of Work ..............................................................................................................46
9.1 Scope of Work .................................................................................................................46
9.2 Schedule/Milestones .......................................................................................................47
9.3 Payment Schedule ..........................................................................................................48
9.4 Work Breakdown .............................................................................................................48
3
9.4.1 Work Breakdown Structure .......................................................................................48
9.4.2 Critical Tasks ............................................................................................................49
9.4.3 Schedule ...................................................................................................................51
9.4.4 Earned Value ............................................................................................................53
10.0 Project Risk Mitigation .......................................................................................................54
References ................................................................................. Error! Bookmark not defined.
Appendix ...................................................................................................................................56
Appendix A: Federal Drone Regulations ................................................................................56
Appendix C: Matlab Modules .................................................................................................58
Linear Dynamics ................................................................................................................58
Rotational Dynamics ..........................................................................................................62
Main Model ........................................................................................................................65
4
1.0 CONTEXT ANALYSIS
1.1 Beach Analysis
In the United States, approximately 42% of the adult population visits the beach every
year [1]. Beach goers visit the beach for activities such as swimming, surfing, scuba, and to just
walk around the beach. While on beaches, they pay for beach services and give revenue to the
owners. There are approximately 6,200 beaches in the United States [2]. In addition, those
beaches are a profitable business for the U.S.; they generate more than $320 billion annual
revenue [3]. The costs to manage and maintain a beach in the United States are less than 4%
of $2.65 billion annual park service budgets. For example, beach patrol in Ocean City, Maryland
operates on a budget $2.3 million [4]. On any sizable beach, there are lifeguards that make sure
beach goers are safe.
1.2 Beach Rescues and Fatalities
There are different incidents that lifeguards respond to every year. Each incident can
lead to successful rescues, or in the worse case, fatalities. For the first type beach rescues, we
have considered statistical data from the USLA between 2003 and 2013 [5]. That data includes
rip currents rescues and total rescues. For fatalities, we have considered statistical data from
the USLA between 2003 and 2014 [5]. That data include surf zone fatalities total, rip current
drowning deaths and total drowning deaths. For rip current drowning deaths and total drowning
deaths, we have considered the situation when there was a lifeguard and when there was not a
lifeguard.
Please note, some beach agencies only report totals for fatalities and rescues, but not
the specific causes of rescues. For example, just because a graph says there are only two rip
current rescues that year, does not mean there were only two rip current rescues that year for
all agencies. It means only two rescues from agencies that do report that subcategory. We show
these graphs to reveal the general trends and minimum numbers regarding rescues and
fatalities.
5
1.2.1 Beach Rescues
Primary Cause of Rescue 2003 – 2012
400000
Rip Current, 334184,
81%
300000
200000
Surf, 73670, 18%
100000
Swiftwater, 2459, 0%
Scuba, 2538, 1%
0
Rescues
Rip Current
Surf
Swiftwater
Scuba
FIG. 1: CAUSE OF RESCUE TOTALS FOR 2003-2012
Primary Cause of Rescue 2012
40000
Rip Current, 35935,
82%
30000
20000
Surf, 7288, 17%
10000
Swiftwater, 307, 1%
Scuba, 272, 0%
0
Rescues
Rip Current
Surf
Swiftwater
Scuba
FIG. 2: PRIMARY CAUSE OF RESCUE FOR 2012
Figure 1 and Figure 2 are the most important graphs on beach rescues [6]. Figure 1
shows that rip currents are the primary cause of rescue in the United States in the last decade
since rip currents accounted for nearly 330,000 or nearly 80%, of rescues. The rescues from
surf, swiftwater, and scuba were 18%, 0%, and 1% respectively. Compared to surf, swiftwater,
and scuba rescues, rip currents are the primary cause of rescue. Figure 2 is a sample from
2012 to emphasize that rip currents are the primary cause of rescue.
6
Rip Current Rescues
100,000
Number of People
Number of People
50,000
40,000
30,000
20,000
y = 889.41x - 2E+06
10,000
0
2000
2005
Year
2010
FIG. 3: RIP CURRENT RESCUES ACROSS THE U.S.
2015
Total Rescues
80,000
60,000
40,000
y = 1163.4x - 2E+06
20,000
0
2000
2005
2010
2015
Year
FIG. 4: TOTAL RESCUES ACROSS THE U.S.
Figure 3 shows the amount of rip current rescues from 2003 to 2013, according to the
USLA [5]. When looking at the trend line, rip current rescues are increasing over the years by a
rate of about 900 people per year. Figure 4 shows the total rescues for all causes between 2003
and 2013. The total includes rip currents with swift, surf and scuba rescues. By looking at the
trend line, total rescues are increasing over the years by an increasing rate of about 1160
people per year. When comparing rip current rescues with the total rescues, rip current rescues
are almost half of the total rescues. For example, in 2011 the rescues from rip currents were
32,867 while the total rescues were 63,909 people rescued. Remember that some agencies
report totals and not rescues with specific causes, so the 32,867 is an estimate of the minimum
number of rip current rescues that year.
7
1.2.2 Beach Fatalities
Surf Zone Fatalities 2014 Total
100%
80%
Rip Current, 79%
60%
40%
20%
High Surf, 7%
Sneaker Wave, 3% Other, 6%
Unknown, 5%
0%
Fatalities
Rip Current
High Surf
Sneaker Wave
Other
Unknown
FIG. 5: FATALITY PERCENTAGES ACROSS THE U.S 2014
Figure 5 shows the fatalities in 2014 in the United States according to the National
Oceanic and Atmospheric Administration (NOAA) [7]. Rip current drowning accounts for 79% of
all beach fatalities. On the other hand, drowning from high surf accounts for 7%, sneaker wave
drowning accounts for 3%, other drowning accounts for 6% and unknown drowning account for
5%. Rip current drowning accounts for the majority of beach fatalities. In addition, according to
NOAA, the 10-year average of annual rip current fatalities is 51 people per year [8]. However,
the United States Life Saving Association (USLA) believes rip current fatalities exceed 100
people every year [9].
8
Total Unguarded Deaths
y = 0.6x - 1176.2
40
20
0
2000
2005
2010
2015
Number of People
Number of People
Rip Current Unguarded
Deaths
60
150
y = 0.0545x - 20.436
100
50
0
2000
2005
2015
Year
Year
FIG. 6: UNGUARDED RIP CURRENT DEATHS ACROSS THE U.S.
2010
FIG. 7: TOTAL UNGUARDED DEATHS ACROSS THE U.S.
Figure 6 and Figure 7 show unguarded (no lifeguards present) deaths between 2003
and 2013, and unguarded drowning deaths from rip currents from 2003 to 2013 [5]. Drowning
deaths from rip currents is slightly increasing at a rate of 0.6 per year. In Figure 7, you can see
the total unguarded drowning deaths from 2003 to 2013. The total includes rip currents with
swift, surf and scuba. The total drowning deaths is mostly stable.
10
Total Guarded Deaths
y = 0.1909x - 379.16
5
0
2000
2005
2010
2015
Year
FIG. 9: GUARDED RIP CURRENT FATALITIES 2003-2013
Number of People
Number of People
Rip Current Guarded
Deaths
30
y = 0.6727x - 1332.4
20
10
0
2000
2005
2010
2015
Year
FIG. 8: TOTAL GUARDED FATALITIES 2003-2013
Figure 9 and Figure 8 show guarded drowning deaths according to the USLA from 2003
to 2013 [5]. Guarded (lifeguard present) drowning deaths from rip currents are increasing at a
rate of 0.19 per year. The total deaths includes fatalities caused by rip currents, swiftwater, surf
and scuba. Total drowning deaths is increasing by a rate of 0.67 per year.
9
1.3 Rip Currents
Shown by the statistics from section 1.2, beach goers who swim in the waters have to be
careful of rip currents, as they are very dangerous and they drag people away from shore.
Agencies like the USLA and NOAA are actively spreading knowledge about the dangers of rip
currents [10]. Rip currents are strong powerful currents of water that flow away from shore. They
form when waves break near the shoreline, meaning it can occur at nearly every beach.
Beaches usually have multiple rip currents spread across the shoreline.
FIG. 10: IMAGE OF A LARGE RIP CURRENT NEAR A JETTY
FIG. 11: RIP CURRENT CIRCULATION DIAGRAM
When waves break near the shoreline, they generate feeder currents that move along
shore [11]. Once this feeder current is deflected offshore, it forms the rip current. This rip current
has a neck and a head area. The neck is the area where the rip current’s speed and strength is
highest. Most drowning deaths happen in the neck area of the rip current. The head of the rip
current is the area where the rip current’s speed and strength starts to weaken.
Shown in Figure 10, rip currents can also form around jetties. Additionally, when waves
travel through sandbars, the water level increases and this is also form rip currents. As the
water level increasers, the pressure increases and this would form faster and stronger rip
10
currents. Some rip currents last for many days or months, while others some last hours or days.
The table below shows the ranges for certain rip current properties [12].
Rip Current Measurements
TABLE 1: RIP CURRENT
Width
[10,200] feet
Length
~[100,1000] feet
Speed
[1,8] feet/second
RANGES FOR WIDTH, LENGTH,
SPEED
The width of the neck ranges between ten and two hundred feet. The neck length ranges
approximately from one hundred to one thousand feet away from shore. The speed of the rip
current ranges from one to eight feet per second. When the rip current’s speed is below four
feet per second, it is not considered to be dangerous for strong swimmers, but it is dangerous
for the weak swimmers [9]. However, if the speed exceeds four feet per second, this is
considered to be dangerous for all the swimmers.
If swimmers caught in a rip current, it is dangerous for them if they try to fight it by
swimming against the rip current. The best method is to swim parallel to the shoreline to get out
of the neck first, then swim back to shore.
1.3 Drowning Process
Drowning is a very common and deadly experience. After the victim is caught in a rip
current, their first reaction is to fight it. The victim tries swimming against the current however
they should float with the current, or swim parallel to the shore.
The main reason for a victim to drown is either because they are exhausted, dehydrated,
or they do not know how to swim. Hence, they start to panic. The body accumulates carbon
dioxide which leads to dry-drowning. Dry-drowning is when the water reaches the airway, and
the lungs start to seal and the water starts to accumulate in the stomach. This eventually leads
to secondary drowning where the victim becomes unconscious and the water flows into the
lungs. In less than a minute the victim will be dead. This is shown in the figure below.
FIG. 12: DROWNING PROCESS
11
1.4 Lifeguard Rescue Process
A lifeguard chair is placed every couple meters or miles, depending on how big the
beach is. The beach is separated into multiple zones with one lifeguard chair in the top most
center of each zone. If a drowning victim is spotted in the zone, the lifeguard will radio the
control room, whistle at the adjacent lifeguards to cover their zone and point in the direction of
the victim [13]. The lifeguard then will start running towards the shoreline with either their right
hand up in the air, which means assistance is needed, or pointing and tapping on top of their
head, which means assistance is NOT needed. The lifeguard usually detects the drowning
victim when they first start to panic. The lifeguard swims to the victim, rescues them, guides
them back to the shoreline, and then drags them out of the water. Medical care is provided as
needed afterwards. This entire lifeguard rescue process takes a max of 4 minutes [14]. This
process is shown in the function block diagram depicted below.
FIG. 13: LIFEGUARD RESCUE PROCESS
12
1.5 Performance Gap
Lifeguar
d Reach
Fightin Time
g
Agains
t
Curren
t
Max Victim Survival
Time
6 9
0 3
Time
*not in
(s)
scale
FIG. 14: GAP BETWEEN SURVIVAL TIME AND RESCUE TIME
There is a gap between victim survival time and lifeguard rescue time. Shown as the
green line above, lifeguards can reach a victim in a maximum of 93 seconds [14]. Victims that
can survive more than 93 seconds are on the right side of that green line. They are safe
because they can survive long enough for lifeguards to come and rescue them. The victims that
cannot survive for more than 93 seconds are in the red shaded area. They are the ones in risk
of drowning. The time of 60 seconds marks the estimated survival time for a weak swimmer that
attempts to fight against the rip current.
13
2.0 STAKEHOLDER ANALYSIS
There are five main stakeholders: 1) lifeguarding associations, 2) lifeguards, 3) beach
goers, 4) manufacturers, and 5) municipalities.
1. Lifeguarding Associations
Lifeguarding associations are professional lifesaving associations that train dedicated
beach lifeguards and open water rescuers. These associations certify lifeguards and make sure
they are up to date with all four requirements: 1) Yearly licensing, 2) Four hours of in-service
training, 3) Monthly training meetings and, 4) Red ball test. If the individual meets all these
requirements each year they will be certified as a lifeguard.
2. Lifeguards
Lifeguards are strong swimmers who supervise the safety and rescue of swimmers,
surfers, and other water sports participants. Three certified lifeguards were interviewed to help
with research on rip currents, rescue process, and liability issues.
3. Beach Goers
Beach goers are people who go to the beach and use its services. They want the least
restrictions. Instructions given by lifeguards are of no concern. However, they want the
lifeguards to be 100% effective at their jobs. In other words, the beach goers want the lifeguards
to be always alert, well-trained, and to save everyone in time.
4. Manufacturers
Manufacturers are companies that produce equipment for the lifeguards. Some major
companies include Swimoutlet and Marine Rescue Products. A lifeguarding association can
also manufacture rescue products. For an example, the Jeff Ellis & Associates, an international
lifeguard training company, builds their own products such as a rescue board, a lifeguard buoy,
a ring buoy and life jackets.
5. Municipalities
municipality is broken down into owner and operator. The owner can be the county, city,
or state government that owns the beach property. The operator documents the lifeguards
current status of certification and requirements met. They are the ones who pay the lifeguarding
associations, certified agencies(like Jeff Ellis), and lifeguards. Both the owner and operator are
usually the same. However there are some operator businesses that concentrate on the
documentation and financial aspect of lifeguarding that owners may hire.
14
2.1 Liability Issues
Between these five stakeholders there are liability issues. The body of water, in this case
a beach, is broken down into municipalities which can be looked at as the owner and operator.
The operator keeps the lifeguard certification history, updates are all documented and monitors
the financial status. The lifeguard associations are certified lifeguard agencies. These
associations train lifeguards who are hired by the owner to supervise the safety of the beach
goers.
Lifeguards and certification agencies are always liable if a drowning victim sues a
lifeguard for any injuries during the rescue process. However, if the lifeguards use only the
designated, branded equipment the agencies provide, and the agencies have proof and
correctly document the lifeguard's training and license, there is a very low chance of a
successful lawsuit. Most cases would be settled out of court [13].
2.2 Stakeholder Tensions
The below diagram in Figure 15 is a summary of all the interactions, liabilities, and
tensions among the relevant stakeholders. There are tensions between all the stakeholders
such as the lifeguards not doing their jobs correctly and not following what the agencies have
taught them, or the municipalities not having proper documentations stored or the beach goers
not obeying the rules and regulations. The lifeguards protect the beach goers in case of any
emergency. If the beach goers are injured during the rescue process they can sue the
lifeguards. However, at the end of the day, the beach owner is always responsible for any
lawsuits against the lifeguards. The beach owner is protected under the catastrophic umbrella
insurance which is an extra layer of liability protection over and above the beach property in
case the owner is sued because of an accident. If the owners lose the lawsuit, the taxpayers
pay that umbrella insurance.
The beach goers provide the revenue for the operator who then provides clean and safe
beaches for the owner. The Life guarding associations train and certify professional lifeguards
who are hired by the operator. These associations also provide legal assistance for the owner,
operator, and lifeguards. Also, the associations, operator, and lifeguards provide feedback
of the equipment the manufactures produce. The associations are looking for the most reliable
and effective equipment whereas the operator is looking for something that is affordable.
15
FIG. 15: STAKEHOLDER TENSIONS DIAGRAM
2.3 Win-Win
Assume there exists a solution that would decrease the amount of rip current fatalities.
Since there is less fatalities, beaches with the system would be considered safer, thus more
beach goers would come, which is a win for municipalities and for beach goers. The system
could be equipped with any reasonably weighted flotation device, so it is unlikely any
lifeguarding agencies need to buy equipment from a different manufacturer. Thus,
manufacturers should not be affected by the system. Currently, there is no stakeholder that is
again a new system. All stakeholders will receive some benefits if the system is successful.
3.0 PROBLEM AND NEED
3.1 Problem Statement
On average, rip currents are the cause of 81% of annual beach rescues, 79% of annual
beach fatalities, and they cause a minimum of 51 deaths per year (USLA 2015)(NOAA
2014)(NOAA 2015). Lifeguards are very good at their job and can reach a victim caught in a rip
current in a max of 93 seconds (Butch 2015). However some victims cannot survive this long,
as some have survival times as low as 60 seconds.
3.2 Need Statement
There is a need for a system that can reach and assist a victim in under 60 seconds in
order to increase the victim's survival time. If a victim receives a flotation device in time, they
can survive long enough for the lifeguard to pull them back to shore.
16
3.3 Proposed Design Solution
We will design a system that will increase the victim survive time during the rip current
rescue process. This will be done by delivering a flotation device to the victim while they are in
the water. Once a victim has the flotation device, they will be able to survive long enough for the
lifeguard to rescue them. The delivery will be done by the use of an unmanned aerial drone.
Tether Hold/Release System
Front and Down Cameras
Tethered Lifesaving Device
17
4.0 REQUIREMENTS
*We are current revising our requirements to be more organized and relevant to our
components.
4.1 Mission Requirement
MR.1 - The LDDS system shall reduce the average annual number of rip current deaths by a
minimum of X%.
4.2 Functional Requirements
F.1 The system shall hover at a minimum altitude of 3m above the ground.
F.1.1 The system shall hover at an altitude of 3m with a minimum payload of 2.268kg.
F.2 The system shall be operable within X m of the home point.
F.3 The system shall reach a victim within X seconds.
F.3.1 The system shall increase the victim survival time by an average of X seconds, if
the system does reach the victim.
F.4 The system shall be able to restock its payload within X seconds.
F.5 The system shall be able to deploy its payload within X seconds.
F.6 The system shall do the entire rescue process at a maximum time of X seconds.
F.7 The system shall be able to hover within a horizontal distance of 0.5m from the target.
4.3 Design Requirements
DR.1 The system shall attach the lifesaving device to the drone through a tether.
DR.1.1 The system may have a disconnect method to cut or release the tether in order
to deliver the lifesaving device.
DR.1.2 The system shall have a tether release system that weighs under X kg.
DR.1.3 The system shall be able to release the tether within X seconds of the request to
release.
DR.2 The system shall have a camera system pointing downward.
DR.3 The system shall have a camera system pointing forward.
18
4.4 Ilities Requirements
4.4.1 Usability
U.1 The system shall be usable by a person that has less than 12 hours of training.
4.4.2 Availability
A.1 The system shall be available to at least any beach on U.S territory
A.1.1 The system shall comply with all federal drone regulations (see Appendix A)
A.2 The system shall be available for rescues over 95% of the time.
A.3 The system shall be usable in X rescues a day when balanced charged.
A.4 The system shall have a minimum lifetime of 5 years
4.4.3 Reliability
RE.1 The system will have MTBF of X months
RE.2 The system shall have a tether system error MTBF of 7 days
4.4.4 Resistibility
RS.1 The system shall resist sand conditions of an average beach.
RS.2 The system shall resist humidity conditions of an average beach.
RS.3 The system shall resist temperature conditions of an average beach
19
5.0 CONCEPT OF OPERATIONS
*We are currently revising our concept of operations to meet questions from the faculty
presentation.
5.1 Function Flow Block Diagram
The lifeguard process and the drone system are independent, meaning the lifeguard
rescue process is outside of our system boundary. If the lifeguard for some reason is not able to
reach the victim the drone will still continue and drop the ring buoy. If the drone is not able to
drop the ring buoy, the lifeguard will still reach the victim. The drone process will start and
simultaneously take place in the 90 seconds the lifeguard has to swims to the drowning victim.
The controller receives what zone the victim is and finds the exact coordinates the victim is. The
controller will then command the drone to lift off. After the drone leaves the home point to the
given coordinates, there is a decision mark if the drone reaches the victim on time. If the drone
reached the victim in time, it will continue the process of dropping the ring buoy near the
drowning victim and releasing the tether when the victim grabs it, and then the drone returns to
its home point. This will modify the victim’s survival time. However, if the drone does not reach
the victim on time, the drone will directly go back to its home point.
FIG. 16: RESCUE PROCESS WITH THE LDDS SYSTEM
20
5.2 Operational Scenario
Precondition: Lifeguard has identified a drowning victim. Lifeguard is prepared for rescue
process. Lifeguard informs the controller about the section number or victim’s general direction.
Victim is located somewhere on the rip current and is attempting an escape method. Drone is
ready to deploy. Flotation device is stocked on drone.
Primary: Stage 1
1. Controller is informed by lifeguard of general area of the victim
2. Controller takes off drone and confirms victim location by eyesight if near tower
3. The system takes off to a height of X meters.
4. The system accelerates to X m/s towards the section given.
5. Controller confirms specific location relative to drone in that section through camera or
eyesight
6. The system maintains X m/s towards the victim's location.
7. Once the system is within X m of the victim’s location, system shall decelerate to victim’s
speed and position. At the same time, the system will reduce height until the flotation
device is just above the water (confirmed by controller).
Primary: Stage 2
8. The system drops the flotation device when it is 5m away from the victim and positions it
by the victim.
9. Once the victim is about to grab the flotation device, system detaches the tether.
10. The system maintains a X m hover over victim until lifeguard has reached the victim.
a. Controller uses camera to visually determine victim state (active or passive)
Primary: Return
11. Once lifeguard has reached the victim, or drone has been determined to be of no further
use, or drone has reached critical battery charge, system will be flown back to the home
point.
12. System lands on home point.
Post-Condition: Lifeguard is enacting the rest of rescue process starting with rescuing the
victim. Drone has landed back at the home point and awaits restocking of ring buoy. Victim is
being helped by the lifeguard.
21
6.0 ALTERNATIVES
We have three sets of alternatives we are looking to evaluate to ensure that the LDDS
drone system will be the most effective.
6.1 Drone Design Alternatives
For the design of the LDDS drone system we must consider how big a battery the
system actually has to carry, the larger the battery the more flight time the drone will have.
However, with the increase in size comes an increase in weight. We wish to ensure that the
drone can devote the majority of its carrying capacity to the flotation device and related
components so the lightest battery possible while still ensuring we have enough flight time
necessary to perform the mission is required.
The size of the motors increases the lift the drone can generate, however larger motors
would require the drone to be both larger and heavier to take the resultant increased forces. We
need motors that are big enough to provide the necessary carrying capacity for the done while
not turning it into a helicopter.
Another way to increase the drone carrying capacity is to increase the number of motors
that are on the drone, so we wish to find the minimum number of motors and the optimum
configuration of motors while not turning the drone into a motor pile.
6.2 Drone location alternatives
There are three considered locations that it could be station for use in the updated
rescue process. First is in a central control room. This would allow the drone to be sheltered
from the elements and be near its charging station. However, the drone would be forced to
travel a farther distance to reach any drowning persons. Second is to station the drone near the
lifeguard towers. This would reduce the travel time to drowning persons, but it exposes the
drone to the elements and removes it from maintenance and charging areas. Third is to have
the drone stationed out in the ocean. This is only being considered as a method of ensuring
compliance with potential FAA regulations.
6.3 Flotation Device Alternatives
Alternatives for the life saving device are listed in the table below. It compares the four
most popular and reasonable floating devices in order to conclude the best alternative for the
drone to carry and deliver to the drowning victim. The quantitative factors being compared are
weight, dimensions, buoyancy, and cost [15]. The most reasonable one is the ring buoy as it is
cost effective and the victim has a better chance of grasping it, and it has been recommended
by our stakeholders. The effectiveness and usability are the ratings from a professional lifeguard
which is purely opinion based. The best alternative is found by performing an AHP analysis. The
weights for each factor is found however calculations to find the best alternative by using these
weights is still in process (TBA).
22
TABLE 2: FLOTATION DEVICE ALTERNATIVES
23
7.0 METHOD OF ANALYSIS
7.1 Simulation Goal
The goal of our simulations is to verify that the LDDS system meets the mission
requirement of reducing fatalities. The LDDS system works best with a lifeguard, however 75%
of all fatalities are in unguarded areas. Thus, we will perform simulations to check the LDDS
system's performance for both unguarded and guarded rescues.
To make sure the simulation is close to reality, we will have design of experiments on
verifying the properties of the drone.
7.2 Equations
In order to analysis the feasibilty of the system, we shall use a MATLAB simulation to
test a drone's ability to fly to a moving target, which represents the victim in a rip current. In
order to do that, we first detail the equations and notations we will use. We used Andrew's work
and last year's NSPDAV team works for our equations [16] [17].
Drones, or Unmanned Aerial Vehicles, have an even number of motors (four, six, or
eight). Half the motors spin counterclockwise and the other half spin clockwise. By having
motors that spin in different ways, the drone can controll rotation about its axises. For example,
this figure shows the top view of the drone. Clockwise rotation is stronger, thus the drone body
must be rotating counterclockwise.
FIG. 17: DIAGRAM FOR A COUNTERCLOCKWISE ROTATION
There is also two frames of reference we need to consider. The drone has its own
reference, or point-of-view. While the controller, standing still on a beach, has his own
reference; his own left, forward, and up. We define the drone's point-of-view as the body-frame,
and the controller or beach's point-of-view as the inertia-frame.
24
X
X
2
Y
3
3
1
Y
4
4
4
2
1
5
X
3
Y5
2
6
1
6
7
8
FIG. 18: MOTOR NUMBERS AND ROTATIONS FOR DIFFERENT PLATFORMS
We first define the motor numbers, and spins in Figure 18. The simulation will focus on
hexacopters and octocopters.We define odd-numbered motors to be spinning clockwise and
even-numbered motors to be counterclockwise. Although this might seem contrary to the figure,
these notations are for viewing the drone from the bottom-up. Thus, clockwise means, from the
bottom view, it is rotating clockwise. We define the axis of the body-frame drone as the
following: the front side as the positive X-axis, the left side as the positive Y-axis, and the top
side as the positive Z-axis (the Z axis is point out of the screen in ).
We will define the position of the drone in X-Y-Z coordinates. The orientation of the
drone will be in the Euler angles of φ-θ-ψ, or roll-pitch-yaw.
There is three axis of rotations. They can rotate around their X-axis (roll), the Y-axis (pitch), and
the Z-axis (yaw) as shown below.
Z
X
Y
http://theboredengineers.com/2012/05/the-quadcopter-basics/
FIG. 19: AXES OF ROTATION
In order to transform body-frame forces into inertia-frame forces, we will use
transformational matrices. For example, force-inertia = Rotational-matrix*force-body. There are
respective transforms for φ-θ-ψ (roll-pitch-yaw). We only need the product of the three rotational
matrices in order to a full transform using the three values of φ-θ-ψ.
25
 cos sin 0
R   sin cos 0
 0
0
1
cos  0  sin  
R   0
1
0 
 sin  0 cos  
0
0 
1

R  0 cos  sin  
0  sin  cos  
 cos  cos
R  R R R   cos  sin
 sin 
sin cos   sin  sin  cos
cos  cos  sin  sin  sin
 sin  cos 
(1)
(2)
(3)
sin  sin  cos  sin  cos 
sin  sin  cos  sin  cos 

cos  cos 
(4)
Additionally there is a transform matrix to convert derivatives of Euler angles to inertiaframe angular velocities. Shown below:
0
 X  1
   0 cos 
 Y 
Z  0  sin 
 sin     
 
sin  cos    
cos  cos    
(5)
7.2.1 Power and Thrust
We first assume that the propeller motor torque is proportional to the current difference.
Show below:
  Kt ( I  I 0 )
(6)
Where τ is motor torque, I is the current, I0 is the no-load current when the motor is not
spinning, and Kt as the proportionality constant. We assume I0 is negligible. We also assume
that the voltage difference is the sum of the voltage drop across internal resistance and a term
that involves the angular velocity of the propellers. Because the faster the propeller spins, the
more voltage it uses.
(7)
V  IRm  Kv
Where V is voltage, I is the current, Rm is the internal resistance, Kv is the proportionality
constant, and ω is the angular velocity of the motor's propeller. For the simulation, we assume
Rm is negligible. Also note that motor manufacturers list Kv publicly, but that is the inverse of the
Kv we are using. Their equation for Kv is Kv*V = ω, while we have V = Kv*ω. We simply need to
do 1/Kv of the manufacturer’s value to get our version of Kv.
26
From the two equations before (6) (7), we gain terms for current and voltage, thus we
can find power.
P
Kv

Kt
(8)
We now assume that motor torque is proportional to the motor's thrust, thus,
  K T
(9)
(10)
K K
P  v  T
Kt
Where τ is the motor torque, Kτ is a proportionality constant, T is thrust, P is power
generated, Kv and Kt are proportionality constants, and ω is motor propeller angular velocity.
The table below summarizes all the proportionality constants we have shown.
Variable
1
Relation
Variable
2
Proportionality
Coefficient
Equation
τ
∝
I
Kt
τ = Kt * I
τ
∝
T
Kτ
τ = Kτ * T
V
∝
ω
Kv
V = Kv* ω
TABLE 3: PROPORTIONALITY CONSTANTS
Each motor has a propeller. Each propeller spins, pushing air downwards. The air in turn
push upwards. This is the general idea of how motors provide an upward force. The thrust
equation we use is listed below:
1
(11)

T  [ D 2 P 2 ]3
2
Where T is thrust, D is diameter of the propeller, rho is the air density, and P is power.
Notice that we have a power term (10), thus we can use our earlier power equation to substitute
into the thrust equation (11). The new thrust equation is listed below.
T

2
D 2 (
K v K 2
)
Kt
(12)
27
Where Kv, Kτ, and Kt are proportionality constants, and ω is propeller angular velocity. In
the body frame, the drone only provides thrust upwards. Moving is possible when the drone is
titled, but to the drone it always provide thrust force in the positive Z-axis. Also each motor
follows the thrust equation, and so the motor’s thrusts can be added together. The follow shows
that idea.
 0 
K
K


Tbody  D 2 ( v  ) *  0 
2
Kt
 i 2 



(13)
Where ωi is the ith motor.
7.2.2 Drag Model
We will use the follow drag equations.
1
C D v 2 A
2
1
PD  C D v 3 A
2
(14)
FD 
(15)
Where FD is force due to drag, PD is the power due to drag, CD is the coefficient of drag
of the drone, ρ is the air density, v is the velocity of the drone, and A is the cross sectional area
of the drone. Since there are three surfaces normal to the X-Y-Z axes, there are three
components to the force of drag, shown below:
C DX   Ax
1 
FD   C DY   0
2
C DZ   0
0
Ay
0
0  v x2 
 
0  v y2 
Az  v z2 
(16)
Where the coefficient of drag, area, and velocities are decomposed into their X,Y, and Z
components.
7.2.3 Life vest Model
For the flotation device, we will model the force of gravity and the vector sum of the drag
force on the device, the force of gravity is of course F = mg, while the force of drag is from the
equation of drag (14).
28
7.2.4 Main Force Model
With the force of drag(14), force of thrust (13), force of gravity, force due to the tether
rope, and force due to the life vest, this will lead up to the equation of
𝑚𝑎 = ∑ 𝐹𝑖
(17)
Where m is the mass of the drone system, a is the acceleration, and F is the various
forces acting on the drone. Expanding on this equation, we have:
 x  0 
m  y   0   RTbody  FD  Flifevest
 z  mg 
(18)
Where x,y,z is the coordinate position of the drone, g is the gravitational constant (9.81
m/s/s), R is the rotational matrix(4), TB is the thrust in body-frame, FD is the force of drag, and
Flifevest is the force due to the life vest or flotation device. Here is a summation of our forces in a
free body diagram, shown below.
FIG. 20: FREE BODY DIAGRAM, SIDE VIEW OF DRONE SYSTEM
29
7.2.5 Rotational Dynamics Model
The torque on the body of the drone is from the motors. Each motor has spinning
propellers that push air horizontally, but the air also pushes back. This creates a force at a
distance away from the center of the drone, which is the definition of torque. The torque is given
by
(19)
𝜏𝐷 = 𝑟 × 𝐹𝐷
Where r is the distance between the motor and the drone’s center of mass. We already
know the force of drag from above. We also know that velocity = radius * angular velocity, thus
we can derive a torque equation based on angular velocity. However we also note that torque =
moment of inertia * angular acceleration. However, it is a small enough value that we can later
consider negligible in equation (21).
D 
1
rC D A(r ) 2 ( ) 2
2
1
rC D A(r ) 2
2
 Z  b 2  I Z 
b
(20)
(21)
(22)
Where τZ is the torque around the body Z-axis, Iz is the moment of inertia about the body
Z-axis. Now that we know torques are related to the angular velocity squared, we can find the
torques about the X-Y-Z axes.
For roll, the torque is given as torque = force * distance. The distance is the distance
from the motor to the center of mass. We assume the drone is symmetrical, thus the distance is
the same for all motors. When rolling, drones usually increase the thrust of one motor while
decreasing the other motor in the pair in order to maintain the same body thrust while also
creating a torque form that difference of thrust. Thus, the torque from one motor minus the
torque from the opposite motor creates the body’s rolling torque.
For pitch, it is the same as roll, however it involves the other pair of motors on the drone.
For yaw, we add up all the motor’s torques (21). Since two motors spin counterclockwise
and two spin clockwise, two of the terms must be negative. We denote the even numbered
motors contributing to clockwise spin, thus the terms involving even numbered motors are
negative.
2
2

  roll  
Lk (1   3 )


 
2
2
 B   pitch   
Lk ( 2   4 )

  yaw  b(1 2   2 2   3 2   4 2 )

 

(23)
Where L is the distance from a motor to the center of mass. This equation is for a
quadcopter, however similar equations exist for the hexacopter and octocopter. These
equations are based on Figure.
30
2
2

  roll  
Lk (1   4 )


 
2
2
2
2
 B   pitch   
Lk ( 2  3  5   6 )

  yaw  b(1 2   2 2  3 2   4 2   5 2   6 2 )

 

2
2
2
2

  roll  
Lk (1   2  5   6 )


 
2
2
2
2
 B   pitch   
Lk (3   4   7  8 )

2
2
2
2
2
2
2
2 

  yaw  b(1   2   3   4   5   6   7  8 )

 

(24)
(25)
We will be using Euler’s equation for torque in order to get the angular acceleration of
the system.
  I    ( I)
(26)
Where τ is the body’s torque, I is the moment of inertia, and w is the angular velocity of
the drone. This equation does not directly give us roll, pitch, or yaw, thus we need to expand on
it. Since we assume the drone is symmetric, the moment of inertial about the X-Y-Z axes are
independent of each other, shown below in that equation. If we modify the equation to solve for
angular acceleration, we get the other equation below.
0
0 
 I XX

I   0 I YY 0 
 0
0 I ZZ 
 x 
   y   I 1 (    ( I ))
 z 
 I YY  I ZZ

 y z 

  I XX 1   I XX


I ZZ  I XX
1 

    I YY  
 x z 


 I 1   I YY


ZZ

 I XX  I YY

 x y 
 I ZZ

(27)
(28)
(29)
Where τφ, τθ, and τψ are the torques in their respective rotations (22), Ixx, Iyy, Izz is the
moment of inertia about their respective axes, and ωx, ωy, ωz are the angular velocities about
their respective axes. Once we have the angular accelerations, we can use the transformation
matrix to get the Euler angle derivatives (5). Integrate those to get the Euler angles. To find
moment of inertia for the X,Y, and Z axes we will use the general equation for moment of inertia
around the center of mass,
31
I   mi ri   I i
2
rc 
(30)
m r
m
i i
(31)
i
Where mi is the mass of component i, ri is the distance from the center of mass for
component i, and rc is the distance between the edge of the object and the center of mass.
7.2 Design of Experiments for Variables
7.2.1 Force of Drag
The purpose of this experiment is to determine the force of drag acting upon the
Spreading Wings S900 while the drone is in flight. This is needed to accurately create a
simulation of said drone. To determine the force of drag we need to perform a flight test of the
drone and collect some of its telemetry for the flight.
The force of drag has been broken down into two components vertical and horizontal.
Each of these tests will be performed at different speeds to determine the change in the
coefficient of drag with the change in velocity of the drone.
In order to find the coefficient of drag of the drone, we need to collect from this
experiment: pitch, roll, velocity of the wind, and velocity of the drone. We would also like to have
recorded how far above the ground and how far from home the drone is. All of this data would
be required to be timestamped. The velocity, altitude, and distance of the drone would also be
used to verify that the flight went as expected.
Inputs
Ascend 30 m
Descend 30 m
At least 10 m
above
ground
#3
10 m/s
#4
15 m/s
#1
1 m/s
#2
5 m/s
Distanc
e
Vertical
CD test
5 m/s
Altitude
fly 30 m west
#2
Wind
Speed
fly 30 m south
Maintain
constant 10
m
Velocity
CD test
fly 30 m east
1 m/s
Roll
Horizonta
l
#1
Pitch
fly 30 m north
Speed
Height
Flight
Procedure
Outputs
TABLE 4: FORCE OF DRAG DOE
32
For each leg of the test there are three sections, a section where the drone accelerates to
the required velocity, the section where the test will be performed, and a section where it
decelerates and/or turns. The data will be gathered from the test section, where the drone will
follow the flight procedure. All of the data must be ether timestamped or otherwise linked
together. We would prefer the data in some giant data stream for the entire flight which we
would parse later, but an excel file with data from the relevant sections would be acceptable.
FL = FT ∗ cos(θ)
FF = FT ∗ sin(θ)
When the drone is in a state of forward flight maintaining a constant velocity and height,
the drone is generating a force of thrust that is counteracting both the force of gravity and force
of drag on the drone. This force of thrust consists of the force of lift, which is counteracting the
force of gravity, and the forward force, which is counteracting the force of drag. Therefore if we
know the pitch/roll of the drone at a specific velocity we can recompose the force of lift with the
pitch/roll to find the force of drag. With the force of drag we can find the coefficient of drag.
FD = FF
FD = FT ∗ sin(θ)
;
F
L
FT = cos(θ)
FD = FL ∗ tan(θ)
;
FL = m ∗ g
FD = m ∗ g ∗ tan(θ)
2 ∗ FD
CD =
ρ ∗ v2 ∗ A
This would only net us the horizontal force of drag. To find the vertical force of drag if we
consider the conservation of energy.
33
The force of drag is the loss of energy due to friction with the air divided by the distance
traveled. This is equal to the potential energy at point 1 subtracted by the kinetic energy at point
2.
FD =
[(mgh1 ) − (1⁄2 mv 2 )]
h1
CD =
2 ∗ FD
ρ ∗ v2 ∗ A
7.2.2 Motor Parameters
The purpose of this experiment is to determine certain information about the brushless
DC electric motors used on the Spreading Wings S900 for our simulation. Those parameters
are: the no load current, the torque constant, and a way to relate torque to thrust The properties
of: the torque-speed curve [18], the power-speed curve [18], and the torque-current curve [19] of
a DC electric motor will allow us to determine those values.
The torque-current curve is a line that relates the torque that the motor outputs with the
current that the motor draws. It can be found by applying a fixed amount of torque to the motor
and measuring the current that is being drawn. From the torque-current curve we will be able to
determine the no-load current (a point on the line). The slope of the torque-current curve is the
torque constant. [19]
To relate the torque to the thrust of the drone, we need to find both the power-speed
curve, and the torque-speed curve. The thrust of the drone is related to the mechanical power
output of the motor. The mechanical power output of the motor is for a given speed is the
power-speed curve. [20] The power-speed curve is derived from the torque-speed curve, the
power of the motor at a given speed is the area of a square with one corner at the origin and
another on the torque-speed curve. [18]
In order to find these curves we need to know the torque, current, and speed of the
motor at a fixed voltage. The procedure we will follow is: [20]
1) Apply Fixed Voltage to motor, which is not to exceed motor rated voltage
2) Run the motor without a load applied to its shaft.
a. The RPM of the motor will be recorded
i. used in finding the torque-speed curve
b. The current the motor is drawing will also be recorded
i. used in finding the torque-current curve
3) Apply torque to the shaft of the motor
a. Record the torque
i. used in finding the torque-speed curve and the torque-current curve
b. Record the current
i. used in finding the torque-current curve
These steps will be repeated for additional voltages to determine if/how the data changes.
For this DOE we would require: 1) electric motor of the S900, 2) adjustable voltage
supply, 3) ammeter, 4) ohm meter, 5) adjustable torque load, 6) non-contact tachometer.
34
Inputs
Outputs
Voltage
Torque Current Speed (RPM)
TABLE 5: MOTOR PARAMETER DOE
7.3 Simulation
The three processes we will simulate are:
1. Rip Current and Victim Process
2. Drone dynamics and control
3. Lifeguard Rescue Process
7.3.1 Rip Current and Victim Process
FIG. 21: SIMULATION DIAGRAM OF RIP CURRENT EFFECTS ON VICTIM STATE
This simulation will calculate the position of the victim over time. There is three methods
of escape methods (float, swim parallel to shore, swim toward shore). The white block is the
integration block, showing that position is the integral of velocity.
35
Each method would be represented as a velocity. For example, swimming toward the
shore can be represented as an 2 m/s velocity in the negative x-axis direction. The rip current
velocity will be randomly chosen between its minimum and maximum possible velocity. The
distribution of chosen methods was developed after talking with a lifeguard stakeholder [14].
The distributions are shown below:
x  uniform (0,1)
 fight ,0  x  0.4

escape( x)   float ,0.4  x  0.65
 parallel ,0.65  x  1

 [ A,0], escape  fight

victVelo (escape)   [0,0], escape  float
[0, B], escape  parallel

victVelo is the victim's velocity which is decomposed into horizontal and vertical
swimming speed. A and B are the ranges for the human swimming speed. We will develop this
further over Winter break. A is negative and B is negative, thus a victim is always represented
as possibly swimming toward shore or swimming toward the guard tower.
Rip current properties include rip current width, length, position on the shore, and current
velocity. The width, length, and current velocity ranges are shown in the Context #. Position on
shore will be a uniform distribution between 0m and 750m.
Using the rip current properties This process's output is the victim’s position, which will
later act as the waypoint input for the drone and for the lifeguard.
7.3.2 Lifeguard Rescue Process
FIG. 22: LIFEGUARD MODEL
This process calculates the lifeguard position over time. The lifeguard simulation will be
inputted the victim position as a waypoint. The victim position will be randomly modified to be at
a position at a later time due to the delay of lifeguards identifying victims. The time to identify
can be a distribution, but the maximum is 10 seconds [14]. It will also input the rip current
properties because lifeguards jump into the rip current to get to the victim quickly. Using the
36
victim as the target and the rip current as a boost, the lifeguard will attempt to reach the victim
before they drown. The lifeguard velocity is also a range, the minimum swimming speed to be a
lifeguard is publicly available and we can estimate the max velocity using the fact that 90
seconds is the max time to reach. Once the lifeguard has reached the victim, we will add a
delay time to simulate the time needed for the lifeguard to help the victim and grab hold of the
them.
The rescue process after the lifeguard reaches the victim is outside the scope of the
drone system. It is up to the lifeguard from here on out to help the victim, thus we will not
simulate the rescue process beyond this point.
7.3.3 Drone Dynamics and Control
In order to test the drone’s abilities to fly and accelerate when carrying a life ring, we
must simulate the electrical and mechanical properties of the drone under flight. The simulation
will follow the following diagrams.
FIG. 23: DYNAMCIS AND CONTROL MODEL
FIG. 24: ROTATIONAL DYNAMICS MODEL
37
FIG. 25: THRUST/THROTTLE/TRANSLATIONAL MODEL
The controller will be simulated as GPS flight. This means that the drone autonomously
hovers when there is no input, there is a maximum velocity and tilt, and that it maintains altitude
while in horizontal movement.
The way the first model works is that the target's position is used as a waypoint. Using
the drone's current state and the victim's position, the controller outputs voltages to the motors.
The motors provide some thrust and torque on the drone, which is used to calculate errors in
the PID controls.
The controller is programmed to use Euler angle errors to adjust the voltage, but how do
we convert errors in velocity and position to errors in angles? The velocity error could be any
value in the interval [-∞,∞], and the wanted angle can be any value that is within the tilt limits set
by the drone's controller. Thus there needs to be a relation between the velocity domain and
wanted angle range. The most simple relation is:
a(1  e bx )
(1  e bx )
38
FIG. 26: CONTROL RELATION BETWEEN VELOCITY AND WANTED ANGLE
Where a is the tilt angle limit in radians, and b is a coefficient. The higher the value of b
is, the more we want to tilt to get the right velocity.
The waypoint is the position of the victim. Using its position and various errors
calculated, we can control the drone to be the same position and velocity as the waypoint. Once
it reaches that waypoint and stays at it for a set period of time, we record the time.
7.3.4 Post MATLAB & Simulink Analysis
FIG. 27: MAIN SIMULATION MODEL
The above model shows how we will derive successful rescues with and without the
drone. Calculate Victim Position is referred in. Calculate Lifeguard Position is referred in.
Calculate Drone Position is referred in . At the end, using the lifeguard and drones position over
time, we can calculate the survival of the victim. The green block will evaluate whether the
victim survived until the drone reached them, whether the lifeguard reached the victim in time,
whether the drone dropped the ring buoy in time, and then record the time it took for the
lifeguard and drone to reach the victim. Depending on the drone simulation and if it deployed
the life ring on time at the right position, the victim survival time will be modified.
After the simulation of the processes is over, we generate a random victim survival time.
Repeat for several trials to generate survival rate for with-drone and without-drone processes,
along with average time to reach victim, average successful rescue, and average drone velocity.
39
7.4 Simulation Requirements
The simulation requirements are currently being redone to be better organized.
7.4.1 Functional Requirements
SR.1 The system shall be able to fly towards a waypoint and maintain position within 0.5m of
the waypoint.
SR.2 The system shall have one run simulated under 1 minute.
SR.3 The system shall simulate wind and weight interactions with the drone.
SR.4 The system shall model drone rotational and translational dynamics.
SR.5 The system shall model the lifeguard-victim rescue process until the lifeguard reaches the
victim.
SR.5.1 The system shall model the three victim escape methods (swim parallel to neck,
swim against the neck, and float)
SR.5.2 The system shall model riptides of length 100/200/300/400/500 meters.
SR.5.3 The system shall model the lifeguard speed on land and on water as an average
velocity of X m/s and Y m/s respectively.
7.4.2 Input Requirements
IR.1 The system shall inputted a victim swimming method. It will pick between floating,
swimming parallel against the shore, and swimming parallel to shore.
IR.1.1 The system shall model the swimming methods as velocities. The choice will be
based on a discrete random distribution.
IR.1.2 The system shall be inputted a random victim survival time based on the
swimming method chosen.
IR.2 The system shall be inputted a random rip current speed. The speed will be chosen by a
random X distribution with mean X and variance X.
7.4.3 Output Requirements
OR.1 The system shall output the victim position over time.
OR.2 The system shall output the lifeguard position over time.
OR.3 The system shall output the drone position over time.
OR.4 The system shall output 1 or 0 depending if the lifeguard rescue time is under victim
survival time.
OR.4.1 The system shall detect if the drone reached the victim before the lifeguard and
increase victim survival time by X seconds.
.
40
7.5 Simulation Design of Experiments
In order to gather meaning results from the simulation, we need to run it through
experiments. Each experiment gives outputs that flow into the next experiments.
7.5.1 1st DoE: Victims distance from shore before dying
Using the victim escape method, escape velocity, and survival time distributions we
have, we will general a distribution for distance travelled by the victim while they are surviving.
The distributions will be generated using ARENA.
Input
Output
Rip Current Speeds
Rand. Victim Properties
1m/s
50reps
2m/s
50reps
3m/s
50reps
4m/s
50reps
5m/s
50reps
6m/s
50reps
7m/s
50reps
8m/s
50reps
Rand. Uniform(1,8)
50reps
Distance Travelled Distribution
Whether we use a specific distribution for the selected rip current velocity, or use a
randomized one for all velocities, will be decided in the next semester.
41
7.5.2 2nd DoE: Best Path, Best Location, Minimum Velocity Needed
This experiment is to find the necessary minimum velocity, best location to set up a
drone, and the best path a drone should take
Inputs
Drone
Location
Location A
(Main Control
Room)
Random:
1. Rip
position
2. Victim
speed
3. Rip length
4. Identified
Victim
Outputs
Drone
Velocity
12m/s
Path
% reached
within 30
sceonds
% reached
within 60
seconds
% reached
within 90
seconds
Fly Straight
Go Around
20 reps
10m/s
Fly Straight
Go Around
Base
Hexacopter
Location B
(Lifeguard
Tower)
12m/s
Fly Straight
Go Around
20 reps
10m/s
Fly Straight
Go Around
Location C
(On a Rescue
ship)
12m/s
Fly Straight
Go Around
20 reps
10m/s
Fly Straight
Go Around
The DoE does expand to another octocopter platform, and the velocities of 14,8, and
16m/s, and 6 m/s. Using the distribution of victims in each of the 20 reps, we can determine
the best location and best path. The minimum velocity will be set if more than 90% are saved in
under 60 seconds. This percentage might change as the team deliberates more over Winter
break.
Since the flight speed and flight path might have some issues and have no clear winner,
we will need a utility test to determine the best speed and path. This function will be completed
over the Winter break.
42
7.5.3 3rd DoE: Drone Design Space Model
We now need to find the power needed for the drone's weight. There is a circle of
feedback where the more weight we add, the more thrust we need, more thrust means more
power, more power means bigger battery, and bigger battery means more weight. Thus, we
need to know what power we need and what battery alternatives we can use in this drone
system. The following DoE is for that purpose:
Inputs
Drone Properties and Base
Weight
Added Payload
Outputs
Maneuvers
Power Needed to Maintain
Maneuver
Hover
1kg
Const. Velo. Lv. Flight
Accelerating Lv. Flight
Base Hexacopter
Hover
3kg
Const. Velo. Lv. Flight
Accelerating Lv. Flight
Hover
1kg
Const. Velo. Lv. Flight
Accelerating Lv. Flight
Base Octocopter
Hover
3kg
Const. Velo. Lv. Flight
Accelerating Lv. Flight
By varying the weight and flight maneuver, we will find the power needed to do that
maneuver. We can then plot our design space in a line graph between Total weight vs. Power
needed. There will be three functions to plot for the three maneuvers. For constant velocity
flight, we will use the minimum velocity needed found in DoE 2.
43
7.5.4 4rd DoE: Guarded and Unguarded Rescue
Finally, we evaluate all the alternatives to possible improvements to rip current rescue.
The alternatives considered include:
1.
2.
3.
4.
5.
6.
Lifeguard
Lifeguard with LDDS
Lifeguard with ATV
Lifeguard with ATV with LDDS
Lifeguard with Boat
Lifeguard with Boat with LDDS
Inputs
Outputs
Rescue
Alternatives
Rip Current
Properties
Distribution
Victim
Distribution
Lifeguard
Rand.
100 reps
Lifeguard with
LDDS
Rand.
100 reps
Lifeguard with
ATV
Rand.
100 reps
Lifeguard with
ATV with LDDS
Rand.
100 reps
Lifeguard with
Boat
Rand.
100 reps
Lifeguard with
Boat with LDDS
Rand.
100 reps
% Saved
Avg. Time
to Reach
Avg.
Energy
Usage
0
0
0
We will then determine which alternative gives the most utility, using the utility function
below:
u   sG S G   sUG SUG  T TR   E E
SG = percent guarded lives saved (%)
SUG = percent unguarded lives saved (%)
TR = mean time to reach victim (sec)
E = mean battery energy usage per rescue (kWh/Rescue)
Once the experiment is done after Winter break, we will finish these utility functions.
44
7.6 Cost Model
To calculate the net present cost of a drone system, we will consider the costs within a
two year lifecycle. We will assume inflation is equal to the 2015 inflation rate and is constant
over the two years. We will convert annual costs to a present value costs. Here is the model of
how we will calculate costs:
Lifecycle Cost (2yrs)
System Acquisition Cost
Operations and Support
Cost
Drone Platform
Annual Repair Cost
Camera System
Annual
Maintenance Cost
Tether Release
System
Disposal
Cost
Annual Battery
Recharging Cost
Controller’s salary
Tether
Environment
Protection Equipment
Battery Acquisition
Location Setup
User manual/Training
FIG. 28: HIERARCHICAL COST MODEL
Evaluation of non-drone alternatives will only include two factors: (1) Acquisition Cost,
(2) Annual Upkeep cost (boat or ATV maintenance, if any).
45
7.7 Utility Function
To evaluate the best alternative to completing the mission requirement, we will use the
utility function and the experiment done in section 7.4.4, as well as the cost model from section
7.6.
Below is a table of the weights and values for all the alternatives. Using 7.5.4 DoE#4
results, we will create a graph on utility vs. cost and determine the best result is.
SG
SUG
T R)
Weights:
E
Utility:
Alternatives
Lifeguard
Lifeguard with
LDDS
Lifeguard with
ATV
Lifeguard with
ATV with
LDDS
Lifeguard with
Boat
Lifeguard with
Boat with
LDDS
Graph here:
8.0 RECOMMENDATIONS AND RESULTS
We have done no experiments, thus there is no recommendations as of yet. We will refine this
over the Winter break.
9.0 STATEMENT OF WORK
9.1 Scope of Work
The scope of the work we will do includes:
1. Testing the economical and physical feasibility of the LDDS system.
a. Evaluate feasibility using location, flotation device, and platform alternatives.
2. Analyzing current stakeholder and current rescue processes.
3. Simulating drone delivery using drone mechanics.
4. Design a drone that can help lifeguards with the rescue process.
5. Estimating life-cycle costs and benefits of such a system.
46
9.2 Schedule/Milestones
Milestones
Dates
Fall Brief 1
9/21/2015
Fall Brief 2
10/5/2015
Preliminary Project Plan
10/21/2015
Fall Brief 3
10/26/2015
Fall Brief 4
11/09/2015
Faculty Presentation
11/20/2015
Proposal Final Reports
Proposal Final Report Slides
Draft Conference Paper
Draft Poster
12/09/2015
Milestones (SYST 495 Spring 2016)
Dates
Spring Brief 1
2/2016
Spring Brief 2
2/2016
Spring Brief 3
3/2016
SIEDS Abstract Due
2/2016
SIEDS Notification
3/2016
SIEDS Manuscript Due
4/2016
SIEDS Conference
4/2016
Registration for Keith Memorial Capstone
Conference
Before 4/2016
GDRKMC Conference
5/2016
SCHEDULE MILESTONES
47
9.3 Payment Schedule
The average salary of an Entry-Level Systems Engineer in Fairfax is 63,000 per year
[21]. Assuming 50 work weeks and 40 hours a week, this is 27.50/hour. We will round this up to
$30 for simplicity. We will assume an overhead multiplier of 2.00. Thus, the total charge is
$60.00 per hour per person [21] [22].
9.4 Work Breakdown
9.4.1 Work Breakdown Structure
The Major Tasks in our Work Breakdown Structure (WBS) are: 1) Management, 2)
Research, 3) Concept of Operations (Con-Ops), 4) Requirements, 5) Alternatives, 6) Analysis,
7) Design of Experiment (DOE), 8) Simulation, 9) Presentations, 10) Documentation.
Of these tasks the stakeholder analysis, DOE, and especially the simulation are the
heart of the project. It is crucial that we properly understand the stakeholders and what they
want otherwise any design we come up with would never end up adopted as a life saving
device. Without the simulation we will be unable to effectively trade off design alternatives.
Similarly the DOE’s will be necessary to complete the simulation and verify its functionality.
FIG. 29: WBS HIERARCHY
48
9.4.2 Critical Tasks
FIG. 30: CRITICAL PATHS
We are considering a task as a critical task if it has a slack less than 2 days. This is a
margin of error as in that time an unplanned for homework assignment or test could lead to
slippage of the task for our project.
#
WBS
TASK NAME
START
FINISH
18
3.2.3
RESCUE PROCESS DIAGRAMS
10/8/15
1/23/16
21
4.2
FUNCTIONAL REQUIREMENTS
10/30/15
11/27/15
22
4.3
DESIGN REQUIREMENTS
10/31/15
11/27/15
29
5.1.4
EVALUATE DRONE BATTERY ALTERNATIVES
3/31/16
4/2/16
31
5.1.6
EVALUATE DRONE MOTOR ALTERNATIVES
3/17/16
3/19/16
33
5.1.8
EVALUATE DRONE ROTOR ALTERNATIVES
3/19/16
3/23/16
35
5.1.10
EVALUATE DRONE LOCATION ALTERNATIVES
3/14/16
3/17/16
36
5.1.11
RESEARCH DRONE CONFIGURATION ALTERNATIVES
10/1/15
10/3/15
37
5.1.12
EVALUATE DRONE CONFIGURATION ALTERNATIVES
10/3/15
10/27/15
40
5.2.2
EVALUATE FLOTATION DEVICE ALTERNATIVES
10/15/15
4/28/16
52
6.3
SENSITIVITY ANALYSIS
3/25/16
4/3/16
56
6.4.3
SIMULATION RISK ANALYSIS
11/27/15
12/5/15
77
8.1.7
CREATE RIP CURRENT MODEL
2/13/16
2/27/16
79
8.1.9
CREATE GUI
2/27/16
3/14/16
80
8.2
SIMULATION TESTING
3/14/16
3/25/16
49
81
8.3
PERFORM SENSITIVITY TESTS
3/25/16
4/3/16
89
9.2.1
FACULTY PRESENTATION CREATION
11/14/15
11/19/15
90
9.2.2
FACULTY PRESENTATION
11/20/15
11/20/15
97
9.4.3
SPRING BRIEF 3
3/14/16
3/14/16
102
10.1.2
PROPOSAL FINAL REPORT
12/9/15
12/9/15
104
10.2.1
DRAFT CONFERENCE PAPER
12/9/15
12/9/15
105
10.2.2
DRAFT POSTER
12/9/15
12/9/15
106
10.2.3
FINAL REPORTS AND STUFF
11/23/15
12/8/15
TABLE 6: CRITICAL PATH
50
9.4.3 Schedule
Our project schedule involved researching context, dealing with stakeholders, creating the
requirements, con-ops, and building the core of the simulation in 490. Over winter break we plan
to perform necessary flight tests to enable the simulation to be completed, (we have had trouble
coordinating with ExpertDrones). We also plan to finish addressing the comments and concerns
from the faculty presentations and otherwise ensure we are ready to go for 495. 495 will involve
finishing up the simulation, performing the tradeoffs for the alternatives, establishing
documentation of the updated rescue process and everything else we need to do to bring the
project to completion.
FIG. 31: GANTT CHART
51
FIG. 32: CPI AND SPI
FIG. 33: CV AND SV
52
9.4.4 Earned Value
From the start of our project up until the week of faculty presentations. Our actual cost
(ACWP) while in the past it was above our earned value (BCWP) it is currently below our
earned value (BCWP). Our planned value (BCWS) was equal to our BCWP it is currently below
our BCWP.
FIG. 34: ACTUAL COST, EARNED VALUE, AND PLANNED VALUE FOR AUG 31 TO OCT 18
53
10.0 PROJECT RISK MITIGATION
Risk
Simulation
Control
Structure is not
done by Nov.
15th (2 weeks
behind
schedule)
Severit
y
8
Likelihoo
d
10
Detectability
1
Scor
e
Mitigation
80
Revert to old model with no
control. Manually adjust
voltages in order to get the
right distance and other values
needed.
Simulation
Testing is
Delayed by X
days beyond
scheduled due
date
10
3
5
150
Do primary analysis of the
drone’s effectiveness in
reducing fatalities. Forgo all
other simulation tests until we
find time again.
Evaluate life
saving device
alternatives is
not done, ring
buoy information
is wrong
9
3
5
135
Find other life saving devices
with accurate information about
them and evaluate them.
Gather accurate
information
about force,
pitch, roll, yaw,
velocity, height
and wind speed
7
4
4
112
Perform the flight experiment
again until we get accurate
data. Use pocket money to get
program and tablet that can
watch the instruments.
Unable to
acquire tools to
perform
experiments
10
6
1
60
Use the University’s lab
experiments to get the tools.
TABLE 7: PROJECT RISKS, RPN, AND MITIGATION
54
55
APPENDIX
Appendix A: Federal Drone Regulations
Source: http://www.faa.gov/uas/
Current Advisories

UAS flight altitude below 400 ft.

UAS weighs under 55 lbs.

Maintain visual line of sight of the UAS
•
Spotter allowed
–
Minimum 1 spotter per UAS

UAS operator must have a pilot's license

UAS may not be operated in restricted airspace
•
(grey area)
•
not applicable to government

UAS may not be operated for commercial purposes

No Overhead Operation !!!
Proposed Regulations

UAS flight altitude below 500 ft.

UAS weighs under 55 lbs.

UAS may not exceed 100 mph

Maintain visual line of sight of the UAS
•
Spotter allowed
–

Minimum 1 spotter per UAS
UAS operator:
•
Be licensed
•
Report incidents in less than 10 days
•
Make UAS available for inspection

3 mile visibility from control station

Inspect UAS prior to flight

No Overhead Operation !!!
56
Appendix B: Base Hexacopter Parameters
57
Appendix C: Matlab Modules
Linear Dynamics
What comes into the system is the four voltages (v1, v2, v3, v4). They will be inputted into
volt2thrust in order to get a value for the thrust in body form. In the linear motion model, we will
use the equation above to calculate the acceleration. Note that mass of drone is separated
outside, for sensitivity analysis purposes. After integrating the acceleration for position and
velocity, these values will be used to calculate various other forces. Position will be used to
calculate the tether force. Velocity will be used to calculate the drag forces on the drone and on
the life vest.
Voltage to Thrust Conversion (volt2thrust)
function THRUST = volt2thrust(v1,v2,v3,v4)
%#codegen
%Function to convert voltage into the thrust force vector in inertia
frame
%All units are metric unless specified
%constants
Kv = 1; %porportionality constant between propeller voltage and
angular velocity
Kτ = 1; %porportionality constant between propeller torque and current
KT = 1; %porportionality constant between propeller thrust and torque
D = 1; %propeller diameter. Adjusted by propeller properties
rho = 1; %density of air (humid or dry). Probably need to be a
function
%V = Kv * w assuming internal resistance = 0
w1 = v1/Kv;
w2 = v2/Kv;
58
w3 = v3/Kv;
w4 = v4/Kv;
W = [0;0;(w1^2+w2^2+w3^2+w4^2)];
k = pi/2*rho*D^2*(Kv/Kτ/KT);
%ThrustBody = thrust vector in body frame
thrustBody = k * W;
%THRUST = thrust vector in inertia frame
THRUST = thrustBody;
Linear Motion Model (DroneState)
function [ax,ay,az] =
DroneState(Fthrust,Frope,Fdrag,Flifevest,EULER,massDrone)
%#codegen
%-------------------------------------------------%rotation matrix for converting body-frame thrust to inertia-frame
thrust
roll=EULER(1);
pitch=EULER(2);
yaw=EULER(3);
Ryaw = [cos(yaw) sin(yaw) 0;-1*sin(yaw) cos(yaw) 0;0 0 1];
Rpitch = [cos(pitch) 0 -1*sin(pitch);0 1 0; sin(pitch) 0 cos(pitch)];
Rroll = [1 0 0;0 cos(roll) sin(roll);0 -1*sin(roll) cos(roll)];
RotMat = Ryaw*Rpitch*Rroll;
THRUST = RotMat*Fthrust;
%------------------------------------------------Fx = 0 + THRUST(1,1) + Frope(1,1) + Fdrag(1,1) + Flifevest(1,1);
Fy = 0 + THRUST(2,1) + Frope(2,1) + Fdrag(2,1) + Flifevest(2,1);
Fz = -massDrone*9.81 + THRUST(3,1) + Frope(3,1) + Fdrag(3,1) +
Flifevest(3,1);
ax = Fx/massDrone;
ay = Fy/massDrone;
az = Fz/massDrone;
Force of Rope (RopeState)
function Frope = RopeState(x,y,z)
%#codegen
h = 1; %vertical difference between ends
L = 1; %horizontal difference between ends
mu = 1; %weight/length density of rope
S = 1; %arc length of rope
%first find absolute distance between ends
59
LEN = sqrt(x^2+y^2+z^2);
S = 1.1*LEN; %assumption: arc length is porportional to absolute
distance
lamda = sqrt(S^2-d^2)/(L^2);
Fg = [0;0;-mu*LEN];
Fh = 0;
%if lamda is <1, equation will not work, must approximate by straight
%length?
if lamda<=1
theta = asin(sqrt(x^2+y^2)/LEN);
Fh = Fg(3)*tan(theta);
else
syms u
Y = solve(sinh(u)/u == lamda);
Fh = mu*L/(2*Y);
end
HorizV = Fh*[-x;-y;0]/sqrt(x^2+y^2);
Frope = Fg+HorizV;
% Frope = [0;0;0];
end
Force of Drag (Fdrag)
function Fdrag = Fdrag(vx,vy,vz)
%#codegen
%force of drag depending on its air resistance
%pulls drone BACKWARDS
Cd = 0.02; %coefficent of drag for the lifevest
rho = 1; %air density
A = 1; %cross sectional area of lifevest
%backwards = negative of current velocity vector
Vsqr = sqrt((vx^2)+(vy^2)+(vz^2)); %total velocity magnitude
%unit vector direction of velocity
mag = sqrt(vx^2+vy^2+vz^2);%magnitude of total velocity
if mag==0
mag=1;
end
unitV = [vx;vy;vz]*-1/mag;
Fmag = Cd*rho*A*Vsqr^2; %magnitude of drag force
Fdrag = Fmag.*unitV;
% Fdrag=[0;0;0];
60
Force of Lifevest (LifevestState)
function Flife = LifevestState(vx,vy,vz)
%#codegen
%force of drag depending on its air resistance
%pulls drone BACKWARDS
Cd = 1; %coefficent of drag for the lifevest
rho = 1; %air density
A = 1; %cross sectional area of lifevest
%backwards = negative of current velocity vector
Vsqr = sqrt((vx^2)+(vy^2)+(vz^2)); %total velocity magnitude
%unit vector direction of velocity
mag = sqrt(vx^2+vy^2+vz^2);%magnitude of total velocity
if mag==0
mag=1;
end
unitV = [vx;vy;vz]*-1/mag;
Fdrag = Cd*rho*A*Vsqr^2;
FDRAG = Fdrag.*unitV;
%force of weight depending on mass
vestMass = 1; %mass of the lifevest
Fgrav = [0;0;vestMass*-9.81]; %pulls drone DOWN
Flife = FDRAG + Fgrav;
% Flife = [0;0;0];
61
Rotational Dynamics
Similar to the linear motion model, we take in four voltages (v1, v2, v3, v4) to calculate the
angular velocities of each rotor. The velocities and the derivative (acceleration) will be used to
calculate the torques in the main rotational model (21). Since we need the Euler angles instead
of angular velocity, we need to convert angular velocity to Euler angle derivatives. Then we
integrate the Euler angles into roll, pitch, and yaw which we can use for the rotation matrices in
the linear motion model (4)(17).
voltage to motor angular acceleration and velocty
function Wmotor = volt2motorW(v1,v2,v3,v4)
%#codegen
Kv = 1; %porportionality constant between voltage and motor angular
velocity
w1=v1/Kv;
w2=v2/Kv;
w3=v3/Kv;
w4=v4/Kv;
Wmotor = [w1,w2,w3,w4];
motor angular velocity to torque in body frame
function [Troll,Tpitch,Tyaw] = w2τ(W,Wdot)
%#codegen
Kv=1; %proportionality constant between motor voltage to angular
velocity
Kτ = 1; %porportionality constant between propeller torque and current
KT = 1; %porportionality constant between propeller thrust and torque
L=1; %distance between motor and center of body frame.
D=1; %diameter of propeller
rho=1; %density of air
62
Cd=1; %coefficent of drag for propeller wings
A=1; %proeller cross section
r=D/2; %radius of propeller. Do not change
Iz = 1; %moment of inertia for propellers
%equations for constants we will need for τ
k = pi/2*rho*D^2*(Kv*Kτ/KT);
b = 0.5*r*rho*Cd*A*r^2;
%assume w1 and w3 are right and left motors respectively.
% assume w2 and w4 are back and front motors respectively.
%grab angular motor velocities
w1 = W(1);
w2 = W(2);
w3 = W(3);
w4 = W(4);
%τ of roll pitch and yaw based on angular velocities
Troll = L*k*(w1^2-w3^2);
Tpitch = L*k*(w2^2-w4^2);
Tyaw = b*(w1^2-w2^2+w3^2-w4^2);%+Iz*(Wdot(1)-Wdot(2)+Wdot(3)-Wdot(4));
Rotational Motion Model
function [wdotx,wdoty,wdotz] =
RotationMotion(Troll,Tpitch,Tyaw,eulerDot,euler)
%#codegen
%moment of inertias in the X/Y/Z-axis of the drone body frame
Ixx = 1;
Iyy = 1;
Izz = 1;
I = [Ixx 0 0; 0 Iyy 0; 0 0 Izz];
roll = euler(1);
pitch = euler(2);
yaw = euler(3);
rollDot = eulerDot(1);
pitchDot = eulerDot(2);
yawDot = eulerDot(3);
τ = [Troll;Tpitch;Tyaw];
%First generate rotation matrix for angular velocity and thetaDot
eulerDot2Ω = [1 0 -sin(pitch);
0 cos(roll) sin(roll)*cos(pitch)
0 -sin(roll) cos(roll)*cos(pitch)];
%convert the euler Dots to angular velocities in inertia frame
Ω = eulerDot2Ω*[rollDot;pitchDot;yawDot];
W = [Ω(1);Ω(2);Ω(3)];
63
%use rotational motion equations now
Wdot = inv(I)*(τ - cross(W,I*W));
wdotx=Wdot(1);
wdoty=Wdot(2);
wdotz=Wdot(3);
Convert body angular velocity to Euler angle velocity
function [eulerDotRoll,eulerDotPitch,eulerDotYaw] =
w2eulerDot(wx,wy,wz, euler)
%#codegen
roll = euler(1);
pitch = euler(2);
yaw = euler(3);
%rotational matrix for EULERDOT to W. need to inverse it to get
%the relevant transformation matrix
E2W = [1 0 -sin(pitch);
0 cos(roll) sin(roll)*cos(pitch);
0 -sin(roll) cos(roll)*cos(pitch)];
eulerDot = E2W\[wx;wy;wz];
eulerDotRoll = eulerDot(1);
eulerDotPitch = eulerDot(2);
eulerDotYaw = eulerDot(3);
Euler Angle PID Controller
64
Position PID Controller
Main Model
The model will take in the waypoint position (and velocity, but we do not use this) and
calculate the PID errors based on current drone position. The position error will be used to
calculate the wanted Euler angles. For example, if we want to accelerate in the X-direction and
we want to go at max velocity, we need to a large magnitude of pitch. On the other hand, if we
need to slow down, we need to pitch in the opposite direction. We assume the drone will have a
max angle of roll-pitch-yaw. Many controls on drones set the max angles at 45 or 30 degrees.
We chose 30 degrees as it is more common of a limit.
After calculating the wanted angle, we calculate the angle PID error. Both errors will be used
in the actuator, which converts the error readings into voltage. We simply added the errors to
the hover voltage (voltage needed to hover, stay in the same position), in order to get the next
time step’s voltage. We must adjust the PID gains in order for voltage to make sense of the
errors.
65
set the desired Euler angle
function eulerWanted = setWantedAngles(Eposi)
%#codegen
Ex = Eposi(1);
Ey = Eposi(2);
%no error for yaw currently!
%-------------------------------------------------------------------%Now we set next iteration's wanted eulers based on error
%The angles we want
Wroll = 0;
Wpitch = 0;
Wyaw = 0;
if
if
if
if
(Ex>0)
(Ex<0)
(Ey>0)
(Ey<0)
Wpitch=-(pi/6 - exp(-0.05*Ex+log(pi/6))); end
Wpitch= (pi/6 - exp( 0.05*Ex+log(pi/6))); end
Wroll= (pi/6 - exp(-Ey+log(pi/6))); end
Wroll=-(pi/6 - exp( Ey+log(pi/6))); end
%no current controls for yaw
% eulerWanted = [Wroll*abs(Ey)/10;Wpitch*abs(Ex)/10;Wyaw];
eulerWanted = [Wroll;Wpitch;Wyaw];
Main Control Actuator
function [v1,v2,v3,v4] = PIDHumanControl( Eposi, Eeuler,mass)
%#codegen
maxVoltage = 10; %Maximum voltage of the rotors
%voltage totally based on error.
v1=0;
v2=0;
v3=0;
v4=0;
%Set
-%The
Ex =
Ey =
Ez =
the angles we want to go for------------------------------------specific errors in the X,Y,Z axis of the inertia frame below.
Eposi(1);
Eposi(2);
Eposi(3);
Eroll = Eeuler(1);
Epitch = Eeuler(2);
Eyaw = Eeuler(3);
%if roll error is positive, we need to roll more in positive radians.
And
%so on for the other angles
66
%-----------------------------------------------------------------------%how much thrust is needed to hover? (assuming 0 angles)
Kv = 1; %porportionality constant between propeller voltage and
angular velocity
Kτ = 1; %porportionality constant between propeller torque and current
KT = 1; %porportionality constant between propeller thrust and torque
D = 1; %propeller diameter. Adjusted by propeller properties
rho = 1; %density of air (humid or dry). Probably need to be a
function
k = pi/2*rho*D^2*(Kv/Kτ/KT);
vHover = Kv*sqrt(mass*9.81/(4*k));
%--------------------------------------------------------------------%Ex+Ey+Ez is the throttle of the motors. More distance error, more
thrust!
%The Eeulers is the turning force of the drone, more roll needed, more
%rolling we must adjust for
%verison 1
v1 = vHover
v2 = vHover
v3 = vHover
v4 = vHover
+
+
+
+
Ez
Ez
Ez
Ez
+
+
-
Eroll
Epitch
Eroll
Epitch
+
+
-
Eyaw;
Eyaw;
Eyaw;
Eyaw;
%------------------------------------------------------------------%set the limits of voltage based on porportions
%first find the minimum and maximum raw voltage.
minV = min([v1,v2,v3,v4]);
%if minimum voltage is less than zero, add that minimum to every
voltage so the minimum is now zero
if (minV<0)
v1 = v1-minV;
v2 = v2-minV;
v3 = v3-minV;
v4 = v4-minV;
end
%if the highest voltage is greater than the max voltage, divid
everything
maxV = max([v1,v2,v3,v4]);
%so everything is still porportional
if (maxV>maxVoltage)
v1 = v1*maxVoltage/maxV;
v2 = v2*maxVoltage/maxV;
v3 = v3*maxVoltage/maxV;
v4 = v4*maxVoltage/maxV;
end
67
REFERENCES
[1]
"LEARN: Beach Basics," EPA, [Online]. Available: http://www2.epa.gov/baches/learnbeach-basics.
[2]
"National list of Beaches," EPA, [Online]. Available:
http://ofmpub.epa.gov/apex/beacon2/f?p=117:12:6598228724511::NO::P12_YEARS:Curr
ent.
[3]
"New Student shows beaches area key driver of U.S. economy," American Shore and
Beach Preservation Association, [Online]. Available:
http://www.asbpa.org/news/Beach_News/080814Houston.pdf.
[4]
"Town of Ocean City Adopted budget," Ocean City Maryland, [Online]. Available:
http://oceancitymd.gov/City_Manager/BudgetBook.pdf.
[5]
USLA, "Statistics," USLA, [Online]. Available: http://arc.usla.org/Statistics/public.asp.
[Accessed 18 October 2015].
[6]
USLA, "Primary Cause of Rescue at Surf Beaches," USLA, [Online]. Available:
http://arc.usla.org/Statistics/Primary-Cause-Analysis.pdf. [Accessed 12 October 2015].
[7]
National Oceanic and Atmospheric Administration, "U.S Surf Zone Fatalities 2015,"
National Oceanic and Atmospheric Administration, [Online]. Available:
http://www.ripcurrents.noaa.gov/fatalities.shtml. [Accessed 18 October 2015].
[8]
National Oceanic and Atmospheric Administration, "List of Severe Weather Fatalities,"
National Oceanic and Atmospheric Administration, [Online]. Available:
http://www.nws.noaa.gov/om/hazstats/resources/weather_fatalities.pdf. [Accessed 15
September 2015].
[9]
"About Rip Currents," USLA, [Online]. Available:
http://www.usla.org/?page=RIPCURRENTS.
[10]
"Rip Currents," NOAA, [Online]. Available:
http://www.ripcurrents.noaa.gov/resources/Final%20Talking%20Points%20and%20Fact%
20Sheet_041707.pdf.
[11]
"Rip Current Sciences," NOAA, [Online]. Available:
http://www.ripcurrents.noaa.gov/science.shtml.
[12]
"Rip Current Facts," Florida Diaster, [Online]. Available:
http://floridadisaster.org/EMTOOLS/Severe/documents/Rip%20Current%20Brochure.pdf.
[13]
D. Underwood, Interviewee, Lifeguarding Litigation and Insurance. [Interview]. 2015.
[14]
B. Arbin III, Interviewee, Lifeguarding Information. [Interview]. 2015.
68
[15]
Jimbuoy, "Marine Product List," Jimbuoy, [Online]. Available:
http://www.jimbuoy.com/index.htm. [Accessed 18 October 2015].
[16]
A. Gibiansky, "Quadcopter Dynamics and Simulation," Andrew.gibiansky.com, 23
November 2012. [Online]. Available:
http://andrew.gibiansky.com/blog/physics/quadcopter-dynamics/. [Accessed 18 October
2015].
[17]
"Decision Support Tool for Designing Niche Small Package Delivery Aerial Vehicles,"
GMU SEOR, 30 April 2015. [Online]. Available:
http://catsr.ite.gmu.edu/SYST490/490_2014_SPDAV/USMA_DST_NSPDAV_DRAFT_03
1315.pdf.
[18]
lancet.mit.edu, "Understanding D.C. Motor Characteristics," MIT, [Online]. Available:
http://lancet.mit.edu/motors/motors3.html. [Accessed 4 October 2015].
[19]
Me.umn.edu, "Understanding DC Motors," [Online]. Available:
http://www.me.umn.edu/courses/me2011/arduino/technotes/dcmotors/motor-tutorial/.
[Accessed 04 October 2015].
[20]
Micromo, "DC Motor Calculations," Micromo, [Online]. Available:
http://www.micromo.com/technical-library/dc-motor-tutorials/motor-calculations.
[Accessed 24 September 2015].
[21]
indeed, "Systems Engineer Entry Salary," indeed, [Online]. Available:
http://www.indeed.com/salary?q1=Systems+Engineer+Entry&l1=Fairfax. [Accessed 18
October 2015].
[22]
salary.com, "Salary Wizard," salary.com, [Online]. Available:
http://swz.salary.com/SalaryWizard/Systems-Engineer-I-Salary-Details-22030-FairfaxVA.aspx. [Accessed 18 October 2015].
[23]
DJI, "Inspire 1 - Specs," DJI, [Online]. Available: http://www.dji.com/product/inspire1/spec. [Accessed 24 September 2015].
[24]
DJI, "Phantom 3 Professional & Advanced - Specs," DJI, [Online]. Available:
http://www.dji.com/product/phantom-3/spec. [Accessed 24 September 2015].
[25]
DJI, "Spreading Wings S1000+ - Specs," DJI, [Online]. Available:
http://www.dji.com/product/spreading-wings-s1000-plus/spec. [Accessed 24 September
2015].
[26]
DJI, "Spreading Wings S900 - Specs," [Online]. Available:
http://www.dji.com/product/spreading-wings-s900/spec. [Accessed 24 September 2015].
[27]
3DRobotics, "X8+," 3DRobotics, [Online]. Available:
http://store.3drobotics.com/products/x8-plus. [Accessed 24 September 2015].
[28]
Expert Drones, "All Drones," [Online]. Available: http://www.expertdrones.com/alldrones/.
69
[Accessed 24 September 2015].
[29]
S. Litovich, Interviewee, Drowning Information and Drone Considerations. [Interview]. 18
September 2015.
[30]
NOAA's SciJinks, "How to Escape Rip Currents," [Online]. Available:
http://scijinks.jpl.nasa.gov/rip-currents/. [Accessed 18 October 2015].
70
Download