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 rC D A(r ) 2 ( ) 2 2 1 rC 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