100
SpyCopter Matthew Campbell Brian Williams Alvilda Rolle Group # 3 Senior Design University of Central Florida Sponsors: Nelson Engineering Co. Rogers, Lovelock, and Fritz Architecture August 10, 2009

SpyCopter - University of Central Florida

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SpyCopter - University of Central Florida

SpyCopter

Matthew Campbell Brian Williams Alvilda Rolle

Group # 3

Senior Design University of Central Florida

Sponsors:

Nelson Engineering Co. Rogers, Lovelock, and Fritz Architecture

August 10, 2009

Page 2: SpyCopter - University of Central Florida

1. Executive Summary 1.1. Project Narrative

1.1.1. History 1.1.2. Motivation 1.1.3. General Description

1.2. Team Members/Sponsors 2. Helicopter Description

2.1. Control Surfaces Overview 2.2. Dynamic Flight Simulation

3. General Design 3.1. Detailed Project Description 3.2. Related Research

4. Subsystem Design 4.1. Copter Stability System

4.1.1. Description 4.1.2. Objectives 4.1.3. Hardware

4.1.3.1. Power Management 4.1.3.1.1. Battery 4.1.3.1.2. Power Supply 4.1.3.1.3. Motor Control

4.1.3.2. Flight Surface Control 4.1.3.2.1. Servos 4.1.3.2.2. Accelerometers 4.1.3.2.3. Gyros 4.1.3.2.4. Electronic Compass

4.1.3.3. Noise Filtering 4.1.3.4. Microcontroller

4.1.4. Software 4.1.4.1. Take Off 4.1.4.2. Landing 4.1.4.3. Hovering In Place 4.1.4.4. Travel

4.1.5. Emergency Override 4.2. GPS Guidance System

4.2.1. User Waypoint Input 4.2.2. Accuracy Requirement

1 6 17 19 19 58

Page 3: SpyCopter - University of Central Florida

4.2.3. Hardware 4.2.3.1. GPS 4.2.3.2. Electronic Compass

4.2.4. Software 4.2.4.1. Waypoint Following

4.3. Camera System 5. Testing Procedures

5.1. Automatic Hovering 5.2. Waypoint Following 5.3. Testing Accommodations 5.4. Detailed Plans 5.5. Testing Location

6. Future Project Upgrade Possibilities 6.1. Potential Uses 6.2. Multi-Helicopter Coordination 6.3. Scalability

7. Project Timeline 8. Budget

8.1. Parts List 8.2. Funding

9. Conclusion 10. Appendix

61 80 83 86 91

Page 4: SpyCopter - University of Central Florida

1

Executive Summary SpyCopter is a project that can be classified as an Unmanned Aerial Vehicle (UAV). The concept behind SpyCopter is one that is currently in practice today. The military incorporates the use of Unmanned Aerial Vehicles for various types of missions. The use of UAV’s allows the military to better protect the country, and keep their personnel out of harm’s way. Similarly to current UAV’s, the team designing SpyCopter will incorporate a completely automated flight and navigation system into a pre-purchased radio controlled helicopter. The team behind project SpyCopter will utilize knowledge gained from various disciplines in the fields of Computer Science and Electrical Engineering to complete their design. The main objective of this design is to constructively upload a set of Waypoints via computer software and autonomously send the helicopter on a flight mission to the intended destination, and then safely return back to its initial location. Once the start sequence has begun, the device will lift off, balance itself and head in the given direction. Using its X, Y, Z coordinates it should arrive at its destination by receiving the longitudinal and latitudinal points through its GPS flight path. Once it has reached its given location, it will send a text message to a cell phone, stating position achieved. After that has been completed, it will take surveillance video of the area, and then begin its return flight back to its starting position. By the end of the mission, it will have videotaped the entire flight. The device will feature sonic range finders to detect unwanted activity, children, birds, light poles, dogs etc. The range finder would also measure the SpyCopter’s distance from the ground. This will be necessary to avoid any collisions which may damage SpyCopter. The major aspect that SpyCopter needs to achieve to be deemed successful is that of incorporating and maintaining stable flight. This will most likely be the team’s biggest challenge of the design. The team will incorporate various accelerometers, gyros, servos, and motors in their design. They will also use analog filters and controls for use with the flight controller. All of these will be necessary for SpyCopter to achieve stable flight. Along with functionality, our design needs to be conceptually viable as well. Our system must meet a few requirements for this to occur. One such requirement is the need for reliability. Our system must successfully complete the mission every time it is sent out. A major aspect of its reliability will be the durability of the system. SpyCopter must be capable of withstanding forces incurred during landing, whether it be in full control or not, and still maintain its ability for a repeat use. Another issue facing our SpyCopter is weight. As with any aerial vehicle, weight is extremely critical. Therefore the design will incorporate the lightest possible components that will be necessary for the system to take off, and land safely. Since components will be physically added to the helicopter, placement of these additional components inside the shell of the helicopter is crucial. Even distribution of the additional weight is necessary to maintain the balance integrity of the helicopter. Some other factors that will need to be addressed, but that aren’t as crucial, will be SpyCopter’s ease of use, flight range, as well as the price. SpyCopter’s user input system

Page 5: SpyCopter - University of Central Florida

2

needs to be as user friendly as possible. The design will attempt to have the user merely input a set of GPS coordinates, and SpyCopter does the rest. Along with user feasibility will be the range of SpyCopter. The team will establish the range of the helicopter. Another issue that will need to be addressed will be the cost of entire project. SpyCopter needs to be moderately inexpensive within a total cost of $1000. Funding of up to $1000 will be provided by SpyCopter’s sponsors, with any additional costs being incurred by the team members. Therefore it is of utmost importance to minimize the total cost of the project.

1.1 Project Narrative

1.1.1 [18] History: The first unmanned aerial vehicle (UAV), or drone, was created in 1916 by A.M. Low called the “Aerial Target”. This first design was the starting point of many developments to come in the future. With the intention to target a point for surveillance, or dropping and firing weapons, this device was particularly useful during World War I and World War II. World War I was when the first drones were employed, and then progressed into the 1950’s becoming enhanced and more compound through advancing technology. In 1951 it was recognized that RPVs (remotely piloted vehicles) could be serviced for photographic and electronic scouting of uncharted areas. In the first take off of 1962, the AQM-34 Firebee was a product of this idea throughout the Vietnam War in Southeast Asia, North Korea and over the People’s Republic of China. This newly produced aircraft flew through unsafe, secured locations of war and was able to return with remarkably clear images even with the boundaries of technology during this time era. Until the 1980s, these UAV’s advantages continued to remain unpublicized until the invention of miniaturized avionics, which carried a vital advancement of high-resolution cameras in turrets beneath the UAV’s fuselage, and lasers for stationing munitions. Later, in 1986, the U.S. built the RQ-2 Pioneer and was used in the Persian Gulf War from 1990-1991 by the U.S. Navy and Marine Corps. As for the U.S. Army, they used a similar craft that was taken from the idea of the Israeli manufacture, the RQ-5 Hunter, which was mainly used in the Iraq invasion of 2003. With Israel producing these mature UAVs, the U.S. is following assertively to keep up. Thus, the most significant UAV in use is the General Atomics MQ-1 Predator produced in 1995, with capability to capture advanced surveillance, was operated by the CIA during the 2001 Afghanistan invasion. These Predators are mostly handled by the U.S. Air Force to find and mark targets for fighter-bombers and gunships. Hovering UAVs, built to seek out explosive gadgets, come in around 2007 with the U.S. Honeywell RQ-16 T-Hawk, and then again with the Russian helicopter, the Kamov Ka-137 containing a camera for border patrol. Similarly, the bigger unmanned helicopter resembling a Northrop Grumman MQ-8 Fire Scout, is being assessed by the U.S. Navy and is under

Page 6: SpyCopter - University of Central Florida

3

deliberation by the U.S. Army. The Global Hawks, a prototype used in war over Afghanistan in 2002 and Iraq in 2003, are presently the most valuable strategic-range UAVs in service today. The next major advancement in UAV progression will most likely be UCAVs (uninhabited combat air vehicles), which will replace pilots in the high risk environments they currently are in.

1.1.2 Motivation In today’s ever escalating turbulent times, the need to minimize military and civilian casualties is of absolute importance. There is always a need to improve and advance our scientific technologies to aid and enhance the lives of the citizens of the world. Science can be used to greatly improve the quality of life, but at the same time it can be utilized in the destruction of quality of life to some, as well as the destruction of life itself. SpyCopter however is a design that will be on the positive side of the spectrum. SpyCopter’s concept can be used to enhance the quality of life and with all intensive purposes have the capability of saving lives. This is where the motivation for SpyCopter was formed. The initial design was inspired by a collection of thoughts from the various team members. Through various aspects and experiences of the team member’s lives, they came up with the idea for the SpyCopter. Two of the member’s actually had similar ideas prior to joining together. One of the team members initially had the idea of designing a system for a radio controlled tank. This system would have allowed the user to operate the tank from a remote distance while visualizing from the tank’s point of view. This would have been achieved with the use of real time video devices to send the video signal back to the operator. It would be more like a real life video game. This idea was inspired by a television show on The Military Channel(T) entitled “Backyard to Battlefield.” On this particular airing, they showed a team that created a remotely operated tank they called “Ripsaw.” Another team member had the idea for a radio controlled helicopter to be autonomously operated. The inspiration for this idea was the fascination of helicopters and the love for programming. This particular member had watched a television show on The History Channel(T) entitled “Operation Shock and Awe.” On this particular documentary, they showed the history of “Operation Iraqi Freedom.” The show explained the various technological military advancements that allowed for the successful invasion of Iraq. This invasion was implemented as a result of the horrific terrorist attacks that occurred on September 11, 2001. Although Iraq claimed no connection with the terrorist attacks, President George W. Bush believed Iraqi leader Saddam Hussein to be hiding weapons of mass destruction. After denying having any possession of such weapons, President Bush offered Saddam Hussein a 48 hour period to surrender these weapons and step down from power. Hussein refused, and “Operation Shock and Awe” was ordered. The concept behind this particular operation was to attack key structures of the Iraqi infrastructure while

Page 7: SpyCopter - University of Central Florida

4

minimizing civilian casualties. This was accomplished with the United State’s superior advanced technologies. One such technology was that of the “Smart Bomb.” This particular weapon was a missile that used sophisticated Global Positing Systems and flight controls to reach its designated target with precise accuracy. This was the inspiration behind the idea of an autonomously operated helicopter. Similar motivation for this project came from another group member. He was raised as dependant of a United States Air Force Airman. This member spent a majority of his life growing up at various military installations. These installations offered a unique experience in acquiring first hand knowledge of many different types of military and non-military aircraft. It would be these experiences that would inspire a similar idea. Henceforth it was a combination of all the group members inspirations that would ultimately lead to the concept and design of SpyCopter. It will be these motivations along with the genuine desire to achieve their goals, that will lead the team to the successful completion of project SpyCopter.

1.2 Team Members/Sponsors The team that has taken on this daunting task of creating SpyCopter consists of Matthew Campbell, Brian Williams, and Alvilda Rolle. All three team members are currently in their senior years at the University of Central Florida, in Orlando, Florida. Matthew Campbell is a native Floridian who has had an great interest in computer science ever for as long as he can remember. Matthew has also held interest in learning various related electrical engineering applications. He is seeking a Bachelor of Science in the field of Computer Science. Brian Williams has lived in the central Florida area for about 12 years. Brian’s father served in the United States Air Force for a total of 20 years before retiring. Due to his father serving in the military, Brian’s family has traveled extensively abroad. He has lived at various Air Force bases throughout the United States and Germany. A majority of his life was spent living on major Air Force installations that have a history of extensive aerial technological advancements. A few of these installations include Wright Patterson Air Force Base in Dayton, Ohio, Ramstein Air Force Base in Ramstein, Germany, and Whiteman Air Force Base in Whiteman, Missouri, which was a secret location of the SR-71 Blackbird and the stealth B-2 Bomber. As a child growing up in a military environment, Brian has witnessed various sorts of air craft in action displaying their amazing design and technology. However at the same time, he has witnessed the devastation that can happen when things malfunction and go aria. Brian and his family were at the famous air show in Ramstein, Germany on August 28, 1988 where two airplanes collided mid-air, then came crashing to the ground. Brian’s family were among the spectators enjoying the amazing displays of aerial navigation. They happened to be watching the show at the exact location where the fiery wreckage came crashing down. It was the simple good fortune of being thirsty which drew his family away from the site a mere 5 minutes prior to the crash. It was a collaboration of all his experiences growing up as a military child which sparked Brian’s interest in aerial aviation and in engineering

Page 8: SpyCopter - University of Central Florida

5

in general. Brian is seeking his Bachelor of Science in the field of Electrical Engineering. Alvilda (Allie) Rolle is a native Floridian. Her interest in electronics was inspired by her father’s knowledge of computers and printers. She would watch her father as he built bare bone computers and repaired Hewlett Packard printers. From her father she developed a love for computers and electronics. She initially wanted to pursue a bachelor’s degree in Spanish, but she changed her mind, and instead pursued Computer Engineering. After a series of programming courses, she realized that she preferred Electrical Engineering. She changed majors the next semester. Allie enjoys learning and aspires to be knowledgeable in various subjects. Her interest in engineering also stemmed from her love for math, a subject which many people find intimidating and daunting, she enjoyed solving math problems and helping others understand it too. Allie also enjoys studying languages. She is currently pursuing a minor in Spanish, and has become quite fluent in it. She also enjoys traveling as often as she can. Allie has family members who have helped solidify her interest in Electrical Engineering. She enjoys conversing with them about technological advancements. After graduation Allie hopes to obtain a job in the field of engineering. She eventually intends to attend graduate school in the possible pursuit of law or architecture. In which both fields she can apply her electrical degree. Along with these dedicated team members, project SpyCopter has enlisted the sponsorship of two prestigious engineering firms. The firms consist of Nelson Engineering Co. of Merritt Island, Florida and Rogers, Lovelock, and Fritz Architecture and Engineering (RLF) of Winter Park, Florida. Nelson Engineering Co. is an engineering firm which was established in the early 1990’s. They specialize in various sorts of engineering practices including Aerospace, Electrical, Mechanical, Civil, Chemical, Industrial, Environmental, and Fire Protection Engineering. Nelson Engineering Co. focuses a great deal of resources on product research and development, with extensive work done with NASA and the United States Air Force. The other sponsor for the SpyCopter project is Rogers, Lovelock, and Fritz Architecture and Engineering (RLF). RLF is an Architecture, Planning, Engineering, and Interior Design firm, and the employer of team member Brian Williams. RLF was established in 1935 by James Gamble Rogers II. RLF has done extensive design including various religious, healthcare, educational, and Department of Defense projects. RLF is a naturally recognized firm that has received a number of awards for their design work, as well as their various volunteer efforts. RLF is one of the oldest practicing design firms located between Jacksonville and Miami. This is due in part to its exceptional staff, and its long roots in the Central Florida community.

Page 9: SpyCopter - University of Central Florida

6

Chapter 2: Helicopter Description The helicopter is the focal point of our project, therefore selecting the right RC helicopter to meet our requirements was vital. Originally we considered smaller RC helicopters with two counter rotating main rotors such as the one shown in Figure 2.1. Their ease of control and inherent stability was appealing at first. However after researching further we found that with the dual rotor configuration forward flight against wind was slow to impossible, so it did not meet our requirements.

[9]Figure 2.1 From there our research led us to more traditional RC helicopters with a single main rotor and a tail rotor to balance the main rotors torque. The single rotor helicopter would be more difficult to control than the counter rotating rotor helicopter but would fare much better in windy conditions. Therefore to meet our wind requirements we chose this layout for our helicopter. The next decision we had to make was on the design of the tail rotor system. Many RC helicopters use a small electric motor that is completely separate from the main rotor drive. While this design does have some advantages, such as being easier to manufacture, there are also some drawbacks. For example, tail rotor motors are prone to failure and are less precise in their thrust generation. We decided that for the best control of our helicopter we would choose a helicopter with tail rotor driven by the main rotor’s motor and the pitch of the blades will change the amount of thrust generated. With the fundamental design of our helicopter chosen we could start talking about how to actually control the helicopter. Along with motion in the X, Y and Z axis we must also consider pitch, roll, and yaw also known as Tait–Bryan angles or Euler angles shown in Figure 2.2. Pitch corresponds to rotation about the y-axis and will be defined as ?; yaw

Page 10: SpyCopter - University of Central Florida

7

corresponds to rotation about the z-axis and will be defined as ? ; roll corresponds to rotation about the x-axis and will be defined as f .

Figure 2.2 In order to rotate or move the helicopter the flight surfaces on the main rotor and the tail rotor change their pitch to create an unequal force producing the desired motion. The cyclic control, which is similar to the flight stick in an airplane, is used to control the pitch and roll of the helicopter by varying the pitch of the main rotor blade. The yaw rate and heading is controlled by the pitch of the tail rotor. Finally motor RPM and collective pitch, the overall angle of attack, of the main rotor blades control the lift generated and altitude of the helicopter. By combining these different changes to the control surfaces we can create a wide variety for our helicopter. For example pitching the nose downward and increasing the throttle/collective will propel our helicopter forward while maintaining altitude. However in actuality controlling the helicopter, especially of this size, is a very complicated task. Due to the size and relatively low weight the helicopter is very sensitive to control inputs and any air flow disturbances are magnified, creating a very high bandwidth system. Unstable air just below the main rotor, called rotor wash, affects lift on all of the flight surfaces and becomes more unstable after passing past the fuselage of the helicopter. This problem becomes magnified at ground level and causes problems at take-off and landing. Another problem is the fact that flying a helicopter is very non-linear and complex in nature. Different modes, such as hovering, forward flight, and turning, all have different

Page 11: SpyCopter - University of Central Florida

8

characteristics so developing one broad description of helicopter flight can become exceedingly complicated. In order to simplify this we will break up each of the helicopter’s modes and study them independently, grouping them together in the end with a way to transfer in between modes. The first mode that needs to be addressed is the hover mode. In this mode the helicopter maintains its current altitude and position, making corrections for any disturbance introduced to the system. In order to maintain the altitude we balance the lift generated by the main rotor and the gravitational force. To maintain the heading we balance the torque generated by the main rotor and the force generated by the tail rotor, using the same equation for lift as before. Finally the helicopter must balance the pitch and roll in order to maintain its position. This is made more complicated due to the fact that the spinning main rotor blade provides gyroscopic precision which causes a phase lag in the system. In order to simplify the modeling process we will break up the model relating inputs to helicopter position into three parts shown in Figure 2.3 and study each block in depth. The first block will model the flapping dynamics of the rotors and relate the control inputs to the thrust generated by the rotors as well as the orientation of the main rotor related to the body of the craft. This will then drive the inputs for the force torque equations in the second block which will output the sum of the forces and torques on the helicopter. Finally the last block will model the helicopter as a rigid body and define the position and orientation of the helicopter.

Figure 2.3

The first block that we’ll look at in depth is the one containing the rigid body equations. In order to transform the force vectors stated in the frame of reference of the body of the helicopter to the spatial frame we define the center of gravity in we need to derive a coefficient matrix. These rotation matrices are defined by Bak[4] and are shown below in equations 2.a. Where ?1 is the roll angle, ?2 is the pitch angle, and ?3 is the yaw angle. By combining these equations we can relate the spatial frame of reference to the body frame of reference as shown also in equations 2.a. Alternatively by taking the inverse we can relate the body frame to the spatial frame.

Page 12: SpyCopter - University of Central Florida

9

Equations 2.a[4] Now that we have the angles to define the orientation of our helicopter we can look at the time derivative of these angles, called Euler rates which will represented by . We can also represent these values as an angular velocity vector represented by ? . The value of ? can be calculated with equations again provided by Bak[4] shown in equations 2.b, and the same can be said for the inverse also shown.

Equations 2.b[4]

Page 13: SpyCopter - University of Central Florida

10

We now need to define the angular acceleration of our helicopter as it relates to torque put on the rigid body of our helicopter. First we’ll define an inertia matrix I such that we can find the value of the angular momentum vector H. The relation as well as the inertia matrix is defined below in equations 2.c provided by Wie[5].

Equations 2.c[5] This combined with the equations for torque of a rigid body about its center of gravity shown in equations 2.d gives us a final relation between the torque vector, written as t or

, and the angular velocity vector shown also in equations 2.d provided by Wie[5].

Equations 2.d[5] Describing the translatory acceleration only involves one equation where F, the force vector applied to the helicopter, is related to V, the velocity vector of the helicopter, as shown in equations 2.e below.

Equations 2.e With our rigid body block defined we can move on and look at the second block, the force and torque equations. There are three main forces acting on the helicopter: FMR which is the force generated by the main rotor, FTR which is force generated by the tail rotor, and finally the force of gravity is taken in to account represented by FG.

Page 14: SpyCopter - University of Central Florida

11

The force of the main rotor is a function of the thrust generated along with the orientation of the plane of the main rotor’s blades, B1c and B1s. This is shown in Figure 2.4[6] where HP is the initial plane and TPP is the pitched plane. From this we can derive force equations for each axis shown in equations 2.f below.

Figure 2.4[6] (Top B1C; Bottom B1S)

Equations 2.f

The next force we look at is the one created by the tail rotor. Since there is no pitch involved, the tail rotor’s force is equal to the thrust created by the tail rotor in the positive y direction.

Page 15: SpyCopter - University of Central Florida

12

Finally we have the gravitational force acting on our helicopter. We can represent this as a vector by considering our Euler angles from before. This is shown in equations 2.g below derived from equations 2.a.

Equations 2.g

Combining all terms we come up with the following force vector matrix shown by equations 2.h.

Equations 2.h Similarly we will define torque vector by breaking it up into three components shown in equations 2.i, torque generated by the main rotor, torque provided by the tail rotor, and finally torque generated by the resistive air drag on the main rotor.

Equations 2.i The first of which, the torque generated by main rotor, is shown in the equations 2.j below where h is the distance from the COG to the main rotor along the z-axis, l is the distance from the COG to the main rotor along the x-axis, and y is the distance from the COG to the main rotor along the y-axis.

Page 16: SpyCopter - University of Central Florida

13

Equations 2.j Next the torque generated by the tail rotor is considered. Using the same nomenclature for distance used for the main rotor we can derive equations 2.k similar to the one just shown.

Equations 2.k

Last we need to calculate the torque created by the aerodynamic drag of the main rotor. However accurately modeling the drag on the main rotor can be a very complex problem so we will use a model as described by Koo et al. [8] shown in equations 2.l below. Where Qi is the drag created, Di describes the drag created when blade pitch is zero, and Ci describes the relation between drag and thrust generated. Taking into account the pitch of the main rotor blades we can complete the torque matrix also shown in equations 2.l.

Equations 2.l Combining all of our torque equations and inserting them into equation 2.i we have our torque matrix for all our components shown below in equations 2.m.

Equations 2.m

Page 17: SpyCopter - University of Central Florida

14

The final block we’ll take a look at is the block containing the flapping dynamics for the main rotor and tail rotor, specifically how much thrust is created. The equation for the thrust generated by the main rotor according to NASA’s Minimum-Complexity Helicopter Simulation Math Model is shown in equations 2.n[3] where ? is the density of air which will remain constant throughout the flight. The rotor’s angular rate will be defined as O, R will be defined as the radius of the blade, and B will be the number of blades. The lift curve slope is a constant and will be defined as a and c is the chord of the blade. Finally wb is the velocity of the main rotor blade relative to the ambient air and vi is the velocity of the flow through the plane of the blades and is derived below.

Equations 2.n[3] By ignoring the blade twist, shown as ?twist, we can simplify the derivation of the wb shown by equations 2.o[3].

simplifies to

Equations 2.o[3]

As you can see in equations 2.o that the thrust of the main rotor is merely a function of vi and vi is a function of the main rotor thrust, meaning that these equations are

Page 18: SpyCopter - University of Central Florida

15

recursively defined. These values feed back into the equation after a certain amount of delay, 5 iterations is enough to ensure that the values have settled according to NASA’s model [3]. Next we need to define the thrust produced by the tail rotor. In order to simplify this we will assume that yaw will be controlled by the magnetic compass such that a single heading is maintained. We show how the tail rotor thrust is derived below in Equations 2.p. Solving for the tail rotor force and adding in the force associated with the input force upedal we have our equation for tail rotor thrust.

Equations 2.p

Finally all we need to do now is model how changes in user input go through the mechanical systems of our helicopter to change the pitch of the main rotor blade. Figure 2.5 provided by Johnson[8] shows the magnitude and phase lag relating the flapping of the main rotor to its inputs.

Page 19: SpyCopter - University of Central Florida

16

Figure 2.5[8]

Page 20: SpyCopter - University of Central Florida

17

Chapter 3: General Design

3.1 Detailed Project Description SpyCopter is essentially a 6-channel RC helicopter that has been modified to operate automatically and has been upgraded to record video. The Esky Belt-CP 450 has built in servos and gyros. It has a very light structure and is built for 3D maneuvers. Our aim for SpyCopter is to enhance its structure so that it can not only fly automatically but also take surveillance videos, and sense unwanted objects to avoid collisions. A successful SpyCopter mission will begin by successfully uploading a set of waypoints via computer software. Once the aircraft is in automatic mode, it will begin its flight sequence by launching from the start pad. It will check its GPS coordinates and commence flight plan. Using its x,y,z coordinates it will arrive at its destination by receiving the longitudinal and latitudinal points through its GPS flight path. During its flight sequence the screen will display GPS coordinates for every point of the mission. So at any point during the mission, the user should and will be able to pinpoint the exact location of SpyCopter. They can essentially track the entire mission through a computer device. During the flight duration there will be a mini video recording the mission. The ultrasonic range finder will ensure that SpyCopter isn’t too close to the ground or other moving or nonmoving objects. If a surface or object is detected then a signal will be sent to the microcontroller which will then be sent to the gyro, so that the aircraft can adjust its direction. When SpyCopter encounters objects it will pause during its flight sequence and hover, while adjusting its tail to adjust to the infraction. In which case it will either move up, down, backwards, left, or right to avoid a collision. The ultrasonic range finder will be especially useful because during missions that may take place in a public area, there is constant action. Once SpyCopter reaches its waypoint destination the user will receive a text message indicating the mission is complete. If the user is tracking the flight progress via a computer then the screen will light up on SpyCopter and the message will also show up on the computer device indicating a completed mission. SpyCopter then repeats the mission but to return to its starting position. The video will still be in record mode. After the mission has been completed the video can be removed and played or used for additional purposes. The video will have efficient memory card space to record the entire mission. If at any time SpyCopter encounters problems, the emergency override will kick in. In this case the user will either manually operate the aircraft or the aircraft will attempt to

Page 21: SpyCopter - University of Central Florida

18

land in an open field. The recording device will be attached to the main frame in order to provide recording of the mission’s entirety. It will display the time clock as it times the duration of the mission. SpyCopter will need the servos, gyros, accelerometers, and the electronic compass to control its flight operations. The servos are used to correct any sudden movement that the gyro detects. The servos will correct any negative feedback that is detected. The gyros will detect any negative feedback that SpyCopter encounters. Together they ensure that SpyCopter is not encountering any detrimental feedback that may cause serious damage, or that may interfere with its direction. The gyro will ensure that SpyCopter is always pointed in the desired direction because it detects unwanted movements of the tail, and corrects them. The accelerometer will measure the direction of acceleration of SpyCopter. It will also ensure that SpyCopter is oriented correctly. Additionally it will sense vibrations and shock. This device will constantly monitor SpyCopter’s velocity. It will be able to track how fast it should be going, and whether it’s traveling too fast. Although the GPS function can measure direction, it is fairly inaccurate when the aircraft is not in motion. The electronic compass will be used to monitor SpyCopter’s direction. It’s not dependent upon whether the aircraft is still or in motion. With this device SpyCopter will constantly be directed in the correct direction. Because SpyCopter is an automated aircraft it’s important to maintain knowledge of its direction at all times. Ideally the user will be able to track its progress via a computer device.

3.2 Related Research There are several projects that have been done that are similar to SpyCopter. Stanford University has several publications and videos published on autonomous helicopters. The Carnegie Mellon Robotics Institute also designed an automated helicopter. Then there is the Dragonflyer X6. This aircraft is a remote controlled, mini helicopter than records wireless video. The goal of the Stanford project was to promote the computer operation of manned aircraft. They examined autorotation, which is an emergency procedure that is designed to prevent the helicopter from crashing. Autorotation landing routines are no doubt challenging. During autorotation the rotor drag is not overcome by the engine power, but by the airflow through the blades. The potential energy of the helicopter is then transferred to rotor speed. This specific rotor speed allows the pilot more control to slow the helicopter down and control it during its descent. If the rotor speed is too high or too low the helicopter will encounter difficulty during its autorotation landing. The goal behind the Carnegie Mellon project was for the helicopter to automatically start its operation and take off sequence. It would fly to a specific destination while avoiding

Page 22: SpyCopter - University of Central Florida

19

obstacles. Its objective was to search and locate distinct objects in the destination area. If necessary it would track the objects. During the flight the device would take images. Before the helicopter returned to its starting point, it would send those images to a home base location. Applications of this project included search and rescue missions, surveillance, and law enforcement. Another application consisted of cinematography in which the helicopter can take pictures while being fully operated under computer control. This method eliminates the need for human professionals. The device can track objects via object trackers located on the mainframe. The Dragonflyer X6 is an unmanned, miniature, helicopter that carries wireless video cameras. The prototype is modifiable. The user can choose the type of camera device they want. It uses 11 sensors, including a Barometric Pressure Sensor and 3 Magnetometers. It uses brushless motors, and carbon fiber rotor blades. It contains collapsible arms. The Dragonflyer X6 is constructed with a 6 rotor design. The applications of the Dragonflyer X6 are similar to the Carnegie Mellon project. The applications include wildlife photography, news production, law enforcement, crime scene investigation and traffic congestion. Another application is using it for real estate purposes which include golf courses, and property assessment.

Chapter 4 Subsystem Design

4.1. Copter Stability System 4.1.1 Description Chapter four is exclusively about the subsystem design of SpyCopter. It contains three sections the Copter Stability System, the GPS Guidance System, and the Camera System. The Copter Stability System begins with the hardware surfaces. It provides a conceptual description for each component as well as practical applications for them. The Copter Stability system contains three subsystems including Hardware, Software, and Emergency Override. There are four subsections of Hardware, Power Management, Flight Surface Control, Noise Filtering, and the Microcontroller. Power Management addresses the battery specifics, the power distribution, and the motor operations. It provides details of the battery chosen to power SpyCopter, the Lithium-Polymer battery. It describes the various advantages of using this particular battery. Then it addresses the importance of maintaining a balanced power system by not applying too much voltage to the system. The final subsection in Hardware is the Motor Control section. Here the brushless motor is examined. It’s compared with its predecessor the brushed motor, and it’s improvement in efficiency than the brushed motor. The Power Management section contains the power behind SpyCopter.

Page 23: SpyCopter - University of Central Florida

20

The Flight Surface Control section addresses the various components that are required to maintain flight stability. The servos are correction devices that correct the error feedback and maintain the angular position of the shaft. The accelerometers are then discussed and detailed in great length. They are devices which measure activity acceleration due to gravity. SpyCopter will operate with piezo-electric accelerometer. This section also includes the gyros. The gyros are used to monitor the direction of the head, and ensure it’s directed in the correct direction. It also addresses the two types of gyros, the heading hold and the yaw rate. The next component addressed is the electronic compass. The electronic compass is necessary because the GPS can only measure direction when the object is in motion. The electronic compass constantly points in the correct direction. The final section in the Flight Surface Control segment contains info on the ultrasonic range finder. This device is used to measure the distance between moving and/or non moving objects. The Noise Filtering subsection briefly describes the Low-pass, High-pass, and Band-pass filters. SpyCopter will encounter induced noise interference. It’s possible that it will exist between the transmitter and the receiver, and other electronic components. These filters are often used to attenuate unwanted noise feedback. The Microcontroller is the base, where the components connect together. It’s the inner computer within SpyCopter that’s designed for smaller applications such as this. This embedded system contains a CPU (central processing unit), a clock generator, memory storage device (RAM), an analog-to-digital converter, and other serial communication interfaces. The next subsection of the Copter Stability System is the Software department. Software will need to be written for each flight operation, the take off, the landing, the hovering, and the traveling in motion. Stabilizing SpyCopter will be a tremendous part of this design. Once SpyCopter has been stabilized, then the above functions will be programmed in order to enable for secure take off functionality. Each division of the Software section is important to completing an operational flight mission. The Emergency Override section is the final section of the Copter Stability System. The section in detail describes when the emergency override will take over, and how it will operate. The second chapter of the Subsystem Design is the GPS Guidance System. This section is divided into four parts: the User Waypoint Input, the Accuracy Requirement, the Hardware, and the Software. The User Waypoint Input section addresses how the user will input the desired destination by inputting the corresponding waypoints. For SpyCopter to be as operational as possible then it will need to be as accurate as possible. Error will be present, but

Page 24: SpyCopter - University of Central Florida

21

ideally the percentage of error will be desired to be as little as possible. There is a Hardware section similar to the Copter Stability System. The Hardware section will contain information and developmental procedures for the GPS, and the Electronic Compass. It will address how both components will work independently but together to maintain SpyCopter is always on course, providing some additional information from the Copter Stability System chapter. Both components of SpyCopter will need software development. Within the Software division the Waypoint following will be described. The last subsection of the GPS Guidance section is the Camera System. The technology behind the video system of SpyCopter will be probed into. The section includes how the video recording component will operate. Originally SpyCopter was to be designed with video capabilities of recording the entire flight mission. However that may be a challenge, given our time limitations. Each section and corresponding subsections will be addressed in greater details in the upcoming chapters. It addresses the role each component will play within SpyCopter’s design. 4.1.2 Objectives The objective of Chapter 4 is to provide in depth descriptions of the internal operations of SpyCopter. The goal is to provide as much information about the inner hardware and software of SpyCopter. Being a fairly new concept to some of the members, there was a lot of research that needed to be done. There are related aircraft in the field now. When SpyCopter is complete, it will be an automated helicopter. It’s internal design will be similar to the research provided in this chapter. This chapter provides visuals to assist the user and the reader with the physical and conceptual knowledge behind SpyCopter. It provides formulas so that the user and the reader have a somewhat clear understanding of the conceptual concepts behind the operation of SpyCopter. The objective of this chapter is to also provide descriptions of the operation of each component, and to provide information on how these components will be implemented.

Page 25: SpyCopter - University of Central Florida

22

4.1.3 Hardware 4.1.3.1 Power Management

4.1.3.1.1 Battery The SpyCopter will be battery powered by a Lithium-Polymer (Li-Po) battery, specifically the 11.1V 1800mAh 20C high capacitance Li-Po battery. The Li-Po is not only cheaper than the Li-Ion, but is being used more frequently in cell phones, PDA’s, laptop computers, Radio-controlled aircraft, vehicles, and IPods. Some companies are even considering using the Li-Po in future battery electric vehicles. The Li-Po is undoubtedly light weight, cost effective, and due to the rechargeable capabilities offers an increased run time, which will come in handy for SpyCopter missions. For the purpose of this design we will use two Li-Po batteries. While one is in use the other will recharge itself, and vice versa. For future use the design will need to be adjusted, because the Li-Po cannot be exposed to too much heat. One of the future uses was locating civilians in the midst of fire. The Li-Po also has some internal resistance issues. The internal resistance of a Li-Po or Li-Ion battery is relatively high in comparison to other rechargeable chemistries. The increased terminal resistance is a time dependant process. Once the internal resistance has increased it can often cause voltage drops at the terminal, which then reduces the amount of maximum current being extracted from the battery. Eventually the battery reaches a point in which it can no longer operate the device for a period of time. All setbacks aside the Li-Po in comparison to the Li-Ion maintains a greater life cycle reduction rate. One main advantage for using Li-Po over Li-Ion is that aside from possible explosion if over charged, unlike other batteries they can be thrown around, roughly handled, run over by vehicles and still not suffer from explosion. If SpyCopter experiences unexpected turbulence the Li-Po battery will not explode from sudden shifts in elevation or density.

Page 26: SpyCopter - University of Central Florida

23

How fast the battery can discharge is based upon the maximum current capacity. This battery has a 20C capacity. It should discharge in 1/20 hours or three minutes. The battery life according to one formula is approximately 5.4 minutes: 1800mAh = 1.800Ah 20C = 20A supplied current 1.800Ah x 60min = 108 108/20A = 5.4 minutes Li-Po batteries have voltage varies between approx. 4.23(charged) and 2.7(discharged). The figure below is a photograph of a Li-Po battery provided by Wikipedia.

Lithium Polymer battery 4.1.3.1.2 Power Supply The power system for RC helicopters consists of three elements, the battery, the speed controller, and the motor that is responsible for driving the rotor blades and gearbox. The battery power is important because each component that is added to SpyCopter will need battery power. So in addition to powering the built-in components the additional components will also require power, such as the electronic compass. Once again SpyCopter will be battery operated by a rechargeable Li-Po battery. It’s a relatively new development, having replaced the Li-Ion battery. It’s lighter and more powerful, which is what SpyCopter needs. And its rechargeable capacity is excellent because all we’ll have to do is charge it up and resume flying. For the sake of time limitations we hope to have two Li-Po batteries, so that while one is recharging, the other can be in use. SpyCopter without the design additions flies for approx 15 minutes. How all of the design specifications will affect the time, is difficult to say. But by investing in a second battery we can cut out some of the wait time in between test flights. There will still be a wait time because the battery takes approximately 30 minutes to recharge, however with the second battery SpyCopter can be in flight for 10-15 minutes of that charge time.

Page 27: SpyCopter - University of Central Florida

24

In RC helicopters the battery is the power source. The higher the battery, the more power there is available. Within the helicopter, working with the motor is the electronic speed controller. This c component interprets the control signals coming from the radio receiver and transfers the battery power to the motor which then controls the speed the user wants. The electronic speed controller works as a buffer to fluctuate the speed of the brushless motor. This function takes place between the motor and the battery. The final component the motor, converts all electric power to mechanical power. With a brushless motor the power cannot be applied directly to it, thus the speed controller causes the motor to rotate by powering each phase of the brushless motor in succession. SpyCopter gains efficiency from the brushless motor, because of its maintenance free built, and its soundless structure. SpyCopter can prospectively stealthily hover behind a person without being detected. For future use this feature will be highly invaluable. For example for military uses an efficiently silent device will be more advantageous than a noise filled design. Using the brushless motor affords this. Although it cost more, it’s more powerful than the brushed motor. SpyCopter will need to maintain a balanced power system by not overloading each individual component. As it is being built, more than likely we will encounter many necessary adjustments that need to be addressed. Some of which may include applying too much current or voltage, because if too little is applied then the device will not power up. If too much is applied then something may burn out. The more power applied the faster it may fly, but the shorter the battery life time. 4.1.3.1.3 Motor Control The SpyCopter will be driven by an Esky 450 3800KV brushless motor. Thanks to technology advancement the brushless motor has almost explicitly replaced the brushed motor. The brushless DC motor (BLDC) consists of a set of electromagnetic motors on a non rotating stator and a set of permanent magnets on a rotor. When it’s connected to a DC source, the electromagnets charge as the shaft turns. With these adjustments the brush-system is eliminated and replaced by an electronic controller. The controller then performs the same power distribution function as the brush-system except using a solid state circuit. With the brushed motor the electromagnets are located on the inside of the motor as part of the armature. The armature rotates, hence being referred to as the rotor. The permanent magnets are located on the outside, as stationary objects or the stator. Once electricity has made contact with the electromagnet it creates a magnetic field inside the armature which repels and attracts the magnets in the stator. The armature must spin through 180 degrees. In order for it to maintain spinning, brushes are used to change the polarity of the electromagnets.

Page 28: SpyCopter - University of Central Florida

25

Although the brushed motor was efficiently workable, the system was gravely in need of upgradeable developments. All of which will help SpyCopter run as smoothly and as efficiently as possible. The BLDC eliminates the use of brushes. Not only do brushes limit the maximum possible speed of the motor but they also eventually run out. Once they’ve run out, they obviously need to be replaced. By using brushes it also limits the number of poles being emitted by the armature. In addition by placing the electromagnet on the outside instead of the inside makes its cooling process easier. Additionally as if that’s not enough the BLDC provides higher efficiency, and increased reliability. It reduces noise and eliminates the ionizing sparks created by brush contact. The electromagnets will receive cooling by conduction, which will allow the internal motor to be enclosed and provide protection from foreign substances. The BLDC also has a longer lifetime than the brushed motor, which will support a long lifetime for SpyCopter. The brushless motor also consumes less energy, and with a reduced EM interference it helps reduce radio interference. The disadvantage of using the BLDC however, is the cost. Although the motor is more efficient than its former model, it is still not greatly used in the commercial sector. It also requires a very complex electronic speed controller, which is used to basically vary the drive motor’s speed and direction. Combine these two important criteria together and they both more than likely contribute to the high cost of the BLDC. Cost aside, the brushless motor is our best choice. Not only is it included with the helicopter purchase but given the data presented and additional research SpyCopter should maintain superb motor efficiency with this model of the brushless motor. The figure below is a Brushless Motor property of Howstuffworks.com Brushless Motor from Howstuffworks.com

Page 29: SpyCopter - University of Central Florida

26

4.1.3.2 Flight Surface Control

4.1.3.2.1 Servos A servo is an automatic device that generally uses error sensing feedback to provide correction to the mechanism performance. Servos are generally used in an automatic system where the error-correction or feedback signals assist controlling the mechanical position or other parameters. A servo mechanism is unique in that it controls a specific parameter by the command of the time- based derivative of that parameter. Most servos are commonly electrical. There are other types of servo use as well, pneumatics, magnetic principles, and hydraulics. Within helicopters, servos are electrical devices that help control flight. There are two types of servos, standard and digital. SpyCopter will be using a digital servo because it operates more efficiently by eliminating the “deadband” which is found in the standard servo. By removing the “deadband” the rate at which the servo receives pulses increases dramatically from approximately 50 to 300 pulses. On standard servos the rate is around a maximum of 50 pulses per second. The standard servo is less efficient for Spycopter, because of the exceptionally fast rate within the standard RC servo that allows minutely small movements from the control stick to have no affect at all. This has been known as a “deadband” on the control stick, where no servo movement takes place. This causes no problems for most other RC designs; however for 3D aircraft any small delays can cause a collision. Which is why the digital servo is a much better choice for SpyCopter, the resolution increase provides the helicopter with more precise servo operation. RC servos are small electro-mechanical devices that are built out of a few gears, an electric motor and a head in which a wheel or arm can also be attached. This device responds to a control signal by converting the angular momentum of the servo arm to the linear movement of the control surface. Servos are designed to maintain or hold position. Because the aircraft is in constantly interacting with external forces, servos are needed as

Page 30: SpyCopter - University of Central Florida

27

grounds for holding the current position; otherwise SpyCopter would be able to remain in one location for a period of time. Without the servos the external forces would set control surfaces to undesired and unwanted positions. The command is fulfilled when the user communicates what angular position to move to, the servo then rotates and holds the desired position until it receives a new command. Three wires control the RC helicopter servo: one sends the signal, which controls the servo, two that provide the DC electricity which is needed by the motor. The three wires are a ground wire, a signal wire, and a power wire. Servos are normally connected into a three pin-connector, radio receiver. The servo works by receiving a series of pulses sent over a control wire that control the angle of the actuator arm. The pulses must be consistent to gain accurate information on the angle. The signal wire carries a Pulse Width Modulation (PWM) signal, which consists of a varied 1-2ms pulse repeated at fifty or more times per second. The servo will move to -45 degrees by a 1ms providing it has a 90 degree range of motion. A 2ms pulse will shift the servo to +45 degrees. A servo pulse of 1.5ms will shift the servo to its “neutral” position or center, 90 degrees. The electric motor inside the servo is mechanically linked to a potentiometer. Once the servo receives the PWM signals, they have been translated or converted into positional commands by the internal electronics of the servo. When the servo receives the command to rotate, the system powers the motor until the resultant commanded position is reached by the potentiometer. There are several specifications that the servo is comprised of: torque, speed, dimensions, weight, bearings, gears, and the motor. The torque measures the “strength” of the servo, or the amount of “push” it holds. The torque’s rating states the amount of force the servo can exert. Naturally the higher the number, the more force the servo exerts or the stronger it is. The bigger the aircraft the higher the torque servo, in general the servo size increases with rated torque. The speed of a servo is determined by the number of seconds that are taken to move a specific amount of rotation, generally 60 degrees. The speed measures how quickly the servo is able to move from one position to another. High speed servos in general are more expensive than standard ones but are more efficient for 3D helicopters and other aircraft. The dimensions of a servo are increased with the amount of torque that is provided. Although SpyCopter is a 3D helicopter it must still maintain a certain weight restriction. The servo should be strong enough to handle the demands successfully and light enough to not add too much additional weight to the design structure. The support of the main shaft can be handled by bushings or bearings. Standard servos are generally supported by bushings, and larger more heavy duty servos are supported by bearings. The bearings cost more than the brushes but are more durable. The gears of most servos are either metal or nylon. Metal gears weigh more and wear over time but

Page 31: SpyCopter - University of Central Florida

28

they do not “strip” or shred, which is the cause of many RC helicopter crashes. Many higher end servos use metal gears. In additional to metal and nylon there is karbonite and titanium as well. The karbonite is approximately 4 times stronger than the Nylon material and it offers better wear resistance in comparison to the metal material. The titanium gear is considered to be the best on the market. It offers no wear and tear at all. Of course with the increase in performance there is always the increase in cost. For SpyCopter and other hobby based RC aircraft, the nylon or metal material should work well. Figure 1 and 2 are photos of RC servos provided by Wikipedia. RC Servomechanism RC Servomechanism Unassembled 1. Electric motor 2. Position feedback potentiometer 3. Reduction gear 4. Actuator arm Figure 1 Figure 2 4.1.3.2.2 Accelerometers Conceptually accelerometers are devices that measure the acceleration forces, or the force being experienced due to gravity’s freefall. More advanced models also detect direction and magnitude of the acceleration as a vector quantity, which can be used to sense shock, vibration, and orientation. Accelerometers can be used to determine the angle at which the device is tilted with respect to the earth, by calculating the amount of static acceleration it experiences due to gravity. Accelerometers also known as electromechanical devices have many uses. For SpyCopter its purpose is to help it understand its surroundings. It helps determine its orientation, whether it’s driving uphill, or downhill, or flying horizontally. Other uses include health monitoring systems. Accelerometers are used to rotate equipment for machinery health such as fans, compressors, pumps, rollers, and cooling towers. They help cut costs by reducing downtime, and by detecting conditions such as rotor imbalance, gear failure, shaft misalignment, or bearing fault. Accelerometers help improve safety in plants around the world. Without these detection devices the plants and other technologies can result in costly repairs. There are several categories of accelerometers. The three different technologies consist of piezo-electric accelerometers, piezo-resistive accelerometers, and strain gage based

Page 32: SpyCopter - University of Central Florida

29

accelerometers. There are also different designs of accelerometers. There is the shear type design, the flexural design, the single ended compression design, the isolated compression, and the inverted compression. Accelerometer types include the premium grade, the high vibration, the triaxial, and the industrial grade. The premium grade accelerometers use a low noise circuitry to produce a top quality, low noise accelerometer. They are made from top-rate crystals, and their stainless steel case is securely sealed against the environment, to protect it from harsh industrial environments and exposure to weather related causes. The design of the high vibration accelerometers is a bit different in that it is used to supervise high vibration levels. They can supervise vibration levels up to 500 g’s. The high vibration accelerometer is designed for use on shaker tables, heavy industrial machine tools, and vibration labs due to its stud mount design. The tri-axial accelerometers measure the vibration in the three axis, X,Y, and Z. They consist of three crystals uniquely positioned so that each axis experiences a crystal’s reaction. The output consists of three signals, in which each one represents the vibration from a different axis. The fourth type is the industrial grade. These accelerometers are most common from machine tools to paint shakers. They come in different models and are also sealed against the weather and industrial environments. An IEPE accelerometer is a class of accelerometers that have built in electronics. It stands for Integrated Electronics Piezo Electric. This class of accelerometers particularly has low impedance output electronics and they work with two wires to provide a constant current supply. Compared to the three wire accelerometers the two wire ones are easier to install, cheaper to purchase, they can travel over long cable lengths, and contain a wide frequency response. Additionally there exist two types of piezoelectric accelerometers. The first is the low impedance output accelerometer and the second is the high impedance charge output. The low impedance accelerometer has a small built-in FET transistor and micro-circuit that convert the charge from the charge accelerometer at its front end, into a very low impedance voltage which is used with standard instrumentation. The high impedance accelerometer uses the piezoelectric crystals to produce an electrical charge that is sent directly to the measuring instruments. For this design the output charge demands special instruments and accommodations which are often located in research facilities. The high impedance accelerometer is often used where low impedance designs are unsuccessful. Accelerometers are often used to measure the vibration and motion of structures that are exposed to dynamic loads. Dynamic loads originate from a variety of sources including earthquakes, wind loads and wind gusts, and human activities which consist of walking, running, dancing, and skipping. They have also been used in sports watches that help determine the distance and speed for the runner wearing the unit. Accelerometers are also used as motion sensors for navigation systems. SpyCopter will need the accelerometer to

Page 33: SpyCopter - University of Central Florida

30

calculate continuously the position, velocity, and orientation of it without external forces being needed. This is part of the Inertial Navigation System (INS) also known as the inertial guidance system. Within SpyCopter the accelerometers work alongside the gyroscopes to calculate the necessary tilt. Within automobiles accelerometers are used as detection devices in order to deploy the airbags. In order to determine when a collision has occurred and the degree of severity of the collision, the accelerometers are used to detect the swift negative acceleration of the automobile. They can also be found on many personal electronic devices such as Apple iPhone, the Blackberry Storm, and the Sony Ericsson W910i amongst others. The latest gaming system the Wii also contains accelerometers in its remote system. The remotes contain three-axis accelerometers to sense movement, which is a complement of its pointer functionality. I have played the Wii, and playing with remotes that have excellent pointer functionality makes for an enjoyable experience. It would be a stressful game if the remotes didn’t point where the user aimed. The accelerometer design makes the game more realistic. Accelerometers are also built into laptops in case of mishaps. This has recently begun with IBM and Apple. If the laptop accidentally drops, the accelerometer detects the unanticipated freefall simultaneously, and switches the hard drive off so the heads are left intact and not shattered. The important specifications for an accelerometer consist of: bandwidth, sensitivity, analog vs. digital, grounding, and buffering. The bandwidth represents the number of times per second a reliable acceleration reading is taken. SpyCopter will probably use a very high bandwidth because it will be a fast moving aircraft. In general the more sensitivity there is the better. Sensitivity is the known output voltage produced by a specific force, which is measured in g’s. High output accelerometers are used to measure any low level vibrations, while low output accelerometers are used to measure any high vibration levels. Temperature sensitivity is the output voltage for each measured degree. SpyCopter will probably use digital accelerometers which use PWM for their output. Analog accelerometers output an acceleration that is proportional to continuous voltage. For the digital accelerometers there will exist a square wave of a specific frequency, and the amount of acceleration will be proportional to the measure of time the voltage is high.

Page 34: SpyCopter - University of Central Florida

31

Figure 1 is an accelerometer designed by the Archimedes Automated Assembly Planning Project at Sandia National Laboratory. Provided by Wikipedia Figure 2 is Triple Axis Accelerometer Breakout- ADXL 335. Provided by Sparkfun.com Figure 1: Property of Wikipedia Figure 2: Property of SparkFun.com 4.1.3.2.3. Gyros The gyros are essentially important to SpyCopter because their job is to ensure that the direction of the nose is pointed in the desired direction. The reactive torque of RC helicopters is constantly changing. Any decrease or increase in the pitch or engine speed of the main rotor blades results in a change in torque. These changes are often caused by wind gusts and are constantly responsible for trying to spin the helicopter. When RC helicopters rotate on their yaw axis the direction in which the nose points changes. The yaw gyro in effect helps control unwanted movement. When any undesired rotation is detected the yaw gyro automatically corrects it. Without the yaw gyro, even if SpyCopter is flying as straight as it possibly can, it will still experience drifting and rotating from left to right. Formally the only type of gyro available was a mechanical device; however they used up an enormous amount of battery power and were quite heavy. Today most helicopter designs use piezo gyros. Unlike the mechanical gyro, the piezo gyro does not function by utilizing moving parts. Instead a piezo-like element is placed on either side of a triangular crystal. This piezo element is found in many watches as the beep sound for the alarm function. Because the piezo element not only makes sounds but senses it, it is often found in microphones and speakers. As part of the piezo, two of the elements of the crystal are used to sense vibration; the other is used to make vibration(s). Within the helicopter design, when it is rotating, one sensor will maintain a stronger signal than the other. When the helicopter is not rotating the two piezo elements make contact with the vibration traveling through the crystal. This design is efficient and consumes less power because there are no moving parts, or spinning motors. Today we

Page 35: SpyCopter - University of Central Florida

32

have the piezo gyro, in which there are two types of helicopter gyros available, the heading hold (HH) and the yaw rate (YR). The heading gyro uses computer software to detect the unwanted motion, correct it, and then return the nose to its original position. This gyro continues to send commands to the tail rotor even after the motion stops. The heading gyro uses specialized software to calculate the number of degrees the yaw or heading changes on the helicopter. The tail rotor then receives this calculation as a direct command that it has been converted into. The calculation in the form of a command appropriately corrects the amount of deviation the heading of the helicopter was experiencing, it also dampens the movement. With the heading hold gyro the helicopter is essentially locked, and its nose is unable to change course no matter the outside movement. The helicopter will not change direction until the rotor receives a new command to do so. By using the heading gyro, the tail rotor servo is completely controlled by the HH gyro and its software. The rate gyro functions a bit differently from the heading hold gyro. It works to dampen the effects of any unwanted movement towards the yaw axis, not offer continual correction. Once the unwanted movement has been detected, the rate gyro corrects it, and then it stops correcting. For example SpyCopter is hovering and a gust of wind hits it from the side. The rate gyro will stay the helicopter from thrusting its nose into the wind. Eventually however the nose will drift into the wind. So the yaw rate gyro will not prevent Spycopter from turning but it will dampen the turning to a reasonable control level. There are two disadvantages to using the rate gyro. One is that unlike the heading hold gyro the rate gyro does not return the helicopter to its original position. The second disadvantage is that the corrective action is always late, because the motion is corrected after it’s been detected. The advantage of course is that unlike the heading hold gyro the rate gyro does not completely take over the tail rotor servo. Some of the disadvantages of using the heading hold gyro are that there are a lot of demands placed upon the helicopter system as a whole. It requires a fast tail rotor servo, and a much powerful battery to supply the servo. This route not only strains the servo, but also consumes more power. These requirements will need to be supported by a higher capacity battery because the servos and gyros will need to be accounted for as well. Working with the heading hold gyro will be a challenge because SpyCopter needs to be as light as possible. However with the heading hold gyro a larger battery may be necessary to compensate for the increase in power supply.

Page 36: SpyCopter - University of Central Florida

33

These pictures are property of Sparkfun.com. They are photos of the gyro breakout board that will be used with SpyCopter. \ Gyro Breakout Board - IDG500 Dual 500 degree/sec - Property of SparkFun.com 4.1.3.2.4 Electronic Compass The electronic compass is a necessary enhancement to the GPS. It is needed because the GPS is only accurate when the device is in motion. Once the device is standing still or in our case hovering, the GPS can no longer determine the direction in which the device is facing. For SpyCopter it’s essential that the user know as much as possible the device’s heading. This is why electronic compasses come in handy. The user needs to know SpyCopter’s heading at all times, and it can’t depend upon GPS. Basically the electronic compass is independent from the GPS. It does not rely upon GPS signals to determine direction. Unlike GPS it doesn’t rely on movement either to determine direction. Therefore when the GPS reaches a point of confusion the electronic compass will constantly point in the correct direction no matter if SpyCopter is hovering or in flight. The electronic compass is a necessary device but with high quality devices there is always a cost to consider. The electronic compass costs more and for SpyCopter will require additional programming. Using the electronic compass will also require battery power which may decrease the battery life. The figure below is the breakout board that will be used with SpyCopter. Compass Module – HMC6352 Property of Sparkfun.com

Page 37: SpyCopter - University of Central Florida

34

4.1.3.2.5 Ultrasonic Range Finder The ultrasonic range finder is a device used to measure distances between moving and/or stationary objects. They operate without making contact with the measured surface. They are useful in security systems and as possible infrared replacements. The ultrasonic range finder contains a ping sensor. This ping sensor is responsible for measuring the distance using sonar. By transmitting an ultrasonic pulse from the unit, the distance is determined by measuring the time taken for the echo to return to the sensor. The ultrasonic pulse is beyond human hearing capability. The output that comes from the ping sensor is known as a variable-width pulse that corresponds to the target’s distance. How the device works is by using a pin to trigger the ping sensor and then it listens for the echo’s responding pulse. The distance to the target can be effortlessly calculated by measuring this echo pulse. The ultrasonic range finder will be useful to SpyCopter because the aircraft will need to know its distance from the ground and any moving or non moving object at all times. Without this device SpyCopter may not be able to function as a completely autonomous aircraft without the user monitoring i’s flight sequence to determine what obstacles are in its path. By using the ultrasonic range finder SpyCopter is completely dependent upon its own built-in components. The figure below is the sensor that will be used with SpyCopter. Ultrasonic Range Finder – Maxbotix LV-EZ2 4.1.3.3. Noise Filtering Noise control is any passive or active means of minimizing sound emissions. Before work is begun to reduce the noise, the source must first be located. Once the source of the undesired sound has been located then the focus is to reduce the noise using engineering applications. Noise reduction is the process of removing unnecessary noise from a signal. There are different types of filtering devices.

Page 38: SpyCopter - University of Central Florida

35

In electronic devices a hissing noise is the undesired noise. The hissing is caused by random electrons that have strayed from their path, due to heat influence. The voltage of the output signal is influenced by these drifting electrons, and thus these electrons are responsible for creating detectable noise. Within SpyCopter noise will exist between the interfaces. We will need to use filters such as the low-pass, high-pass, and band pass filters to recover the purest, original signal. If not there will be a lot of mixed signals which will interfere with the corresponding data. SCMs, signal conditioning modules, are used to measure process control variables such as pressure, position, level, speed, temperature, and strain. These control variables are constantly subjected to exterior induced noise signals. In industrial measurement it’s inevitable to avoid these noise sources which are formed of electro-magnetically induced voltages or currents. The majority of noise voltages are directly induced as the result of altering magnetic fields such as weather caused electrical storms, and electric motor variable speeds. Special shielded wires, appropriate grounding techniques, exist to help reduce induced noise levels. In many cases however these techniques do not effectively reduce these undesired noise signals. Noise signals embedded with signal detection modules are quite effectively used to minimize noise signals. There are three common filters that can be used as the foundation for noise reduction: the low-pass filter, the high-pass filter, and the band-pass filter. The low-pass filter that accepts low-frequency signals and attenuates the higher frequency signals above the cutoff frequency. The concept behind the low-pass filter evident in different forms, some of which include digital algorithms for smoothing data sets, blurring imagery, and electronic circuits. With acoustic structure, the low-pass filter functions as a filter for transmitting sound and is presented in the form of a physical barrier that tends to reflect higher frequencies. Within the electronic structure, the low-pass filter is used to drive subwoofer (special loud speaker) and other types of loud speakers, to block the high pitches that can’t be officially be broadcasted. Low-pass filters are also used in radio transmitter to block harmonic emissions which can cause interference with other communications. SpyCopter will certainly need a well balanced noise filtering system, to avoid any major interference issues. The noise factors will almost always be present but if they can be minimized to a low, SpyCopter can function at its best. Ideally the desire is to eliminate all noise interference. The figure below represents the graph of an ideal low-pass filter property of Wikipedia.

Page 39: SpyCopter - University of Central Florida

36

Ideal Low-pass Filter For discrete-time realization, according to Kirchoff’s Laws and the definition of capacitance, the equations for a low-pass filter:

where Qc(t) is the charge stored in the capacitor at time t. Substituting Equation (Q) into

Equation (I) gives , which can be substituted into Equation (V) so

that: The high-pass filter is the opposite of the low-pass filter. It passes high frequencies well and attenuates the lower frequencies below the cutoff frequency. They are also used in audio applications. The simple first-order electronic high-pass filter is implemented by placing an input voltage across the series combination of a resistor and a capacitor using the voltage across the resistor as an output. For a passive high-pass filter the cutoff frequency is equivalent to:

Page 40: SpyCopter - University of Central Florida

37

Where fc is in Hertz, t is in seconds, R is in Ohms, and C is in Farads. The figures above and below are property of Wikipedia.com Passive, first-order, analog, High-pass Filter For an electronic implementation of a first-order high-pass filter an operational amplifier is used in the figure below. The corner frequency is:

Active High-pass Filter Discrete-time high-pass filters can also be designed. Discrete-time systems are described in terms of difference equations. It refers to non-continuous time. According to Kirchoff’s Laws and the definition of capacitance the equations are:

Where Qc(t) is the charge stored in the capacitor at time t. Substituting Equation (Q) into Equation (I) and then Equation (I) into Equation (V) gives:

Page 41: SpyCopter - University of Central Florida

38

The band-pass filter uses both the low-pass and high-pass filters to pass frequencies within a specific range and rejects the frequencies outside that range. An ideal band-pass filter would consist of a flat pass-band and would attenuate completely all frequencies outside the pass-band. No band-pass filter is ideal in practice. The filter is unable to attenuate all outside frequencies. There is a region known as the filter roll-off region located outside the pass-band area where frequencies are attenuated, but not rejected. Band-pass filters have other uses outside of engineering applications such as in atmospheric sciences. The figure below is property of Wikipedia.

Band-pass Filter The physical applications of these filters have yet to be tested within SpyCopter, but the aircraft will encounter some noise feedback, and these filters provide an introductory solution to attenuating that unwanted noise. 4.1.3.4 Micro-Controller To bring all of our hardware together we have our micro-controller. To be specific the PIC18F4550,the 40 pin PDIP package shown in Figure 4.1.3.4.1, is the chip we will be using for our project. With an internal clock of 48MHz it comes with a performance of 12MIPS providing plenty of processing power for our stability needs. On board the chip has 32k of program memory and 2k of data memory, along with a 256 byte EEPROM. Efficiency is improved with a limited instruction set of only 75 instructions with 8 more extended instructions. Also provided are 13 analog to digital channels providing 10-bit precision, which will be used to read our accelerometer and gyroscope data. The chip also supports full USB 2.0 with a maximum transfer speed of 480Mb/s.

Page 42: SpyCopter - University of Central Florida

39

[10]Figure 4.1.3.4.1

To describe the various pins associated with the 40pin PDIP package we'll be using, see Figure 4.1.3.4.2 containing a table of all the pins and their function.

Pin Name Pin Pin

Type Buffer Type

Description

MCLR

Error! Bookmark

not defined.

1 I ST Master Clear, reset device on active low

VPP P Programming voltage input RE3 I ST Digital input

OSC1 13 I Analog Oscillator crystal input CLK1 I Analog External clock source input OSC2 14 O --- Oscillator crystal output CLKO O --- In RC mode, outputs CLOCKO which is ¼

OSC1 and denotes instruction cycle rate. RA6 I/O TTL General purpose I/O pin. RA0 2 I/O TTL Digital I/O AN0 I Analog Analog input 0 RA1 3 I/O TTL Digital I/O AN0 I Analog Analog input 1 RA2 4 I/O TTL Digital I/O AN2 I Analog Analog input 2

Page 43: SpyCopter - University of Central Florida

40

VREF- I Analog A/D reference voltage (low) input CVREF+ O Analog Analog comparator reference output

RA3 5 I/O TTL Digital I/O AN3 I Analog Analog input 3

VREF+ I Analog A/D reference voltage (high) input RA4 6 I/O ST Digital I/O

T0CKI I ST Timer0 external clock input C1OUT O --- Comparator 1 output.

RCV I TTL External USB transceiver RCV input RA5 7 I/O TTL Digital I/O AN4 I Analog Analog input 4 SS I TTL SPI slave select input

HLVDIN I Analog High/Low-Voltage detect input C2OUT O --- Comparator 2 output

RB0 33 I/O TTL Digital I/O AN12 I Analog Analog input 12 INT0 I ST External interrupt 0 FLT0 I ST Enhanced PWM Fault input SDI I ST SPI data in SDA I/O ST I2C data I/O RB1 34 I/O TTL Digital I/O

AN10 I Analog Analog input 10 INT1 I ST External interrupt 1 SCK I/O ST Synchronous serial clock input/output for SPI SCL I/O ST Synchronous serial clock input/output for I2C RB2 35 I/O TTL Digital I/O AN8 I Analog Analog input 8 INT2 I ST External interrupt 2 VMO O --- External USB transceiver VMO output RB3 36 I/O TTL Digital I/O AN9 I Analog Analog input 9 CCP2 I/O ST Capture 2 input/Compare 2 output/PWM 2

output VPO O --- External USB transceiver VPO output RB4 37 I/O TTL Digital I/O

AN11 I Analog Analog input 11 KBI0 I TTL Interrupt-on-change pin

CSSPP O --- SPP chip select control output RB5 38 I/O TTL Digital I/O KBI1 I TTL Interrupt-on-change pin PGM I/O ST Low-Voltage ICSP Programming enable pin RB6 39 I/O TTL Digital I/O KBI2 I TTL Interrupt-on-change pin PGC I/O ST Low-Voltage ICSP Programming enable pin RB7 40 I/O TTL Digital I/O

Page 44: SpyCopter - University of Central Florida

41

KBI3 I TTL Interrupt-on-change pin PGD I/O ST In-Circuit Debugger and ICSP programming

data pin RC0 15 I/O ST Digital I/O

T1OSO O --- Timer1 oscillator output T13CKI I ST Timer1/Timer3 external clock input

RC1 16 I/O ST Digital I/O T1OSI I CMOS Timer1 oscillator input CCP2 I/O ST Capture 2 input/Compare 2 output/PWM 2

output UOE O --- External USB transceiver OE output RC2 17 I/O ST Digital I/O

CCP1 I/O ST Capture 1 input/Compare 1 output/PWM 1 output

P1A O TTL Enhanced CCP1 PWM output, channel 1 RC4 23 I TTL Digital input D- I/O --- USB differential minus line(input/output)

VM I TTL External USB transceiver VM input RC5 24 I TTL Digital input D+ I/O --- USB differential plus line(input/output) VP I TTL External USB transceiver VP input

RC6 25 I/O ST Digital I/O TX O --- EUSART asynchronous receive CK I/O ST EUSART synchronous clock RC7 26 I/O ST Digital I/O RX I ST EUSART asynchronous receive DT I/O ST EUSART synchronous data

SDO O -- SPI data out RD0 19 I/O ST Digital I/O SPP0 I/O TTL Streaming parallel port data RD1 20 I/O ST Digital I/O SPP1 I/O TTL Streaming parallel port data RD2 21 I/O ST Digital I/O SPP2 I/O TTL Streaming parallel port data RD3 22 I/O ST Digital I/O SPP3 I/O TTL Streaming parallel port data RD4 27 I/O ST Digital I/O SPP4 I/O TTL Streaming parallel port data RD5 28 I/O ST Digital I/O SPP5 I/O TTL Streaming parallel port data P1B O --- Enhanced CCP1 PWM output, channel B RD6 29 I/O ST Digital I/O SPP6 I/O TTL Streaming parallel port data P1C O --- Enhanced CCP1 PWM output, channel C RD7 30 I/O ST Digital I/O

Page 45: SpyCopter - University of Central Florida

42

SPP7 I/O TTL Streaming parallel port data P1D O --- Enhanced CCP1 PWM output, channel D RE0 8 I/O ST Digital I/O AN5 I Analog Analog input 5

CK1SPP O --- SPP clock 1 output RE1 9 I/O ST Digital I/O AN6 I Analog Analog input 6

CK2SPP O --- SPP clock 2 output RE2 10 I/O ST Digital I/O AN7 I Analog Analog input 7

OESPP O --- SPP output enable output VSS 12,31 P --- Ground reference for logic and I/O pins VDD 11,32 P --- Positive supply for logic and I/O pins VUSB 18 O --- Internal USB 3.3V voltage regulator output

Legend: TTL = TTL compatible input CMOS = CMOS compatible input/output ST = Schmitt Trigger input I = Input O = Output P = Power

Figure 4.1.3.4.2

Our chip also features various power modes and clock scaling abilities. While for a majority of our project our CPU will be in the RUN mode it's important to at least acknowledge the other modes. For example the CPU is capable of an IDLE mode where periferals all remain on while the CPU is off and a SLEEP mode where the peripherals and CPU are off. The sleep mode is the standard legacy sleep mode offer in all PIC devices and is enabled by clearing the IDLEN bit and executing the SLEEP instruction. This will bring the currently selected clock to a stop until an interrupt is detected. Alternatively the IDLE mode can be selected by setting the IDLEN bit to '1' and again executing the SLEEP instruction. However this time the peripherals will remain clocked while the CPU isn't and will remain in IDLE mode until an interrupt occurs. However for our project we need the CPU to remain in the running, for that reason these modes may or may not be implemented. Another important feature of our CPU is it's clock selection and scaling abilities. Our chip features support for two external clocks up to 48MHz along with eight different internal clock modes ranging from 8Mhz to 31kHz. This gives us a total of 12 different clock modes. The first four, HS, HSPLL, XT and XTPLL, modes are for when a crystal resonator is connected to the pins OSC1 and OSC2. An internal postscaler allows the user to scale this frequency by 1/2, 1/3, or 1/4 of the original frequency. There is also a PLL module for frequency multiplication that will be discussed a little later. For our project we will likely have a 20MHz resonator crystal connected externally to pins OSC1 and OSC2 shown in the diagram in Figure 4.1.3.4.3. C1 and C2 will be set at 15pF based off specifications in the PIC18F4550 data sheet.

Page 46: SpyCopter - University of Central Florida

43

[10] Figure 4.1.3.4.3

The next four modes are for support of external clock sources and are, EC, ECIO, ECPLL, ECPIO. The IO modes provide input and output on the RA6 pin. The PLL modes are used as a frequency multiplier and is designed to produce a 96MHz clock from a 4MHz source. The block diagram showing the PLL frequency multiplier is shown in Figure x.x. This rounds our external clock sources.

[10] Figure 4.1.3.4.4

The final four modes, INTHS, INTXT, INTCKO, and INTIO, we have are the internal clocking modes which can be used to drive two separate clocks. These modes all use the

Page 47: SpyCopter - University of Central Florida

44

internal clock for the micro-controller and depending on which of the four modes a seperate clock is used as the clock for the USB. In the INTHS mode the USB clock is provided by the oscillator in HS mode. Likewise in the INTXT mode the USB clock is provided by the oscillator in XT mode. The other two are for when a external clock is supplied the difference between the two being that INTCKO sets the OSC2 pin as Fosc/4 while INTIO sets the OSC2 pin as regular digital IO pin. More than likely the preferred mode we'll be using will be the INTHS mode such that we can use the 20MHz external resonator shown earlier to drive our USB module and our internal clock for our micro-controller. One of the most import features of our micro-controller for our project is the 10-bit analog to digital converter module. The chip we selected has support for up to 13 channels of A/D conversion. The module has five important registers, the A/D Result High Register (ADRESH), A/D Result Low Register (ADRESL), A/D Control Register 0 (ADCON0), A/D Control Register 1 (ADCON1), and the A/D Control Register 2 (ADCON2). A table showing the register layouts and what the values correspond to is shown below in Figure x.x.

ADCON0 --- --- CHS3 CHS2 CHS1 CHS0 GO/ DONE ADON

Bit 7 Bit 0 CHS3:CHS0: Analog Channel Select bits GO/ DONE : A/D Conversion Status bit 0 = A/D idle 1 = A/D in progress ADON: A/D Enable bit ADCON1 --- --- VCFG0 VCFG0 PCFG3 PCFG2 PCFG1 PCFG0 Bit 7 Bit 0 VCFG0 (bit 5): Voltage Reference Configuration bit Low 0 = VSS 1 = VREF- (AN2) VCFG0 (bit 4): Voltage Reference Configuration bit Low 0 = VDD 1 = VREF+ (AN3) PCFG3:PCFG0: A/D Port Configuration Control Bits Sets number of analog channels to use. 1111 = No digital Channels 1110 = 1 Analog Channel … 0010 = 12 Analog Channels

Page 48: SpyCopter - University of Central Florida

45

ADCON2 --- --- ACQT2 ACQT1 ACQT0 ADCS2 ADCS1 ADCS0 Bit 7 Bit 0 ACQT2:ACQT0: A/D Acquisition time select 111 = 20 TAD 011 = 6 TAD 110 = 16 TAD 010 = 4 TAD 101 = 12 TAD 001 = 2 TAD 100 = 8 TAD 000 = 0 TAD

ADCS2:ACQT0: A/D Conversion clock select bits 111 = FRC 011 = FRC 110 = FOSC/64 010 = FOSC/32 101 = FOSC/16 001 = FOSC/8 100 = FOSC/4 000 = FOSC/2 The basic idea behind using the A/D module is first initialize the converter, setting the registers ADCON2:ADCON0, and then turning on the converter with the ADON bit. Next step would be to configure the A/D interrupt so it goes to our ISR when the conversion is done. Then if you the capacitor CHOLD isn’t charged you have to wait a given acquisition time which is typically in the 2.5 microsecond range. Once these requirements are met you can begin conversion by setting the GO/ DONE bit and then wait for the interrupt. Once the interrupt hits read the values in the ADRESULT registers and reset the interrupt. Communication to our various devices such as GPS, and Electronic compass will be done over the digital I/O channels provided. Both the electronic compass and GPS modules are capable of transmitting information via I2C making for easy communication. The chip also features an Enhanced Capture/Compare/PWM (ECCP) module to drive our servos. The ECCP module also provides dead-band delay and auto-shutdown/startup configurations in addition to the normal CCP features. These may be implemented later if time permits but for now we just want to focus on basic PWM output. To use the module for PWM mode you must set the configuration register, CCP1CON, accordingly. The PWM period must also be specified in the PR2 register and is based on the TMR2 presale value. A simplified block diagram of the enhanced PWM module is shown below. The PWM preferred duty cycle is stored in the CCP1CON register.

Page 49: SpyCopter - University of Central Florida

46

[10] Figure 4.1.3.4.5

The equations for the duty cycle, PWM period, and the maximum resolution are also shown below in the following equations in Figure 4.1.3.4.6.

[10]Figure 4.1.3.4.6 We will operation the ECCP in Full-Bridge mode switching between the forward/reverse directions to control our servos. The timing diagrams for both of these modes are shown in Figure 4.1.3.4.7. When switching between forward and reverse mode the module waits till the end of the current duty cycle to change the direction. Just before the end of the PWM period the active channels are switched, placing the former active channels in an inactive mode and the former inactive channels in an active mode. There is then a delay of 4 TOSC before the next PWM period begins. If the duty cycle is near 100% when the switch occurs there will be problems due to the fact that dead-band delay is not provided. Therefore, when switching PWM direction at high duty cycle you should first reduce the PWM period before changing directions to avoid complications with potential shoot-through current. A diagram of this is shown below in Figure 4.1.3.4.8.

Page 50: SpyCopter - University of Central Florida

47

[10]Figure 4.1.3.4.7

Page 51: SpyCopter - University of Central Florida

48

[10]Figure 4.1.3.4.8

Our motor will be driven by a separate motor controller. More than likely whatever motor controller is provided with the helicopter’s original electronics will be used in slave to drive the motor. One of the major advantages of the chip we selected is that it comes ready out of the box to be used with USB. It does this with an onboard Serial Interface Engine or SIE complete with its own 1k of RAM dedicated to USB. While the micro-controller does have access to all sections of the RAM, sections being used by the SIE should not be accessed. The block diagram showing each of the USB peripheral’s components is shown below in Figure 4.1.3.4.9. Like the various other modules talked about earlier in this section the USB has multiple control registers that are used to initialize the device. Along with the control registers is a status register much like the one provided on the analog to digital convert. The transceiver for the USB peripheral is built-in and support regular USB and USB 2.0 full-speed transfers. The module has support for use with an off-chip transceiver however for our project we will likely just make use of the internal transceiver.

Page 52: SpyCopter - University of Central Florida

49

[10]Figure 4.1.3.4.9

Now that the various chip peripherals are defined we can address the issue of the memory layout on our micro-controller. The diagram below in Figure 4.1.3.4.10 shows the general layout of the micro-controller’s memory. Program instructions are stored on the on-chip flash memory. Memory is addressed in bytes and instructions are stored as two bytes or four bytes depending on the type of instruction. The instruction set is comprised as 70 instructions with 15 more extended instructions. The device is programmed over an ICSP connection which is shown in Figure 4.1.3.4.11. The other memory used is 256 bytes of EEPROM non-volatile storage for holding any data such as constants that may be needed.

Page 53: SpyCopter - University of Central Florida

50

[10]Figure 4.1.3.4.10

The schematic showing the planned connections on our printed circuit board are shown below in Figure 4.1.3.4.11. In order to make the schematic more readable connections to sensors such as the analog devices and other devices, such as a start flight button, aren’t shown but will be included later when the design is finalized. The schematic does however show how the USB will be connected as well as the in circuit serial programming connection.

Page 54: SpyCopter - University of Central Florida

51

Figure 4.1.3.4.11

4.1.4 Software As shown in Chapter 2, our system is naturally divergent. In order for our system to become stable we must put some feedback into the loop. Our software will be that feed back to close the loop, and will determine new control inputs based on sensor data. The general block diagram is shown below in Figure 4.1.4.1

Page 55: SpyCopter - University of Central Florida

52

Figure 4.1.4.1

The general design of the software will be a hierarchy design where high level functions or modes will make use of lower level software which will directly modify the flight controls. This is shown in the hierarchy charge in Figure 4.1.4.2 below.

Figure 4.1.4.2

Page 56: SpyCopter - University of Central Florida

53

The first block we’ll model is the top of the hierarchy, the high level flight controls. Inside of this block we’ll have our current GPS coordinates stored as well as all the locations of the waypoints. This block will also have a method to resolve the desired heading from the GPS information provided which can then be sent later to the lower level system. It also performs the string parsing of the waypoint file at the start of the flight. The high level system will also contain the main program loop which drives the rest of the system. Prototypes for this block as well as various others are located in the appendix of this report and are written in a rough pseudo-code fashion. It will then be the GPS Controller that supplies the high level flight system its current position according to the onboard GPS unit. This controller will handle all GPS device communication down to the hard well level, as well string parsing. Unlike other modules the GPS has no initialization required due to the fact that once the GPS unit has power it immediately starts outputting its position. The GPS string parsing will be done depending on what type of output the device is set for. For example purposes I’ll go over the most important output formatting which is the GGA format. All strings output by the GPS start with a header indicating the protocol of the message and each data field is separated by commas. For GGG the header line will be ‘$GPGGA’. A sample input string and table showing the stored values are shown below in Figure 4.1.4.3.

[11]Figure 4.1.4.3

Page 57: SpyCopter - University of Central Florida

54

Similarly the USB Controller will read in the input waypoint file from a USB device and convert it to a string to be sent to the high level system. The USB controller, like the GPS Controller, will handle all of the USB communication tasks and return a string to the main flight system. It is also worth noting that after the waypoint file has been loaded the USB Controller will disable the USB device on the chip in order to conserve power. It will only be enabled again when it lands and flight data is needed. The compass controller and the sensor controller both update their values periodically with an update method class and then data is accessed via an access method. The compass module uses an I2C mode of communication and outputs various data based on what mode it is in. For our purposes we will have the device set to heading mode where it will output the heading in tenths of degrees from zero to 3599. Data acquisition from the analog sensors will all be performed by making use the analog to digital controller. Due to the nature of the A/D converter only one channel can be processed at a time. To deal with this whenever the converter is ready for a value to be read it will sample the sensor connected to the current and store its value. It will then increment the current channel so that next sensor is selected and then will wait for that when the A/D convert is ready to sample again. Likewise the servo and motor controller have methods to set the desired motor rpm and servo position. They also make use of the chips low level hardware to control the PWM output to each device. The low level flight system contains the current estimated values based on values it receives from access calls to the various sensor controllers. It keeps track of these values, such as velocity derived from accelerations, for use in its stability control methods. Control of the helicopter is also largely controlled by the low level flight system. The implementation of this system is done in two different ways depending on the mode. The first two modes we’ll discuss are the Takeoff and Landing modes. Due to the ground effect created by the rotor wash the movement of the helicopter can be highly unpredictable. For this reason modeling would be near impossible so these will be implemented by a pre-programmed set of instructions that try to get off the ground and back down to the ground as quickly as possible, as any lingering near ground level will cause the helicopter to lose control. For takeoff this is as easy as setting the collective pitch of the main rotor to the setting of least lift generation and setting the motor rpm where the helicopter can almost lift off the ground. Then in a short amount time the collective pitch will be increased, in a maneuver called a flare, resulting in quickly gaining altitude and escaping the rotor wash. While similar, the landing sequence is different in that acceleration towards the hard ground would likely end in equipment failure unless controlled properly. The routine would start by reducing collective and throttle just enough so that the craft accelerates downward. Then once a certain altitude is reached the throttle and collective will be increased to stop download acceleration momentarily and then will be cut.

Page 58: SpyCopter - University of Central Florida

55

The next modes to be modeled are the more complicated Hover and Travel To modes. These modes will be implemented with genetic fuzzy logic broken down into four modules, altitude control, pitch control, yaw control, and roll control. The modeling will be genetic in that initial the fuzzy logic tables will be unpopulated until tethered tests are run to collect data. The first module and mode combination we’ll look is the pitch control while in the hover mode. The fuzzy block diagram is shown below in Figure 4.1.4.4. The Rxdot input represents the requested x-velocity which in the case of hovering is zero. A problem arises however since we don’t have the variable Xdot since our accelerometers only measure acceleration and theta because our gyros only measure angular rates. To do this we must sum the products of acceleration and time as well as angular velocity and time to get a rough estimate of our current velocity and angular positioning. These values will later be checked for error via other means discussed later.

Figure 4.1.4.4 Similarly we can model the travel to mode by adding another module that outputs and Rxdot based on a 1-D look up table based on the x position. This is shown below in Figure 4.1.4.5.

Page 59: SpyCopter - University of Central Florida

56

Figure 4.1.4.5

Roll can be controlled in the same way although the hover and forward flight modes will have differing lookup tables due to the nature of forward flight and how it affects flight characteristics of the helicopter. The diagram for this is shown below in Figure 4.1.4.6.

Figure 4.1.4.6

Page 60: SpyCopter - University of Central Florida

57

We can also easily control the yaw of the helicopter with a simple fuzzy logic design based on heading lock shown in Figure 4.1.4.7. Where the angle psi is determined by sampling the value from the electronic compass.

Figure 4.1.4.7 Finally we can control our altitude by checking our distance off the ground with a sonic range finder for distances less than about 5 meters and then GPS data above that. RPMs will be held constant so that the only variable affecting main rotor lift is collective. The block diagram for which is shown below in Figure 4.1.4.8.

Figure 4.1.4.8

Page 61: SpyCopter - University of Central Florida

58

4.2 GPS Guidance System Once we have stable flight the helicopter needs to implement its higher level direction finding. This higher level will decide what lower level mode the helicopter needs to be in i.e. hover and forward flight etc. The helicopter does this by retrieving its latitude and longitude from the GPS receiver and compares its location to the next waypoint on file. It then takes this comparison and creates a general heading to the next waypoint. This heading is then fed into the helicopter’s yaw control which will attempt to align to the proper heading using data from the electronic compass. The waypoints will be stored in a file with the location, in latitude and longitude, as well as the desired altitude. To generate the waypoint file we will use Google’s Mapplets Development tools to create an overlay for Google’s map service. A mockup, including the input screen, of this overlay is shown below in Figure 4.2.1. Alternatively the waypoint file can be created with any regular text editor as long as the formatting is correct. The formatting will be such that the first line is an integer representing the number of waypoints in the file. Then for each waypoint we have the latitude first, and then the longitude separated by a space. Finally separated by another space will the altitude desired while en route to that waypoint. This information will then be loaded onto a USB device or loaded into memory with the program.

Figure 4.2.1

Page 62: SpyCopter - University of Central Florida

59

Before May 1 2000 civilian GPS’ accuracy was purposely worsened by errors introduced by a feature called Selective Availability in an effort, by the military, to prevent guided weapons being created by the enemy. These errors could cause readings to be as far off as 100 meters and were on the average 10-20 meters off. However on that date president Bill Clinton, with the support of other agencies, removed Selective Availability.[1] Turning off the error for civilian GPS and in turn creating the ability for more accurate readings. Readings are now possible down to within 5 meters in accuracy for even common civilian GPS devices, which is well within our requirements. The GPS we will be using for our project is the EM-406A GPS shown in Figure 4.x module from USGloabalSat. The EM-406A is based off the SiRF Star III chipset and has an accuracy of 5 meters and time accuracy of 1microsecond. It is powered by 5 volts DC at 44mA. The initialization time is dependent on whether or not initial location is given, called a hot or cold start. The time for cold start initialization is 42 seconds on average and the time for hot start initialization is 1 second on average. Reacquisition time is on average 0.1 seconds. The output format for the GPS is a formatted string broadcast via TTL over RS232. The output string format varies depending on the mode the GPS is in, which can be identified by the protocol header at the beginning of the string. The GPS unit updates its position every 1 second.

Page 63: SpyCopter - University of Central Florida

60

[15]Figure 4.2.2 Position of the GPS device is crucial to its function as it requires line of site in order to get a good signal. However this poses some design problems on a platform such as our helicopter. It needs to be mounted on the top of the helicopter to get good signal but at 16 grams this poses problems with shifting our center of gravity too high and hurting the stability of our helicopter. To try to minimize this effect the receiver will be placed on top of the fuselage just aft of the main rotor, as far forward as it can be. From there it’s as easy as connecting the TX and RX lines to the microprocessor and reading in the value in software when it’s needed. It will then be up to the microprocessor to parse the string and come up with its numerical position.

Page 64: SpyCopter - University of Central Florida

61

Chapter 5: Testing Procedures

5.1 Automatic Hovering Since attaining stable flight is going to be the major objective for project SpyCopter, many tests will need to be done to ensure this will occur without fail. Due to the potential financial burden that a failed mission would incur, testing of the flight stability is an absolute necessity. In order to ensure the structural integrity of the helicopter, certain test procedures need to be implemented. To start off with, team SpyCopter needs to become familiar with manual flight controls of the helicopter. To accomplish this, the whole team will learn how to manually fly the helicopter via a computer flight simulator. The flight simulator allows the user to virtually fly and control the helicopter without physically flying it. This is a must for any person who has never operated a radio controlled helicopter. Fortunately the helicopter the team will be purchasing includes a flight simulator for that particular model helicopter. The flight simulator will aid the team in learning the extremely complicated controls for a helicopter. The simulator will teach the team how to utilize the different components of flight, such as pitch, roll, and yaw, to maintain stable flight. Figure 5.2.1 displays the typical flight controls:

[17] Figure 5.2.1

Typical helicopter flight controls

Page 65: SpyCopter - University of Central Florida

62

After the team has successfully completed the necessary flight simulator controls, they will learn to fly the helicopter manually. Manual controls are accomplished via the included 6 channel transmitter (72mHz, Mode 2) and receiver. A relatively large open area, with a minimal amount of people is necessary for learning manual flight of the helicopter. An large open field on the corner of University Blvd and Dean Road in Orlando, Florida will be the location for testing of manual flight. The location offers adequate open area for flight, and at the same time is not heavily trafficked. The terrain is ideal for learning manual flight due to its composition. The area is mostly grass and soft soil. This will be beneficial in case any unfortunate crash of the helicopter occurs, due to the potential forgiveness from the impact. This area will be referred to as testing location 1. A map and directions to testing location 1 are outlined in Figure 5.6.1. Once manual flight is achieved by all team members, then fabrication of the automatic flight controls will begin. During the process of designing SpyCopter’s automatic control system, testing of the system will need to occur regularly. This will aid in limiting the amount of code and/or hardware that will need debugging or troubleshooting. With rigorous amounts of testing required, additional batteries for the helicopter and receiver will need to be purchased. Additional testing accommodations that will be necessary are outlined in section 5.4. These will increase the amount of time that the helicopter will be operable, creating more productive test flight days. The beginning stages of this particular phase of testing will occur in the back yard of a single home property located off of University Blvd referred to as testing location 2. A map and directions to testing location 2 are outlined in Figure 5.6.2. This testing phase does not require a very large area for testing, as the helicopter will be secured to a homemade testing stand. The homemade test stand will be constructed utilizing the following components: 36”L x 36”W x 2”D plywood base, 36”L x 2”W x 4”D lumbar, (4) 1/8” u-bolts and nuts. The test stand will function as a mode of securing the helicopter to an immobile platform, while at the same time still allowing for freedom of flight. The test stand will be constructed as depicted in Figure 5.2.2. Detailed plans needed for fabrication of the stand are depicted in section 5.5. The necessary holes will be drilled into the plywood base allowing for the insertion of the u-bolts. Refer to Figure 5.5.1 for construction documents relating to the test stand. The helicopter will then be secured to the base by placing the landing skids between the previously drilled holes. The u-bolts will then be fastened to the base via the corresponding 1/8” nuts. The maximum distance of the eye of any u-bolt and the top of the base shall not exceed 2”. This basically will limit the altitude the helicopter will be able to achieve, while still allowing proper testing of the take-off and landing procedures. The configuration of the

Page 66: SpyCopter - University of Central Florida

63

test stand, as depicted in Figure 5.2.2 with the u-bolts not completely securing the unit to the stand, will be the only occurrence of this setup. However this will not be the last use of the actual base of the stand. An additional setup will be utilized in later testing.

[16] Figure 5.2.2 Test stand

After the team feels confident that SpyCopter will take off and land properly via the test stand, the next phase of testing will begin. The single home property located off of University Blvd referred to as testing location 2 will be once again be utilized during testing. This next phase still involves testing of the take off and landing procedures. However the testing stand will be configured in a slightly different manor which will allow for a greater altitude to be achieved. Holes for the u-bolts will be drilled in the corners of the test stand base. The u-bolts will then be mounted to base, but this time the helicopter skids will not be enclosed in the u-bolts. Strong, but light weight fishing wire will be used to secure the helicopter to the test stand. Four strands of 5’-2” fishing wire will be needed. One end of a length of the fishing wire will be secured to each u-bolt, while the other end secured to portions of the helicopter skids. Figure 5.2.3 shows the configuration of the stand and skids for this stage of testing.

Page 67: SpyCopter - University of Central Florida

64

Since a serious crash of the helicopter could potentially jeopardize the successful completion of the project, testing in small increments is an absolute necessity. Unlike the previous stage of testing which only allowed the helicopter to achieve an altitude of 2” above the test stand, this stage allows the helicopter to achieve an altitude of roughly 5’.

[16] Figure 5.2.3 Test stand with wire

The final stage for the testing of the automatic hovering system of SpyCopter will occur without the aid of the test stand. However certain precautions will still need to be undertaken to ensure the structural integrity of the helicopter. Since SpyCopter will not be secured to the test stand, and therefore no altitude limitations, the use of numerous blankets, sheets, and towels will be utilized. The large open area on the corner of University Blvd and Dean Road will once again be the location for this phase of testing. The team will square off an area of 15’ x 15’, and systematically lay all of the impact absorbing materials, one on top of another, in the squared off area. Testing of the take off and landing procedures will take place in the center of the square. The use of the sheets, blankets, and towels will help absorb any impact that may occur in the event of a crash.

Page 68: SpyCopter - University of Central Florida

65

5.2 Waypoint Following Once testing for automatic hovering of SpyCopter is complete, testing of the waypoint following design will be the next area for testing. This stage of testing is just as critical as the previous stage. Just as before, testing will occur in incremental steps. This will allow for a narrower scope to troubleshoot in case an error does take place. Initial testing for waypoint following will take place at the previously selected area on the corner of University Blvd and Dean Road. This location provides ample space with minimal interference. The area is also in close relation to the homes of two of team SpyCopter’s members as well as the University of Central Florida. This will prove beneficial for the transportation of all the necessary equipment, and in the event where redesign must occur. Testing of the waypoint following system will only commence after the team is fully confident in SpyCopter’s take-off and landing abilities. In order to properly test the accuracy of the waypoint following system the team will need to test each aspect of the controls one step at a time. This is crucial in troubleshooting any problem that may arise during testing. Due to the potential financial impact and loss of completed work, the team must take every precautionary tactic possible to avoid any type of crash. The team must also take care not to physically lose SpyCopter. This could be a possibility in the event the unit does not follow the allocated flight path, and ends up straying off course. If the team were to lose visibility and not be able to recover the unit, this could be ended up causing a failure of the project. At this point in time, the team has put forth a relentless and time consuming effort, and failure is not an option. To avoid any such complications, the first stage of this testing phase will not involve any actual flight time of SpyCopter. The location for this particular test will take place at testing location 2. A map and directions are shown in Figure 5.6.2. The team will once again use the test stand as configured in Figure 5.2.2. However for this test phase, the u-bolts will securely fasten SpyCopter’s landing skids to the testing stand base. The unit mounted to the testing stand will then be placed on a rolling dolly. The rolling dolly will be on loan to project SpyCopter via a relative of the team at no additional cost. The testing stand will then be fastened to the dolly by two ratchet type tie down straps. These straps will be provided to the team for the duration of the project by another team member. The team will then setup all the necessary computer and electrical connections that will be needed. After this has been done, setup for the test will be complete, and testing may begin. Now that setup has been complete the team will begin testing of the waypoint following system. Power for the helicopter rotors will not be supplied at this point in time. The

Page 69: SpyCopter - University of Central Florida

66

purpose of this is to test the waypoints without jeopardizing the structural integrity of the unit. One of the objectives of SpyCopter is to send a text message to the team’s cell phones once the desired position has been reached. The team will input a set of waypoints via the Global Positioning System. One team member will roll the unit on the dolly to the designated waypoint. If the test is successful, a text message will be sent to the team member’s cell phones. If a text message was not receieved, then the team will know a problem exists. To avoid large amounts of problem solving, the coordinates chosen for the test will begin at minimal distances from the starting position. Once non-powered testing of the waypoint following system has been complete, the team will then supply power to the helicopter. Although power is being supplied, the unit will still be secured to the testing stand. This will actually prevent the unit from achieving any altitude whatsoever. Waypoint coordinates will be input into the Global Positioning System, and the team will perform a pseudo launch of SpyCopter in the attempt to stimulate movement of the rotors and blades. The team will only be able to visualize what the rotors and blades are doing. They will not be able to judge from this test if the flight controls and waypoint system are working in conjuncture or if the system is functioning correctly or not. They will only be able to make an educated assumption. This is where testing of the manual flight of the helicopter will aid in that coming to that conclusion. By knowing the flight characteristics and maneuverability of the unit prior to any modifications, the team will only be able to approximate the general direction SpyCopter would be traveling. It will be this knowledge that will allow the team to feel confident for the next stage of testing. With the confidence in both SpyCopter’s automatic hovering ability and in the functionality of the waypoint system, the team will be ready for their next stage of testing. Testing for this stage will take place at location 1. This stage will consist of testing the flight control system of the helicopter. Due to the severe consequences a potential crash would have on the project at this point in time, absolutely every single possible precaution must be taken to ensure the safety of SpyCopter. To begin this stage of testing, the team will need to establish a safety area with various blankets, sheets, and towels, just as in previous testing. The team will utilize the test stand as configured in Figure 5.2.3 just as in prior testing. However in lieu of using the 5’-2” lengths of fishing wire as before, the team will use 30’-2” lengths of fishing wire. This allows the team to place SpyCopter in the middle of the safety area, while limiting the range of the helicopter. These steps will hopefully save SpyCopter from any damage that may occur during a potential crash. The team will once again input a set of relatively close waypoint coordinates, and launch the system. If the unit successfully takes-off, flies to the input coordinates, returns to the starting coordinates, and safely lands, then the test flight will be deemed successful.

Page 70: SpyCopter - University of Central Florida

67

Next will be the ultimate test of project SpyCopter. This test will only occur if all aspects of the previous test, while secured to the test stand, were considered a success. This will be the last stage of testing of the project. This stage involves a complete test of the take-off and landing procedures, the automatic hovering abilities, the waypoint following system, and their coordination with the flight control system. A completely unsecured, unrestricted test will be the final stage. The team will input a set of waypoint coordinates, and launch the system. The first set up coordinates will be set just outside of the range restrictions incurred during tethered flight. Them input coordinates will be uploaded in incremental amounts until SpyCopter is encroaching on the actual range of the unit.

5.3 Testing Accommodations In order to maximize the productivity and efficiency of all testing days, certain accommodations must be addressed. These issues include the acquisition of necessary testing supplies as well as non-essential supplies. Once acquired the transportation and storage of all project related materials will need to be coordinated. The first process that needs to occur for testing is acquiring all of the supplies and materials needed for testing. Items to construct the test stand as well as a carrying case, which will be described later in the section, will be purchased from the local Home Depot store. This includes all the necessary lumbar and hardware. The stand will be constructed by team member Brian Williams with the aid of a family member. The location for the fabrication of the stand and carrying case, along with the use of all the required tools that are needed for construction, will be supplied by the aforementioned family member. This will be incur no additional cost to the project. Along with the materials for the stand and case, various tools will be needed throughout the duration of the project. These tools will be on loan to the team by project member Brian Williams. In the event that additional tools are required, the attempt to obtain the tools via resources that will not increase the cost of the project will be made. If the tools cannot be gathered, the sponsorship funding will cover the cost to purchase the them. All of the blankets, sheets, and towels that will be utilized for testing will be donated to the team via the team members themselves. Along with the necessary items required for testing, some non-essential items will need to be acquired as well. Non-essential test items include items that are not needed for testing, but will ultimately increase the overall efficiency on test days. Some of these items include an additional battery for the helicopter and extra batteries for operation of the transceiver during manual flight testing.

Page 71: SpyCopter - University of Central Florida

68

This will allow the team to have a longer run time of the helicopter. Proper accommodations such as electricity, computer availability, and close proximity to a covered facility will also prove viable resources during testing. Close proximity to shelter will benefit the team in the event of a sudden change of the weather conditions. After all of the materials and supplies have been acquired, the issues of storage and transportation become a concern. Storage of all the testing stand and tools will be the responsibility of team member Brian Williams. Since the initial testing of the automatic hovering abilities of SpyCopter take place at the house of a relative of Brian Williams, the testing materials will be stored at that location. Storing the supplies and materials for the project will ultimately expedite the testing procedures as transportation of the materials will need not occur. Testing at this facility is available at any given time to project SpyCopter. The last issue to be addressed is that of the transportation of all the needed materials, tools, equipment, and SpyCopter itself. Due to the sensitive nature of the helicopter, and the need for as few setback as possible, the helicopter needs to be protected during all times during transportation and storage. A carrying case previously addressed will be constructed for use during transportation. The case will be made of some of the same materials used for the test stand. These include sheets of 2” plywood, hinges, screws, u-bolts, and nuts. The fabrication of the carrying case will be completed by team member Brian Williams. The design of the case is a simple design that secures the helicopter in place, while at the same time protecting it from outside forces. The design of the carrying case is depicted in Figure 5.4.1. It relies on 4 hinges fastened to the base and the two long sides. This permits two sides to fold down allowing for easy placement of the helicopter inside. The helicopter will be secured to the base in a similar fashion to the testing stand. However during storage and transportation, the u-bolts will be completely tightened to the skids of the helicopter. This will prevent any movement inside of the case. The two shorter sides will be securely fastened to the base of the carrying case as they will not be on hinges. The top of the case will then be placed on top of the assembled portion and tightly secured with the use of eight hand tightening wood screws. Transportation of SpyCopter along with all of the supplies and tools will mainly be the responsibility of team member Brian Williams. This team member has a vehicle that contains ample storage for the safe transport of SpyCopter and all project related materials.

Page 72: SpyCopter - University of Central Florida

69

[2] Figure 5.4.1 SpyCopter carrying case

Page 73: SpyCopter - University of Central Florida

70

5.4 Detailed Plans

[2] Figure 5.5.1 Test stand

Page 74: SpyCopter - University of Central Florida

71

[2] Figure 5.5.2 Carrying case

Page 75: SpyCopter - University of Central Florida

72

5.5 TESTING LOCATIONS

[2] Figure 5.6.1 Map of testing location 1 on the corner

of University Blvd and Dean Road DIRECTIONS:

• From the University of Central Florida, head west on University Blvd. • At Dean Road intersection head north on Dean Road. • Testing location is located on west side of Dean Road.

Page 76: SpyCopter - University of Central Florida

73

[2] Figure 5.6.2

Map of testing location 2 off University Blvd

DIRECTIONS:

• From the University of Central Florida, head west on University Blvd. • At Suncrest Blvd intersection head south on Suncrest Blvd. • Head east on Cherry Oak Cir. • Head north on Cherry Oak Cir. • End at physical address 10529 Cherry Oak Cir. • Location is on west side of Cherry Oak Cir.

Page 77: SpyCopter - University of Central Florida

74

[2] Figure 5.6.3 Map of possible testing location 3

DIRECTIONS:

• From the University of Central Florida, head west on University Blvd. • At the intersection of University Blvd and Goldenrod Road head south on

Goldenrod Road. • Location is on east side of Goldenrod Road.

Page 78: SpyCopter - University of Central Florida

75

[2] Figure 5.6.4 Map of possible testing location 4

DIRECTIONS:

• From the University of Central Florida, head west on University Blvd. • At the intersection of University Blvd and Goldenrod Road head north on

Goldenrod Road. • Pass over Aloma Ave. • Location is on east side of Goldenrod Road.

Page 79: SpyCopter - University of Central Florida

76

[2] Figure 5.6.5 Map of possible testing location 5

DIRECTIONS:

• From the University of Central Florida, head west on University Blvd. • At Dean Road intersection head north on Dean Road. • Location is on east side of Dean Road.

Page 80: SpyCopter - University of Central Florida

77

[2] Figure 5.6.6 Map of possible testing location 6

DIRECTIONS:

• From the University of Central Florida, head north on Alafaya Blvd. • At Lake Underhill Road intersection head east on Lake Underhill Road. • Location is on north side of Lake Underhill Road.

Page 81: SpyCopter - University of Central Florida

78

[2] Figure 5.6.7 Map of possible testing location 7

DIRECTIONS:

• From the University of Central Florida, head north on Alafaya Blvd. • At Lake Underhill Road intersection head east on Lake Underhill Road. • Location is on south side of Lake Underhill Road.

Page 82: SpyCopter - University of Central Florida

79

[2] Figure 5.6.8 Map of possible testing location 8

DIRECTIONS:

• From the University of Central Florida, head west on University Blvd. • At the intersection of University Blvd and Goldenrod Road head north on

Goldenrod Road. • Pass over Aloma Ave. • Location is on east side of Goldenrod Road.

Page 83: SpyCopter - University of Central Florida

80

Chapter 6: Future Project Upgrade Possibilities

6.1 Potential Uses [19](All potential uses were inspired by current uses of a similar aircraft unmanned aerial vehicle, the Dragonfly X6.) Visualize a world where an aircraft is able to change the way we retrieve information in our daily life. Whether it is military based, traffic inspection or life or death circumstances, the SpyCopter is what is needed to manage the situation with ease. This lightweight, GPS regulated aircraft is designed to travel to a pre-programmed GPS point with the purpose of taking still images at that time and location. When it comes to military tactics, taking precaution is a must in the safety of our troops. With the SpyCopter at hand our troops are able to find new ways to take on a mission without the dangers of taking unnecessary risks. With the ability to take pictures from an inconspicuous view, through camps or over the swampy terrain, the military will have advantages that have never been available before. Dealing with conditions that involve crowds of people have a higher risk of ending in madness and disarray. When it comes to big events, festivities or even protests, it is a huge advantage to get a bird’s eye view of the conditions at that event. With the SpyCopter, these situations can be controlled and managed to prevent chaos and possible injury through its ability to photograph the crowd settings of the programmed GPS location. Returning with these snap shots of the crowd range, crowd shift or maybe even criminal acts being achieved, will give the outsiders an upper hand in maintaining peace in these testy situations. In the occasion that a package or unidentified object is under suspicion of foul play, the standard routine is to send in workforce to investigate the situation at hand. However, with the SpyCopter, this is no longer a risky operation. Say that a call comes in for a suspicious package, the area is cleared of all civilians, and the risk is too high to send in staff. Simply send off the SpyCopter to investigate through pictures either close up or from a distance and return to unharmed personnel to take action accordingly. With no individuals harmed, and now information on the package, it is easy to see why this device is essential in risky situations. A life or death situation is the most crucial of all. A lot of times our law enforcement are required to operate risky tasks in order to save a life in a rescue mission. With the SpyCopter, rescue procedures have never been so safe and premeditated. Over high cliffs, mucky waters or dangerous areas of our earth, the SpyCopter is able to get a clear view of what is going on around it in order for our people to make a safe planned route of rescue.

Page 84: SpyCopter - University of Central Florida

81

With life or death in mind, another trivial threat is fires. Raging flames, whether from a house or in nature, create major damage and are one of the most dangerous natural disasters to be contained. Say a house is on fire and the situation is being evaluated, the SpyCopter can easily act as a third eye for assessment. Whether inside the house collecting pictures of the fire sources or hovering above to seek the areas of crucial concern, the device is playing a part in the rescue through the heavy smoke and flames. In addition to the SpyCopter assisting during a fire, it is also capable of aiding in the aftermath of a fire. The debris after a fire is put out can be dangerous in more ways than one. The heavy ash all around and remaining smoke is a hazard to workers searching the ruins. But with the knowledge of the overall remnants before venturing onto the scene, injury may be prevented and game plans can be assessed. Aside from disastrous conditions, the SpyCopter is also beneficial for relaying information on a concern that we battle everyday, traffic. The every morning and afternoon fight to beat or avoid traffic can be averted with the helpful knowledge of alternate routes, or even specific areas to steer clear of at that exact moment. If this everyday nuisance can be prevented in anyway, the SpyCopter’s job is achieved.

6.2 Multi-Helicopter Coordination With the apparent limitless potential uses of project SpyCopter, and the great impact that a single unit could have on human life, it would only seem logical that multiple SpyCopters working in coordination with one another would be able to have an even greater impact on the quality of life. The range and potential life saving abilities of a team of SpyCopters would be extraordinary. There are many different situations in which a group of SpyCopters would be more beneficial than a single SpyCopter. With the ever increasing threat of natural and manmade disasters, precautions need to be undertaken to ensure that minimal amount of human exposure to these situations occur. One example of this would be the extremely dangerous threat of wildfires. A wildfire can spread over a vast area of forest, and can be extremely hard to handle. One of the problems fire fighters have to deal with when fighting large wildfires, is knowing the extent of the size of the fire. A team of SpyCopters would be capable of surveying the disaster area without risking any human exposure to the actual fire or smoke.

Another possible use for a team of SpyCopters would be in the event of another terrorist attack. The horrific attacks that took place on September 11, 2001 on the Twin Towers in New York City, opened up everybody’s eyes to the realization that ultimately nobody is safe. The United States government has taken the best precautions possible to ensure this does not happen again. However there is always a chance.

Page 85: SpyCopter - University of Central Florida

82

In the unfortunate event, that another attack occurs on the United States, a team of SpyCopters would be able to survey damage almost immediately. This would greatly increase the survival rate of such an attack. One of the major hurdles the rescuers faced, was their ability to locate remaining survivors. The amount of debris that was released as a result of the falling of the Twin Towers was unimaginable. This severely limited the mobility and capabilities of the search teams. A team of SpyCopters would be able to survey the attack site, and relay vital information to the rescue team way before they even stepped foot on the site. With the incorporation of infrared sensors, SpyCopter would even have the capability of locating survivors trapped under a pile of fallen rubble. With the incorporation of multiple SpyCopters into a single team, many obstacles would need to be overcome to avoid any potential collisions. The major one would be communication amongst all the individual units. Each unit would need to have the ability to relay vital information about their position and altitude. The biggest problem with that is the ability to communicate instantly. With all communications there is a slight delay from the time a signal is sent, to the time it is received. The amount of delay is a direct correlation with the type of technology used. Back in the days of the Space Race and the first landing on the moon, this was obviously apparent. Due to the great distance between the Earth and the moon, it would take a little extra time for a radio wave to reach the moon and back. The great distance between the earth and the moon caused a slight delay in communication between Houston and the astronauts. As time passed along and technology progressed, solutions to these delays were found. The solution to this is what is known as Real Time Communication. Real Time Communication is communication where information can be transmitted and received instantly or with seemingly negligible delay.

6.3 Scalability Another possible future expansion scenario would involve the scalability of SpyCopter. If an automatic flight system can be incorporated into a smaller vehicle, the life saving capabilities of an automatic flight system on a real-size helicopter would be immense. If a real-size helicopter were to be able to flight autonomously, then human extraction from any situation would put less people in harm’s way. If there was a military situation in which a group of soldiers needed to be extracted from a particular hostile site, then the real-size SpyCopter would be able to rescue them without risking the lives of any pilots or rescuers. A major downfall to that would be if the helicopter were to get hit by enemy fire, and the technology fall into enemy hands. The United States technology falling into enemy hands would be horrible.

Page 86: SpyCopter - University of Central Florida

83

This would result in the enemy having the same capabilities as us. However in this instant, the enemy would most likely use the technology to harm military personnel and civilians, as opposed to using it to save lives.

Although SpyCopter is intended to save lives, a larger sized SpyCopter could be used to take lives as well. With a larger SpyCopter, range and durability could be increased also. With longer range, a more durable structure, and an increased payload, a larger sized SpyCopter could be used as a weapon. Whether weapons are attached to the unit, or the unit itself acts as kamikaze weapon enemy targets would be destroyed while no military personnel is placed directly in the line of fire.

While scalability of SpyCopter would be beneficial to the military, it would also have potential life saving aspects in non-military applications as well. One such instance would be in the use of SpyCopter for weather instruments. In recent time, it seems that every hurricane season there is one major hurricane that causes unimaginable damage. There are currently teams of pilots and meteorologists that fly above hurricanes to gather data about the storm. These crews risk their lives each and every time they go on the job. If a larger sized SpyCopter were to be outfitted with similar technology used in these planes, then the risk of these teams would be severely diminished.

Chapter 7: Timeline The objective for the first semester consisted of establishing a group, and working together to complete the appropriate documentation. Our time was spent conducting research, meetings, and building our design. The table consists of completed tasks and meetings for each week during the first semester. The second semester consisted of building and testing the SpyCopter, reviewing design statistics, completing it and presenting it.

Page 87: SpyCopter - University of Central Florida

84

Senior Design Summer Schedule Week of Objectivs for the Week Week # Meetings 05/10-05/16 Pick a Group 1

Discuss & Finalize Project Idea

05/17-05/23 Choose a sponser 2

05/24-05/30 Research Parts & statistics 3 Meeting w/sponser 6.00pm

05/31-06/06 Research Parts & statistics

06/07-06/13 Narrative 5

Block Diagram, Budget, Outline Meeting w/sponser 7.30am

Requirements & Specs

06/14-06/20 Analysis & Questions 6 Meeting w/sponser 7:30am

06/21-06/27 Research Cont.

06/28-07/04 Methods 8

Table of Contents with pg #'s 8

07/05-07/11 Timeline & chap's 1, 7, 2,6 9 Meeting w/Sponsor 7.30am

Subsystem Design -Chap4 9

07/12-07/18 Subsystem Design Cont. 10 Meeting w/Sponsor 7.30am

Testing Procedures -Chap5

07/19-07/25 Testing Procedures Cont. 11 Meeting w/Sponsor 7.30am

07/26-08/01 Testing Procedures & Research 12 Meeting w/Sponsor 7.30am

Review & Revise 12

08/02-08/08 Final Documentation Due 13 Meeting w/Sponsor 7.30am

Page 88: SpyCopter - University of Central Florida

85

Senior Design Fall Schedule

Week of Objectivs for the Week Week # Meetings

08/23-08/29 Commence Building GPS module 1 Meeting w/sponsor

08/30-09/05 Test GPS module 2

09/6-09/12 Commence Building Microcontroller 3 Meeting w/sponsor

09/13-09/19 Test Microcontroller 4

09/20-09/26 Build Sensors + Modifications 5 Meeting w/sponser

09/27-10/03 Test Sensors + Test entire system 6

10/4-10/10 Write software for each sensor 7 Meeting w/sponser

Combine modules 7 Meeting w/sponser

10/11-10/17 Test software for each sensor 8

10/18-10/24 Write autonomous software 9 Meeting w/sponser

10/25-10/31 Test software + Modifications 10

11/01-11/07 Write Emergency override software 11 Meeting w/sponser

11/08-11/14 Test Emergency override software 12

11/15-11/21 Build + test compass module 13 Meeting w/sponser

11/22-11/28 Combine modules 14

11/29-12/05 Final Presentation 15

12/06-12/12 Final Presentation 16

12/13-12/19 17

Page 89: SpyCopter - University of Central Florida

86

Chapter 8: Budget

8.1 Parts List This chapter contains a tentative list of the parts SpyCopter will need, and it provides descriptions for each, as well as photos which have been provided by Sparkfun.com. Part Price per

Unit ($) Quantity Total

($) Esky Belt-CP 450 RC Helicopter 200.00 1 200.00 PIC 40 Pin 48MHz 16K 13 Channel A/D USB-18F4550

11.39 1 11.39

Ultrasonic Range Finder – Maxbotix LV – EZ2 27.95 2 55.90 Compass Module – HMC 6352 59.95 1 59.95 Triple Axis Accelerometer Breakout – ADXL 330 34.95 0 0.00 Gyro Breakout Board – Dual 500 degree/sec 59.95 0 0.00 20 Channel EM – 406A SiRF III Receiver with Antenna

59.95 1 59.95

2.4Ghz HeliCam 39.95 1 39.95 IMU 5 Degrees of Freedom 99.95 1 99.95 Heli-CaM with 2GB Memory Disk 59.95 0 0.00 527.09 I. Esky Belt-CP 450 RC Helicopter This helicopter has a 6-channel brushless radio. It contains a belt-driven tail rotor vibration free, and offers smoother tail control. It’s perfect for indoor or outdoor use. It’s capable of flying backward, skyway, and 3D aerobic.

§ Length: 650mm (26 inch) § Height: 230mm (9 inch) § Flying Weight: 670g (24 oz)

II. PIC 40 Pin 48MHz 16K 13 Channel A/D USB – 18F4550 The PIC Micrcontroller uses a full speed USB 2.0 interface. It’s perfect for low power outage. The 18F4550:

§ 16k of flash § 12 MIPs (Microprocessor without Interlocked Pipeline Stages)

Page 90: SpyCopter - University of Central Florida

87

III. The Ultrasonic Range Finder – Maxbotix LV-EZ2 It offers an admirable size and decent quality. It can control up to 10 sensors with just 2 pins. Specs:

§ 42kHz Ultrasonic sensor § Operates from 2.5-5.5V § Low 2mA supply current § 20Hz reading rate § RS232 Serial Output – 9600bps § Analog Output – 10mV/inch § PWM Output – 147uS/inch § Small, light weight

VI. Compass Module – HMC6352 A simple breakout board for the popular HMC6352, it provides a ready to use electronic compass that combines 2-axis magneto-resistive sensors, analog and digital support circuits, and heading computation algorithms.

§ Simple I2C interface § 2.7 to 5.2V supply range § 1 to 20hz selectable update rate § True drop-in solution

Page 91: SpyCopter - University of Central Florida

88

§ 0.5 degree heading resolution § 1 degree repeatability § Supply current: 1mA@3V

V. Triple Axis Accelerometer Breakout – ADXL330 This breakout board from Analog Devices provides a low noise and power consumption experience. Dimensions: 0.7 x .7”

VI. Gyro Breakout Board – Dual 500 degree/sec The IDG-300 has a smaller profile than some single axis gyros, it’s also cost efficient. It offers high temperature and humidity resistance.

§ Integrated X- and Y-axis gyro on a single chip § Low offset voltage § Integrated low-pass filters § Integrated reset switches for high-pass filters

Page 92: SpyCopter - University of Central Florida

89

§ Superior vibration rejection over a wide frequency range § High cross-axis isolation by design § 3V single supply operation § 5000 g shock tolerance § RoHS Compliant (Completely Lead free)

VII. 20 Channel EM-406A SiRF III Receiver with Antenna This module includes on-board voltage regulation, LED status indicator, and a built-in patch antenna.

§ Weight: 16g including cable § 20-Channel Receiver § Extremely high sensitivity: -159dbm § Smallest complete module available: 30mm x 30mm x 10.5mm § Outputs NMEA 0183 and SiRF binary protocol § 70mA at 4.5-6.5V § Cold Start: 42s § Warm Start: 38s § Hot Start: 1s § 10m Positional Accuracy/5m with WAAS

Page 93: SpyCopter - University of Central Florida

90

VIII. 2.4GHz HeliCcam A micro wireless video camera

§ Camera and transmitter weight: 9 grams § Camera and transmitter size: 15mm x 22mm x 32mm ((5/8" x 7/8"

x 1 1/4") § Camera Lux: < 3 @ f1.2 § Camera Auto Electronic Exposure of 1/60 to 1/15000 sec. w/Auto

Gain & White Balance § Camera Signal to Noise Ratio: > 48dB § 365K (PAL) or 250K(NTSC) camera pixel resolution § Wireless Transmission Range: 150M (450 Feet), Line-of-sight § Transmitter RF Output Power: EC R & TTE Compliant § Receiver Video Input/Output: 1Vp-p/75 ohm

IX. IMU 5 Degrees of Freedom This PCB board incorporates the IDG300 dual-axis gyroscope and Analog Devices

§ Dimensions: 0.75” x 0.9” (20 x 23mm) § Weight: 2g

X. Heli-CAM w/2GB Memory Disk

§ Dimension: 73mm x 20mm x 11mm § Weight 18g § Use micro SD card from 128MB to 4GB § Voice recording: Wav audio § Battery Type: Lithium-ion § Record Time: 4-6 hours

XI. Hall Sensor*

Page 94: SpyCopter - University of Central Florida

91

8.2 Funding Funding will be provided by Nelson Engineering Co. of Merritt Island, Florida and Rogers, LoveLock, and Fritz Architecture. The budget presented at the beginning of this section is the basis of what SpyCopter will require. Additional parts not included may be purchased as well. Both benefactors will sponsor equal amounts of funding. The present purchasing plan consists of purchasing the parts individually and receiving reimbursement at the appropriate time.

Chapter 9: Conclusion SpyCopter is a project that can be classified as an Unmanned Aerial Vehicle (UAV). The concept behind SpyCopter is one that is currently in practice today. The military incorporates the use of Unmanned Aerial Vehicles for various types of missions. The use of UAV’s allows the military to better protect the country, and keep their personnel out of harm’s way. Similarly to current UAV’s, the team designing SpyCopter will incorporate a completely automated flight and navigation system into a pre-purchased radio controlled helicopter. The team behind project SpyCopter will utilize knowledge gained from various disciplines in the fields of Computer Science and Electrical Engineering to complete their design.

Page 95: SpyCopter - University of Central Florida

Chapter 10: Appendix

References: [1] Anderson, John D. (2004), Introduction to Flight (5th ed.), McGraw-Hill, pp. 257–261, ISBN 0-07-282569-3 [2] Padfield, Gareth D. (2007), Helicopter Flight Dynamics (2nd ed), Wiley-Blackwell, pg. 92 ISBN 978-1-4051-1817-0 [3] Heffley, R. K. & Mnich, M. A. (1988), Minimum-Complexity Helicopter Simulation Math Model, NASA. [4] Bak, T. [2002], Modeling of Mechanical Systems, http://www.control.auc.dk/~jan/undervisning/MechanicsI/mechbook.pdf [5] Wie, B. [1998], Space Vehicle Dynamics and Control, AIAA Educational Series. 110 [6] Hald, Ulrik B. , Autonomous Helicopter Modeling and Control, Aalborg University [7] Leishman, Gordon J. (2002), Principles of Helicopter Aerodynamics, Cambridge University Press [8] Johnson, Wayne. Helicopter Theory, Dover Publications [9] http://www.xheli.com/wa4chdr53cor.html [10] http://ww1.microchip.com/downloads/en/DeviceDoc/39632D.pdf [11] http://www.sparkfun.com/datasheets/GPS/NMEA%20Reference%20Manual1.pdf [12] http://www.sparkfun.com/datasheets/Components/HMC6352.pdf [13] Nguyen, Hung T. Fuzzy Modeling and Control, CRC Press [14] http://www.ngs.noaa.gov/FGCS/info/sans_SA/docs/statement.html [15] http://www.sparkfun.com/datasheets/GPS/EM-406A_User_Manual.PDF [16] Courtesy of Brian Williams via Autodesk program Revit MEP 2009 [17] Courtesy of Brian Williams via Autodesk program Revit MEP 2009, and open source google images [18] “military aircraft.” Encyclopaedia Britannica. 2009. Encyclopaedia Britannica Online. 09 Aug. 2009 http://britannica.com/EBchecked/topic/382295/military-aircraft [19] http://www.dragonflyx6.com.html

Page 96: SpyCopter - University of Central Florida

Bibliography 1) http://heli.stanford.edu/papers/AbbeelCoatesHunterNg_aaoarch_iser2008.pdf 2) http://www.cs.cmu.edu/afs/cs/project/chopper/www/goals.html 3) http://www.draganfly.com/uav-helicopter/draganflyer-x6/applications/ 4) http://www.grandhobby.com/exrcre4503d6.html 5) http://electronics.howstuffworks.com/brushless-motor.htm 6) http://www.omega.com/prodinfo/accelerometers.html 7) http://www.rctoys.com/ 8) http://www.rchelicopter.com/ 9) http://www.slickzero.com/ 10) http://www.acroname.com/robotics/info/articles/devantech/srf.html 11) http://www.parallax.com/dl/docs/prod/acc/PingDocs.pdf 12) http://www.hobbyengineering.com/H2951.html 13) http://www.sparkfun.com/ 14) http://www.xheli.com/ 15) http://www.servocity.com/html/hitec_servos.html 16) http://www.epanorama.net/documents/motor/rcservos.html 17) http://en.wikipedia.org/wiki/Main_Page 18) http://www.seattlerobotics.org/guide/servos.html 19) http://www.rchelicoptertips.com/rc-heli-beginners/rc-heli-gyro/ 20) http://www.rchelicopterfun.com/rc-helicopter-gyro.html 21) http://www.heliproz.com/jwgyros.html 22) http://www.electric-rc-helicopter.com/article/gyroconfusion.php 23) http://www.dimensionengineering.com/accelerometers.htm 24) http://www.magneticsensors.com/gpssolutions.html 25) http://www.proxdynamics.com/images/uploads/Proxflyer-UVS-04.pdf 26) http://www.gpsreview.net/electronic-compass/

Page 97: SpyCopter - University of Central Florida

---------- Forwarded message ---------- From: Boe AnnDrea <[email protected]> Date: Tue, Jul 28, 2009 at 4:55 PM Subject: Re: Permission to use Pictures To: Allie Rolle <[email protected]> Hello Alvilda Rolle! Yes you may use our photos for your senior project. Thank you for asking, and good luck with your project. Best, AnnDrea Boe __ Director of Marketing Communications SparkFun Electronics 6175 Longbow Drive, Suite 200 Boulder, CO 80301

On Jul 28, 2009, at 2:08 PM, Allie Rolle wrote:

To Whom It May Concern My name is Alvilda Rolle. My group and I are currently working on a senior design project through the University of Central Florida. I would like to obtain your permission to use photos from your website please. Thank you for your reponse concerning this matter. Sincerely, A. Rolle

-- ~Allie~

Page 98: SpyCopter - University of Central Florida

HighLevelController: /*Store series of waypoints as a linked list*/ struct waypoint { struct GPS_position* target; int lingerTime; float lingerHeading; struct waypoint* nextWaypoint; }; struct GPS_position* myPosition; struct waypoint* currentWaypoint; //Calculates desired heading float calcHeading(struct GPS_position* current,struct GPS_position* target); /*Converts string read by USBController to GPS cooridnates*/ struct waypoint* parseWaypointFile(char* str); int main() { GPSController:intiGPS char* str = USBController:readFile currentWaypoint = parseWaypointFile LowLVLFlightController.setMode(TAKE_OFF) while(currentWaypoint != NULL) { LowLVLFlightController.setHeading(calcHeading(...)) LowLVLFlightController.setMode(TRAVEL_TO) while(GPSController:comparePosition(from,to) != 0) { LowLVLFlightController.step(); GPSController:updateGPS myPos = GPSController:getPosition } LowLVL.setHeading(lingerHeading) LowLVL.setMode(HOVER) while(lingerTime < timer) { LowLVL.step() timer++ } currentWaypoint = currentWaypoint->nextWaypoint } LowLVL.setMode(LAND) return 0; } LowLevelController: #define TAKE_OFF 0 #define HOVER 1 #define TRAVEL_TO 2 #define LAND 3 int currentMode;

Page 99: SpyCopter - University of Central Florida

float x; float y; float z; float dx; float dy; float dz; float ddx; float ddy; float ddz; float theta; float omega; float psi; float thetadot; float omegadot; float psidot; float thetadotdot; float omegadotdot; float psidotdot; void setHeading(float heading); void setMode(int mode); void step() { switch mode: case 0: takeoff() break; case 1: hover() break; case 2: travelto() break; case 3: land() break; } //Takes control until mode is finshed. void takeoff() void land() //Samples sensors each iteration and corrects as necessary void hover() void travelto()

Page 100: SpyCopter - University of Central Florida

USBController: //starts usb device void init() //stops usb device void destroy() //reads waypointfile char* readFile(char* fname); ServoController: float u_col; float u_long; float u_lat; float u_tail; void setUCol(float ucol); void setULong(float ulong); void setULat(float ulat); void setUTail(float utail); float getUCol(); float getULong(); float getULat(); float getUTail(); void output(int direction); MotorController: float myRPM; void setRPM(float rpm) float getRPM() GPSController: struct GPS_position { float latitude; float longitude; float altitude; }; struct GPS_position* currentPosition; void updateGPS(); struct GPS_position* getPosition(); char* getGPSOutput(); void parseGPSString(char* str,float* lat,float* longi,float* alt); //Compares two GPS points and returns the range between the two int comparePosition(struct GPS_position* p1,struct GPS_position* p2); CompassController: float myHeading; init() updateHeading() float getHeading()