Documente Academic
Documente Profesional
Documente Cultură
Submitted by
Fong Ming Yang Eugene
U076621U
Session 2007/2008
Summary
The objective of this project is to design and implement a low-cost autopilot system
and study the feasibility and robustness of this autopilot system. The autopilot system
consisted of a navigation subsystem, wireless telemetry subsystem and microcontroller.
Commercial off-the-shelf components meeting budget requirements were carefully chosen
based on inter-operability and performance.
These subsystem components were integrated together and tested rigorously before
flight. The various tests included longitudinal static stability test, electromagnetic
interference, vibration damping and static GPS precision tests. The system was then
integrated on a foam model aircraft.
In addition, original Matlab algorithms were written and refined to cope with the large
amount of flight data. The Matlab algorithms were crucial for streamlining data and quick
results in data analysis.
Eleven separate flight tests were conducted over a period of 6 months and amounted
to extensive experimental data. Ultimately, these data and effort succeeded in achieving
autonomous stabilization and autonomous navigation.
The Ziegler-Nichols gain tuning method was employed for tuning the autonomous
roll and pitch controller for best response. From this method, the flight test system was
successfully tuned to fly straight and level autonomously. The navigation system was also
successfully implemented. Together, the autopilot and navigation proved capable in guiding
the aircraft to a target destination.
Acknowledgement
The author wishes to express sincere appreciation to Professor Gerard Leng for his unfailing
support and constant guidance throughout this project. The technicians and support staff of
Dynamics Laboratory have also been an important help. He is also extremely grateful to
Glendon Low for providing the model aircraft and piloting the aircraft during the flight tests.
Table of Contents
Summary ............................................................................................................................................................................... 2
Acknowledgement.............................................................................................................................................................. 3
List of figures....................................................................................................................................................................... 6
List of tables ......................................................................................................................................................................... 7
Introduction .............................................................................................................................................................. 9
Designing the flight test (autopilot) system............................................................................................... 11
3.1
3.2
a.
b.
c.
3.3
3.4
4.
4.1
4.2
4.3.1
4.3.2
4.3
4.4
5.
4.4.2
4.4.3
5.2
6.2
8.
6.1
7.
4.4.1
5.1
6.
Sampling rate............................................................................................................................................... 25
9.
10.
11.
11.1
11.2
11.3
11.4
12.
12.1
12.2
12.3
12.4
12.5
13.
References.......................................................................................................................................................................... 45
Appendix 4: Recommended center of gravity relative to aerodynamic center (Russell, 1996) ............. 49
List of figures
Figure 1: Organization of a flight test system .......................................................................... 11
Figure 2: Components of the flight test system ....................................................................... 15
Figure 3: Schematic of flight test system ................................................................................. 16
Figure 4: Xbee TX and GPS positioned on opposite wing ...................................................... 17
Figure 5: (left) Inside the belly of the aircraft. (right) Components inside the aircraft ........... 18
Figure 6: Locating aircraft CG with a balancing instrument ................................................... 20
Figure 7: Calculation of aerodynamic center ........................................................................... 20
Figure 8: Center of gravity is 1cm forward of the aerodynamic center, the aircraft is statically
stable in the longitudinal direction........................................................................................... 21
Figure 9: Converting GPS Decimal degrees to degrees, minutes, seconds ............................. 22
Figure 10: GPS reading scatter over 10 minutes ..................................................................... 23
Figure 11: Algorithm to remove incomplete data .................................................................... 27
Figure 12: Flight test 1 Maneuver ............................................................................................ 28
Figure 13: Block diagram of autonomous roll controller ........................................................ 29
Figure 14: Block diagram of autonomous pitch controller ...................................................... 29
Figure 15: Roll response curve at 3 different gains. At K=1.5 (blue), sustained oscillation is
observed. At K=1.0 (red), the response is fast and stable. ....................................................... 32
Figure 16: Cumulative area under the response curve. At K=1.5 (blue), area is steadily
increasing. At K=1.0 (red), the area plateau off quickly and the final value is small. ............ 32
Figure 17: Pitch response curve at 2 different gains. At K=1.0 (blue), sustained oscillation is
observed. At K=0.6 (red), the response is fast and stable. ....................................................... 34
Figure 18: Cumulative area under the response curve. At K=1.0 (blue), area is steadily
increasing. At K=0.6 (red), the area plateau off quickly and the final value is small ............. 34
Figure 19: Roll and pitch response during autonomous stabilization. With good gains
selected, the autopilot can maintain stabilised straight and level flight. .................................. 35
Figure 20: Flight path showing autonomous navigation through a 180 turn from T= 0 to 11
seconds. The number next to the line shows the altitude......................................................... 37
Figure 21: Rate of change of yaw angle at fixed bank angle. Repeated flight tests shows a
30/s change in yaw angle at fixed -40 bank angle. ............................................................... 38
Figure 22: Calculation of theoretical turning radius ................................................................ 39
Figure 23: (left) Circle 1; reconstructed flight data shows that the aircraft is flying in a large
radius of 100 to 200m. (right) Circle 2; reconstructed flight data shows that at higher speed,
the radius is larger. ................................................................................................................... 40
Figure 24: Variation of speed for Circle 1 (top graph); Variation of speed for Circle 2 (lower
graph). ...................................................................................................................................... 41
Figure 25: Flight path change due to side slip ......................................................................... 42
List of tables
Table 1:
Table 2:
Table 3:
Table 4:
Comparison of IMUs..
Latitude and longitude conversion to meters......
Parameters recorded by telemetry system..
Ziegler-Nichols frequency response method (based on Ku and tu).
12
22
26
31
List of symbols
Roll angle
Pitch angle
Yaw angle
Weight of aircraft
Vc
Cruise speed
Kp
Proportional gain
Ki
Integral gain
Kd
Derivative gain
Ku
Ultimate gain
tu
Ultimate period
Time
1. Introduction
Unmanned aerial vehicles (UAVs) have become an integral part of the military in the
recent years. Besides providing numerous advantages, one important capability of UAVs is
the autonomous flying capability. With autonomous flight capability, the aircraft requires
much less manpower, cost and induce less risk to human lives (Barnes, 2009).
While UAVs are a mainstay in the military, there are also many potential applications of
UAVs to civil and commercial circles including aerial photography, coastal surveillance and
agriculture planning (Austin, 2010). However, due to high cost and complexity, adoption of
UAVs outside the military has been slow and cautious (Timothy, 2004; Volpe Center, 2003).
This project aims to study the feasibility of using low-cost, commercial off-the-shelf
components in developing the autonomous capability. The current level of maturity of the
commercial components will be studied and in relation, the deployment of commercial UAVs
can be accelerated.
In truth, a UAV is really part of a larger unmanned aerial system (UAS). The UAS will
consists of some of the following or more: a control station housing the operators, the
aircraft(s) configurable to different type of payloads, a system of communication between
aircraft and operator, and other observers, and support equipment for maintenance and
support (Austin, 2010).
For our project purposes, the autopilot system being designed and implemented will be on
a smaller scale with essential necessities. The basic autopilot system will comprise of a
navigation subsystem, telemetry subsystem, onboard microcontroller and ground control
station.
The components that make up the autopilot system are selected based on inter-operability,
cost and effectiveness. These components are commercially available in Singapore. The
system is integrated on a foam model aircraft (Appendix 1).
After integrating the components together as one functioning system onboard the model
aircraft, functional checks were conducted. Once proven airworthy, flight tests were
conducted to determine the best gains in the control laws within the autonomous control
function. The gain tuning method is guided by the Ziegler-Nichols method but were chosen
based on data analysis. Original Matlab codes were also written to cope with the large
amount of data and help in post flight analysis.
The results obtained proved that through extensive flight tests, the flight test system is
able to execute autonomous stabilization and autonomous navigation. This will mean that the
UAV technology built from commercial components have a great potential.
10
A complete flight test system consists of several electronics and sensors components. For
our purposes, the flight test system consisted of the microcontroller, the navigation subsystem
and the telemetry subsystem.
The microcontroller is the central component, which reads in inputs from pilots control,
navigation and telemetry. It also holds the autopilot code that executes the control laws and
computes the commands. The navigation system will require appropriate instruments that can
tell its position and measure its attitude. By tracking the aircrafts position and maintaining a
stable attitude (orientation in roll, pitch and yaw angles), the aircraft can navigate safely from
point to point. While tracking these parameters, a telemetry system must be incorporated so
that the data can be recorded for further analysis. Together with a ground monitoring station,
a telemetry system allows remote monitoring or measurement. Keeping in mind of the costs,
the next section details the choice components used.
11
3. Choice of components
3.1 Microcontroller - ArduPilot
The ArduPilot is a hardware board programmable with the open-source Arduino software.
Besides being small, light and cheap, the ArduPilot has 4 servo outputs. Our model aircraft
requires 3 servo outputs (2 elevon surfaces and 1 throttle). Having one extra servo output and
more I/O ports that are unused means there is room for expansion in future.
IMU
Microstrain 3DM-GX3
Xsens Mti-g
ArduIMU
Cost (S$)
2405
> 7000
157
The ArduIMU was chosen because of its affordable pricing and open-source adaptability.
Moreover, its flat size and low weight allows for use in any lightweight foam model aircraft.
Using open source hardware opens up the option for a wide range of online support and
compatible equipment. The ArduIMU is readily compatible for use with the below ublox 5
GPS.
12
13
14
Literature research has shown that while the above components are not as precise as
military tactical grade instruments, they are sufficiently robust to perform routine missions
and have been successfully implemented to varying degrees (Amahah, 2009; Folkertsma,
2010). Further specifications of the components are attached in Appendix 2.
15
In this system, the GPS sends the location data to the ArduIMU. The ArduIMU uses GPS
data to confirm its attitude data. The ArduIMU then sends attitude and location data via serial
data to the ArduPilot. The ArduPilot is the central controller receiving data from sensors and
outputting commands to the elevon servos. It also sends serial data to the Xbee TX, which
forwards them wireless to the ground station. The ArduPilot also acts as an exchange
whereby the pilot can switch between manual to autonomous control anytime. In manual
16
control, the ArduPilot forwards the pilots commands to the servos. In autonomous mode, the
ArduPilot computes the commands.
17
Figure 5: (left) Inside the belly of the aircraft. (right) Components inside the aircraft
18
4.3.2
As the ArduIMU is placed within close proximity of the ESC and motor, EMI is possible.
Excess electromagnetic waves at the right bands can affects the gyroscopes and
accelerometers, since they are based on micro magnetic components.
A test was done to determine whether there is significant EMI on the ArduIMU. Using a
Tri-field meter, it was discovered that upon powering on the motor, the magnetic field
increased from 3 Gauss to more than 100 Gauss. However, the readings from the ArduIMU
remained stable and consistent. The test was repeated by placing the ArduIMU at three
locations: (1) next to motor; (2) on the table far from motor; (3) at center of gravity of the
aircraft. Results showed that the readings were all stable and unaffected.
19
4.4.1
The center of gravity of the aircraft is located using a balancing instrument. Since the
overall weight of the components lies within the longitudinal axis, the center of gravity of the
aircraft still lies within the longitudinal axis. The balancing instrument will locate the point
on the longitudinal axis where the center of gravity lies.
4.4.2
20
4.4.3
From the above results, the center of gravity is 1 cm forward of the aerodynamic center.
This confirms that the aircraft is statically stable in the longitudinal direction.
Figure 8: Center of gravity is 1cm forward of the aerodynamic center, the aircraft is statically stable in the
longitudinal direction
21
With reference to the WGS84 spheroid (Blanchard, 1995; Ordnance Survey, 2010), the table
below shows the conversion for positions near the equator. A Matlab script GPS.m was
written to automate the conversion process (Appendix A).
Table 2: Latitude and longitude conversion to meters
Latitude
Longitude
1 second
: 30.715 m
1 second
: 30.92 m
1 minute
: 1843 m
1 minute
: 1855 m
1 degree
: 110.6 km
1 degree
: 111.3 km
22
The reason why GPS position readings fluctuate are many. In general, GPS location is
calculated based on the time difference of arrival of signals from different satellites. As more
satellites are available, GPS location can be verified with more accuracy. However, satellites
themselves are in constant motion in fixed orbits. Therefore, GPS position readings will
fluctuate accordingly (Blanchard, 1995).
23
Taking the cost limitations in mind, the precision of the 2D GPS can be considered
satisfactory. For better accuracy in altitude in future work, barometer and ultrasound sensors
are recommended.
24
25
1
2
3
4
5
6
7
8
9
10
11
The high data transfer rate is especially useful because it allows us to monitor the
state of the aircraft closely. However, not every frame of data received is complete; some are
truncated or lost. This is a common problem with wireless communication due to latency or
interference. As a result, users have to filter out incomplete or corrupted packages from the
complete ones.
Because a large amount of data is collected, an efficient data reduction method is
required to filter the incomplete data. If every line of data is complete, then Excel can be
easily used to analyze the data because each column of data will correspond to the same
parameter. However with incomplete data around, it is more difficult.
26
27
28
The pitch control is similar, with the addition of roll angle compensation. This is because at
sustained bank angle, the aircraft has to increase its angle of attack in order to maintain
altitude.
29
30
ti
td
0.50 Ku
PI
0.40 Ku
0.8 tu
PID
0.60 Ku
0.5 tu
0.12 tu
31
11.1
Below are two figures showing the roll response by the autonomous roll controller at
some critical proportional gain values. Figure 15 show the actual roll angle through time as
the controller tries to reduce the error, while Figure 16 shows the cumulative area under the
curve. Ideally, the area should be small and plateau off as quickly as possible.
Figure 15: Roll response curve at 3 different gains. At K=1.5 (blue), sustained oscillation is observed. At K=1.0
(red), the response is fast and stable.
Figure 16: Cumulative area under the response curve. At K=1.5 (blue), area is steadily increasing. At K=1.0
(red), the area plateau off quickly and the final value is small.
32
Based on flight test results, the approximate ultimate gain for the roll controller is Ku =
1.5. At K=1.5, Figure 15 shows that the controller causes an oscillation in the roll angle.
Furthermore, Figure 16 shows the cumulative area under the curve to be increasing linearly,
indicating a relatively symmetric oscillation.
The Z-N method then recommends K=0.8, which results in a better response for the roll
controller. Figure 16 shows that at K=0.8, the cumulative area plateau near the 10th data
point.
However, closer analysis reveals that K=0.8 is not the optimum gain value for the roll
controller. Figure 15 shows that the roll angle is still oscillating significantly until the 2000ms
mark. Tests reveal that K=1.0 is a better gain value and the above figure shows the marked
improvement. At K=1.0, Figure 15 shows the roll controller is able to control the roll angle
very well near the desired roll angle of zero, and figure 16 shows the cumulative area to be
lesser and it plateau off at the 5th data point.
Therefore, based on these experimental tests, the roll controller is able to keep the roll
angle at desired setting best with a proportional gain of 1.0.
33
11.2
Figure 17: Pitch response curve at 2 different gains. At K=1.0 (blue), sustained oscillation is observed. At
K=0.6 (red), the response is fast and stable.
Figure 18: Cumulative area under the response curve. At K=1.0 (blue), area is steadily increasing. At K=0.6
(red), the area plateau off quickly and the final value is small
The experience from tuning the roll controller tell us that the Z-N method tend to
underestimate a good gain value. From tests, the ultimate gain for pitch controller is K=1.0.
Again Figure 18 shows a approximate linearly increasing area.
In tuning the pitch controller, it is found that a gain of K=0.6 performs very well. The
pitch controller maintains the desired angle most of the time and the area under the curve is
small and plateau off at the 9th data point.
34
11.3
After setting the roll proportional gain at 0.1 and the pitch proportional gain at 0.06, the
aircraft was tested again for its ability to stabilize autonomously. The test was conducted in
open field. The maximum wind speed was nearly 10 meters per second and the direction
changed frequently.
The aircraft was launched and the autopilot was activated at roughly 100 meters above
ground into the wind. Even in this windy condition, the autopilot successfully stabilized the
aircraft by keeping its roll angle and pitch angle at zero. The autonomous stabilization test
was repeated with different flying directions.
Figure 19: Roll and pitch response during autonomous stabilization. With good gains selected, the autopilot
can maintain stabilised straight and level flight.
From the above figure showing that the aircrafts actual roll and pitch angle maintain at
zero autonomously, it can be concluded that the flight test system was very successful.
35
11.4
The Z-N gain tuning method has proven to be a quick and reliable method in determining
the gains for the autopilot controller. However, the gains predicted via the Z-N method tend
to underestimate a good gain value.
The reason is because the basis of the Z-N method is to attain a quarter decay amplitude
in the response curve. For our system, a quarter decay amplitude is too sluggish.
In this system, the aircraft is airborne and reacting to external disturbances from wind.
Because of the unpredictable wind strength and direction, the aircraft is subjected to varying
disturbances. A sluggish albeit stable response will be insufficient because by the time the
aircraft has damped the initial disturbance, another disturbance of different nature will be in
effect. Moreover, a slow response may mean a large change in angle of attack or altitude,
both of which may lead to unstable and undesirable aerodynamic conditions resulting in a
crash.
Therefore for this system, a more reactive and sensitive response is preferred. As such a
higher than predicted gain has proven to be better. While overshoot was acceptable, extreme
care was taken not to increase the gain too much so as not to introduce prolonged oscillations.
36
Autonomous turnaround
Next, the partial autonomous navigation was tested via the Return to Launch (RTL)
mode. The aircraft was launched and was steered so that it is moving away from target
destination. The autopilot was then engaged and the aircraft turns around autonomously.
Figure 20: Flight path showing autonomous navigation through a 180 turn from T= 0 to 11 seconds. The
number next to the line shows the altitude.
Upon autopilot activation, the autopilot controller sent a roll command angle of -40
degrees. This successfully proves that the navigation system is aware of the aircrafts location
relative to target destination. Within two seconds, the actual roll angle meets the commanded
roll angle and the aircraft begins a turn. Between T=7s to T=9s, the autopilot controller
attempts to bring the aircraft back level. At T=11s, a roll command of 20 degrees was
commanded so that the aircraft will be heading directly to target destination. Throughout the
maneuver, the altitude was in the safe region of 7710 m.
37
In summary, the aircraft was able to make a sustained turn successfully without losing
altitude and stability.
12.2
The autonomous turnaround maneuver was repeated several times and the below graph
shows how yaw angle change with time when the bank angle was constantly maintained at
negative 40 degrees. Clearly, at constant bank angle, the heading of the aircraft changes and it
is an approximate linear relation.
Using linear approximation, it can be seen from the gradient that the rate of change of
yaw angle is about 0.03/ms or 30/s. At this rate, 6 seconds or more is required for a full
180 change in course.
Figure 21: Rate of change of yaw angle at fixed bank angle. Repeated flight tests shows a 30/s change in yaw
angle at fixed -40 bank angle.
38
12.3
Using the above information, we can estimate how fast the aircraft can change its course
at a sustained bank angle.
Assuming a steady, level, co-ordinated turn at bank angle 40, the theoretical turning
radius can be calculated based on constant cruise speed, vc. To make a 180 change in course
in a co-ordinated turn, the distance traversed by the aircraft is half the circumference (r).
The time taken to change its course is approximately the time taken to cover the distance.
180
=
=6
30
=
39
12.4
The next step was to analyze the aircrafts ability to circle autonomously. In the first test,
Circle 1 (see figure below, left), the average cruise speed was 15 meters per second
(Appendix 8 shows the flight data). At this speed, the calculated theoretical turning radius is
30 meters. However, the flight path generated from the GPS data shows the aircraft is unable
to sustain this tight radius.
In the second test, Circle 2 (see figure below), right, the average cruise speed was 20
meters per second (Appendix 9) and the theoretical turning radius is 40 meters. By
reconstructing the flight path from the telemetry data, it can be seen that the aircraft is unable
to steadily subscribe within the theoretical radius. Also, at higher speeds, the aircraft tends to
have a larger radius as predicted by the formula.
Figure 23: (left) Circle 1; reconstructed flight data shows that the aircraft is flying in a large radius of 100 to
200m. (right) Circle 2; reconstructed flight data shows that at higher speed, the radius is larger.
40
12.5
a. GPS errors
In both cases, the aircraft was unable to completely subscribe to a perfect circle or meet
the theoretical turning radius. One reason is that the radius and launch location is defined by
GPS co-ordinates. GPS co-ordinates are not precise and as discussed before, GPS coordinates drift in the order of several meters. However, the error of several meters should not
result in a turning radius more than two or three times the expected as shown.
b. Aircraft speed
As seen from the above formula, the aircraft speed affects the turning radius. From the
telemetry data, note that the aircraft speed is never maintained constant. The figures below
show the speed variation for Circle 1 and Circle 2.
Figure 24: Variation of speed for Circle 1 (top graph); Variation of speed for Circle 2 (lower graph).
During flight, the aircraft has to constantly adjust its speed to compensate for change in
direction and altitude. Therefore, as the speed changes, the expected flight path will be
affected.
41
c. Wind conditions
In addition, the actual velocity of the aircraft is greatly affected by the wind as well.
During the test flight, wind speed was about 10 meters per second. This is significant
compared to the aircraft speed. The consequence is that the wind direction can cause the
aircraft to side-slip, thus changing the instantaneous velocity vector. With significant sideslip, the aircraft will need a longer time and travel a longer distance as illustrated below.
In real conditions, it is very difficult to maintain the speed at a fixed value since the wind
conditions is varying and unpredictable. As a result, the aircraft will most likely have to make
large adjustments to its course and bank angle constantly.
42
43
radius is affected by many factors such as wind speed, wind direction and GPS accuracy.
My recommendations for future work would be to include a more sensitive sensor for
measuring altitude. For example, barometer or long range ultra-sound sensors can give more
precise altitude measurements. With improved altitude sensor, the aircraft can conduct a
better level turn. A better GPS sensor will also improve location tracking and autonomous
navigation performance.
As this aircraft used is a light-weight foam aircraft, it is very sensitive to wind conditions.
As such, executing maneuvers like turning and navigation can take longer than predicted due
to adverse wind forces. Large sideslip was often the case during our test flights. By using a
wooden aircraft of more mass, it will be less susceptible to wind conditions and will be able
to execute more precise maneuvers.
To advance into the bigger aim of putting UAVs into civil and commercial use, the
autopilot must be capable of autonomous take-off and landing. The aircraft used here was
hand launched and landed on its belly. The next step forward would be to use a more typical
aircraft with wheels, and test and implement autonomous take-off and landing algorithms.
44
References
1. Barnes, O. (2009). Air Power: UAVs: The wider context. Royal Air Force Centre for
Air Power Studies
2. Austin, R. (2010). Unmanned Aircraft Systems UAVS Design, development and
deployment. John Wiley & Sons, Ltd.
3. Timothy H. Cox et al. (2004). Civil UAV Capability Assessment. NASA.
4. Volpe Center; NCRST-Infrastructure. (2003, December 2). A Roadmap for deploying
UAV in Transportation
5. Chao H., Coopmans C., Long D., & Chen Y. (2010). A comparative evaluation of low
cost IMUs for unmanned autonomous systems. 2010 IEEE International Conference
on Multisensor Fusion and Integration for Intelligent Systems (MFI 2010), 211-16.
6. Wang Y., Li X. & Huang Y. (1996). Navigation system of pilotless aircraft via GPS.
IEEE Aerospace and Electronics Systems Magazine, v 11, n 8, 16-20, Aug. 1996.
7. Amahah, J. (2009). The design of an unmanned aerial vehicle based on the ArduPilot.
Georgian Electronic Scientific Journal: Computer science and telecommunications
2009 No. 5(22).
8. Folkertsma, G. (2010). Unmanned aerial vehicles: modeling and control of a
miniature helicopter. University of Twente.
9. Russell, J.B. (1996). Performance and stability of aircraft. New York. Wiley.
10. Anderson, J.D.(Jr) (2008). Introduction to flight. McGraw Hill.
11. Blanchard, W. (1995). The air pilots guide to satellite positioning system. Airlife
Publishing.
12. (2010). A guide to coordinate systems in Great Britain. Ordnance Survey.
13. Nelson, R. (1998). Flight stability and automatic control. McGraw-Hill International
Editions.
14. Tengku, L.T.M., Raimi, H.A.M. & Zulkifli, M. (2010). Development of Auto Tuning
PID Controller using Graphic User Interface (GUI). 2010 Second International
Conference on Computer Engineering and Applications.
15. Tan, K.K., Wang, Q.G. & Hang, C.C. (1999). Advances in PID Control. Great
Britain. Springer-Verlag London Limited 1999.
16. Astrm, K.J. & Hgglund, T. (1988). Automatic Tuning of PID Controllers. United
States of America. Instrument Society of America 1988.
17. Carden, F., Jedlicka, R. & Henry, R. (2002). Telemetry Systems Engineering.
Norwood. Artech House, Inc.
45
46
ArduIMU+ V2
Specifications
Hardware board programmable with open-source Arduino
4 RC Channels input, 3 RC output
5 analog I/O
2 digital I/O
Processor: 16Mhz AtMega328
Programming interface: FTDI
Size: 4.7 x 3 x 1.7 cm
6 DOF Inertial Measurement Unit
Processor: 16Mhz AtMega328
Runs DCM algorithm
1 SPI port
1 I2C port
2 PWM outputs
Programming interface: FTDI
Weight: 6g
LPR530AL 2 axis gyro and LY530ALH 1 axis gyro
Measurement range(amplified): 300/s
Sensitivity (amplified): 3.33 mV/s
Sensitivity change due to temp: 0.03%/C
Zero rate level change vs temp: 0.05/s/C
Bandwidth: 140 Hz
Operating temp: -40 to 85 C
ADXL 335 3 axis accelerometer
Measurement range: 3.6g
Sensitivity: 300 mV/g
Sensitivity change due to temperature: 0.01%/C
0g offset vs temperature: 1mg/C
Bandwidth: (x,y axis) 1600 Hz; (z) 550 Hz
Sensor resonant frequency: 5.5 kHz
Operating temp: -40 to 85 C
50 Channel
GPS L1 frequency
Galileo Open service L1 frequency
Cold start: 29s
Hot start: <1s
Horizontal position: <2.5m
Accuracy of time pulse: RMS - 30ns; 99% - <60ns
Max update rate: 4Hz
Velocity accuracy: 0.1 m/s
Heading accuracy: 0.5 deg
Weight: 16g (with adapater)
Zigbee Protocol
2.4 Ghz frequency
Range: 1.6km LOS
47
Gain
2
6
10
Pitch
0
1.8
6.2
Roll
0
0.3
0.9
90 Hz
2
6
10
0.2
1
4.1
0.1
0.3
0.5
100 Hz
2
6
10
0.3
0.5
1.5
0
0.2
0.3
110 Hz
2
6
10
0.3
2.1
5
0
0.2
0.5
120 Hz
2
6
10
0.2
4.3
7
0
0.3
0
130 Hz
2
6
10
0.3
2.9
4.5
0
0.1
0.3
48
49
50
51
Percentage of
samples meeting
requirements
Flight
time
(sec)
No. of
complete
attitude
packages
% Attitude
intervals
< 500ms
No. of
complete
position
packages
% Position
intervals
< 2.5s
Flight Test 1
Sortie 1
Sortie 2
252
218
1031
1314
97.7
97.2
377
258
99.7
88.9
Flight Test 2
Sortie 1
Sortie 2
Sortie 3
Sortie 4
325
360
198
95
2489
2695
1373
763
99.4
99.0
98.5
99.5
1072
1210
607
340
99.6
99.8
99.3
100
Flight Test 3
Sortie 1
Sortie 2
Sortie 3
331
89
297
2594
660
2012
98.8
98.3
98.3
1058
272
838
99.9
100
99.8
Flight Test 4
Sortie 1
Sortie 2
Sortie 3
Average
143
112
94
210
1010
916
773
98.4
99.6
99.6
98.7
431
375
316
100
100
100
98.9
52
Start
Launch
53
End
Start
Launch
54
home_lat_deg=floor(LAT(1));
temp=(LAT(1)-home_lat_deg)*60;
home_lat_min=floor(temp);
home_lat_sec=(temp-home_lat_min)*60;
home_lon_deg=floor(LON(1));
temp=(LON(1)-home_lon_deg)*60;
home_lon_min=floor(temp);
home_lon_sec=(temp-home_lon_min)*60;
for i=1:length(LAT)
LAT_D(i)=(floor(LAT(i))-home_lat_deg)*110600;
temp=(LAT(i)-floor(LAT(i)))*60;
LAT_D(i)=LAT_D(i)+(floor(temp)-home_lat_min)*1843;
temp=(temp-floor(temp))*60;
LAT_D(i)=LAT_D(i)+(temp-home_lat_sec)*30.715;
end
for i=1:length(LON)
LON_D(i)=(floor(LON(i))-home_lon_deg)*111300;
temp=(LON(i)-floor(LON(i)))*60;
LON_D(i)=LON_D(i)+(floor(temp)-home_lon_min)*1855;
temp=(temp-floor(temp))*60;
LON_D(i)=LON_D(i)+(temp-home_lon_sec)*30.92;
End
55
56
(length(strfind(LINE,'NP'))==1)
if
%N_PCH found
if
(length(strfind(LINE,'SOR'))==1)
%SO_RLL found
(length(strfind(LINE,'SOP'))==1)
%SO_PCH found
(length(strfind(LINE,'GXR'))==1)
%GXR found
(length(strfind(LINE,'GYP'))==1)
%GXP found
(length(strfind(LINE,'GZY'))==1)
%GXY found
if
if
if
if
if
(length(strfind(LINE,'AX'))==1)
%A_X found
(length(strfind(LINE,'AY'))==1)
%A_Y found
if
if (length(strfind(LINE,'AZ'))==1)
%A_Z found
flight_attitude_data =
str2mat(flight_attitude_data,LINE);
%Add LINE to full_attitude_data
flag=1;
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
end
if flag==0
if (length(strfind(LINE,'!!!'))==1) %!!! found
if (length(strfind(LINE,'***'))==1) %*** found
if (length(strfind(LINE,'TIM'))==1) %TIM found
if (length(strfind(LINE,'LAT'))==1) %LAT found
if (length(strfind(LINE,'LON'))==1) %LON found
if (length(strfind(LINE,'SPD'))==1) %SPD found
if (length(strfind(LINE,'CRT'))==1) %CRT
found
if
(length(strfind(LINE,'ALT'))==1) %ALT found
if
(length(strfind(LINE,'ALH'))==1) %ALH found
if
(length(strfind(LINE,'TOW'))==1) %TOW found
flight_position_data =
str2mat(flight_position_data,LINE); %Add LINE to full_position_data
flag=1;
end
57
end
end
end
end
end
end
end
end
end
end
if flag==0
discard=str2mat(discard,LINE);
flag=1;
end
end
% CLOSE FILE
fclose(fid);
% PRINT TO TEXT FILE
x=0;
r=0;
fid = fopen('flight_attitude_data.txt','w');
for i=2:size(flight_attitude_data,1)
fprintf(fid, '%s \n', flight_attitude_data(i,:));
r=r+1;
end
fclose(fid);
x=x+r;
fprintf('No of rows of attitude = %d\n', r);
r=0;
fid = fopen('flight_position_data.txt','w');
for i=2:size(flight_position_data,1)
fprintf(fid, '%s \n', flight_position_data(i,:));
r=r+1;
end
fclose(fid);
x=x+r;
fprintf('No of rows of position = %d\n', r);
r=0;
fid = fopen('discard.txt','w');
for i=2:size(discard,1)
fprintf(fid, '%s \n', discard(i,:));
r=r+1;
end
fclose(fid);
x=x+r;
fprintf('No of rows discarded = %d\n', r);
fprintf('Total stored = %d\n', x);
58