Design of Fully Automatic Drone Parachute System with Temperature Compensation Mechanism for Civilian and Military Applications

. Application of Unmanned Aerial Vehicles(a.k.a. drones) is becoming more popular and their safety is becoming a serious concern. Due to high cost of top-end drones and requirements for secure landing, development of reliable drone recovery systems is a hot topic now. In this paper, we describe the development of a parachute system with fall detection based on accelerometer-gyroscope MPU – 6050 and fall detection algorithm based on the Kalman filter to reduce acceleration errors while drone is flying. We developed the compensation algorithm for temperature-related accelerometer errors. The parachute system tests were performed from a small height on a soft surface. Later, the system was tested under real-world conditions. The system functioned effectively, resulting in parachute activation times of less than 0.5s. We also discuss the civilian and military applications of the developed recovery system in harsh (high temperature) environment.

As the evolution of drone technology continues, its battery capacity and the range of the flight increase, therefore also increasing the range and scope of tasks drones can be assigned to perform.Statistics of accidents during the operation of an Unmanned Aerial Vehicle (UAV) exhibits a significantly higher accident rate compared to piloted aircrafts [16].This poses severe limitations on the possible adoption of unmanned systems particularly in the civilian air space.During the flight, the drones may face a variety of problems, both internal (e.g., an electrical circuit failure, broken connection, or mechanical damage) and external (interference of an external obstacle such as birds or hostile force).Due to these problems, drones can become unmanageable, fall down, and land on hard surface.In such cases, not only the drone and its carrying equipment, but also the objects below (e.g., people or valuable property) can be damaged resulting in large financial losses in addition to lost equipment and information.
Hence, one important challenge is the implementation of technologies, which can deal gracefully with failures and ensure safe operation even in the event of engine loss.In ultralight aviation, emergency parachutes have become an important tool to avert damages and casualties caused by aircraft failures.Parachute recovery is particularly suited to tactical fixed wing UAV systems that require a high degree of mobility by allowing air vehicle recovery onto unprepared terrain [17].A higher attrition rate for UAVs compared to manned aircraft can be due to both physical aircraft and human operator factors.Given that the aircraft does not have to accommodate a human being, it can be made smaller.By making the aircraft smaller, it is easier to stay undetected in the sky for longer time compared to a larger aircraft.However, due to the size of the UAV, it will encounter different environmental issues that designers and operators may not have had experience with in manned aircraft, thus requiring the deployment of emergency recovery system such as parachute.
Such problems could be avoided by using the dronemounted parachute system, which would expel parachute during the fall and ensure safe landing.As in the course of damage or hostile attack such as attempt of seizure, the connection of drone to the control centre may be lost, and it may not be possible to activate the parachute by sending a signal from the control centre.In addition, the drone on-board sensors could detect a possible damage or loss of equipment during flight much faster and more reliably, especially at high altitudes.Therefore, an automatic parachute system is a desired solution for the protection of the UAV [18].It must also be reliable, to eliminate possible mistakes and unintentional firing of the parachute [19], because unnecessary parachuting at low altitude can damage objects on the ground.Avoiding such accidents requires accurate identification of the free falling state regardless of the axis and angle of the fall [20], but considering varying airflow the drone is subject to during the flight is a considerable challenge.Analysing drone on-board sensor parameters (such as acceleration [21]) can help to avoid false parachute deployment, while it still ensures the protection of the drone from hitting the ground.
Operational and exploration requirements for UAVs impose in particular cases the use of rescue and recovery systems.These systems could possess a large range of constructive solutions, such as recover parachutes [22], airbags [23], safety nets [24], and pneumatic cushions boats [25].The rescue and recovery systems must allow a safe landing in case of emergencies and could become a solution to a standardization regarding landing in extreme weather and geographical conditions [25].
The aim of this paper is to develop and experimentally validate a drone-mounted parachute system capable of timely parachuting and safely landing the drone in case of an accident, attack, or loss of control.

State-of-the-Art
Recovery of self-propelled flying drones in a limited space is a rather difficult task [26].During the halt, problems such as hovering before landing, precise tracking of the UAV, and changing weather conditions are encountered.In this situation, there are several possible options for dropdowns such as parachute, network, or hook-trapping.The descent of these systems can be automated using evolutionary algorithms that help prepare the drone for landing, braking before landing.
Recognition of a critical failure (due to internal malfunction or interaction with an external object or force) is a distinctive problem in itself [27,28].Timely detection of critical failures can be used to enable activation of drone recovery system in order to save an aircraft and/or sensitive data from being destroyed or falling into adversary hands.Solutions include hardware redundancy to detect faulty sensors or equipment [29] and analytical redundancy using, e.g., fuzzy logic, to detect faulty sensor outputs [30], or capturing an external view of an aircraft and subsequently applying image processing techniques to detect damage to the body or parts of an aircraft [28].However, due to the weight, size, and cost limitations, it is not always possible to replicate or put additional equipment on a small UAV such as a drone.
In case of critical failure determined, the autonomous parachute deployment systems are being the primary drone recovery method now [31][32][33].Autonomous Emergency systems are responsible for deploying the parachute in case of a critical failure (e.g., lost radio control signal or electrical or engine failure) [34].The main advantage of the parachutebased drone recovery method is that the UAV may be retrieved at any time anywhere (although an accurate point landing is difficult).In addition, if a parachute is used as the primary recovery method, it may also be used as the emergency recovery method saving additional cost and weight.These systems are designed to safely locate aircrafts in emergency situations.Usually, the UAV flies autonomously to a preselected site and the parachute is deployed ensuring safe recovery.Most parachutes are parafoil or cruciform shaped, stored in the fuselage.In cases where external sensitive equipment is under the fuselage, the parachute is deployed from the belly and the vehicle is inverted so that the parts under the fuselage are protected from the impact.A more complicated system for protecting the vehicle structure or any sensitive parts is the combination of a parachute (deployed normally on top of the fuselage) and an airbag which is inflated under the fuselage a few seconds before touchdown.The airbag may also be used to keep the UAV afloat when landed on water.The main problem in parachute recovery is the transition from horizontal to vertical motion of the vehicle, which starts as soon as the parachute is deployed.Then, although parachute steering is possible, the oscillatory movements of the vehicle present problems in recovery such as inaccurate point landing or touching down at different angles which may damage the vehicle structure [35].
Alizadeh et al. [23] suggested using airbag systems as a shock absorber for UAVs to assist with rapid parachute landings.An airbag system is activated on touchdown to absorb the kinetic energy during the impact with the ground.Bleier et al. [34] presented the risk assessment models for generation of flight paths, which support the automatic deployment of emergency parachutes for Unmanned Aerial Vehicles in emergencies due to loss of propulsion.Based on a risk analysis of the area underneath the flight path, suitable deployment positions are identified, which minimize the chance of endangering humans on the ground, property damage, and loss of the air vehicle.Du [36] introduced simulation model of a certain kind UAVs for UAV recovery system design.
Guo et al. [37] provided six degrees of freedom (DOF) flight dynamics model of UAV and parachute recovery dynamic model for a quantitative prediction of the motion process of UAV and recovery system and predicted dangerous situations at recovery stage.Kim et al. [31] predicted the parachute deployment for landing at the desired point using the neural network and the flight conditions such as the deployment position, UAV's velocity, and wind velocity as input data sets, and landing points such as the cross range and the down range position as output data sets.Li et al. [32] analysed the motion characteristics of the parachute-UAV combination in the whole recycling process and a comparison of the calculated results to the experimental results to verify the reliability of the numerical simulation.Shao et al. [22] evaluated a model of the UAV-parachute system, with wind fields and a control strategy for recovery.
Shyu and Hsiao [33] described the development of mini-UAV that has the capabilities of bungee launch and parachute recovery.Yong and Li [38] studied the optimal parachute decelerating trajectory of mini-UAVs, which is solved by sequential quadratic programming method and genetic algorithm, while the results are used to guide research of parachute design.Zeng and Cai [39] introduced the parachute recovery system composed of fuselage, door, hanger, segregator, shooting system, main parachute, drogue parachute, unlocking system of doors, and binding system.The parachute system was optimized by wind tunnel tests for the UAV being in unfavoured states by air-drop experiment.
Morgan et al. [40] explore the build and design of a ballistic parachute recovery system.This system will monitor several variables in real-time to determine whether or not the aircraft is operating in a safe environment.The elements observed are main battery voltage, current GPS coordinates, and current acceleration.If the system determines that the aircraft is operating in an unsafe environment, the recovery system will cut main power and deploy a ballistic parachute to guide the aircraft safely to the ground.
Cristian and Codrea [41] designed parachute recovery and landing attenuation system for a military reconnaissance drone.The recovery system is able to recover the air vehicle after the complete mission when the vehicle has landed in rough terrain at altitudes from sea level to 3000 m; recover the drone during uncontrolled flight conditions; and serve as safety device to prevent the air vehicle leaving the boundaries of the zone.
Safe landing problems are also relevant in rocket systems [42].Hybrid rockets can be used to control inflatable wings.The advantage of such a system against a simple parachute system is that the landing is controlled and the inflatable wings help to travel to the desired landing location.The inflatable wings occupy a much smaller area than the folds of similar dimensions.However, this type of wing system is difficult to reconcile, the wings are not very stable, they need an inflated compressed gas control equipment.

Parachute Design Considerations.
The purpose of a parachute is to decrease speed while maintaining stability of a falling vehicle or payload.The aerodynamic and stability characteristics of the parachute are determined by its geometric features, which influence opening force and movement trajectory [43].UAVs are subject to increasing demands and are committed to achieving maximum operational reliability.Parachute systems are used to ensure the reliability of operation and the safety of the machine.It is important to know the characteristics of the parachute for proper landing.Parachutes can be of different types, and their parameters of resistance to wind also vary greatly.Inflatable parachute is suitable for slowing down at high altitude, where there is a very rare atmosphere.Parachutes of this type are intended for lowering scientific equipment and measure the direction of a horizontal moving wind.Therefore, the release of a parachute must be fast and efficient.The effectiveness of the parachute spread depends on its size.A simple parachute, which does not need to be controlled gradually, is effective only up to 1.5 m in diameter.Parachutes of this type are expanding very quickly; they can be used for discharging the opening container, from which the parachute simply falls out.Also, a spring exhaust mechanism can be used.
Larger parachutes must withstand much higher overload due to high air resistance during take-off.In order to avoid breaking of the cord, due to the occurrence of a shock, it is necessary to tighten the ropes before the parachute is pulled out.One of the options is to use a rocket engine that pulls the parachute forward.However, such a system takes up quite a lot of space, which is difficult and not practical in small aircraft.Another option is to use a small parachute that drags out a larger parachute.All variations must have the appropriate fall speed during the launch of the parachute.When designing a parachute, several basic criteria need to be taken into consideration: simplicity of design and construction, resistance to tensile stress, and high wind resistance.

Mathematical Model of Parachute Fall.
It is difficult to model the dynamics of parachute ejection, opening, and falling.Usually some simplifications are adopted; for example, the parachute is considered to be a rigid body which is affected by aerodynamic drag, strains the connection riser, and transmits a force to the payload with six degrees of freedom (see Figure 1).
The system of equations presented here is based on the previous works of [43][44][45][46] and is defined as follows: where M is the moment, X, Y, and Z are the body forces,   is velocity, S is parachute surface area,   is the riser force (tension),  is attack angle, and  is sideslip angle.The deceleration of the parachute is calculated as follows: where   is the parachute mass,   is the drone mass,   is riser force,   is parachute drag force, and  is flight path angle, and a is acceleration.
The drag force of the parachute is calculated as follows: where  is drag coefficient,   is projected parachute area,   is parachute velocity,  is air density, and  is an efficiency factor.
As a result, the following system of equations is constructed.
The falling speed is from the body velocities in three axes: The deceleration is calculated as the derivative of the velocity vector: The angle of attack is given by The angle of sideslip is derived by calculating where   ,   ,   are the accelerometer values of the accelerometer axes (x, y, z).
Assuming that v 0 = 0 m / s, we can calculate the total fall speed as follows: where   is the time after which it is checked or the fall speed has not exceeded the set limit.
To eject the parachute emission, we apply the condition that it must reach a certain speed (1.5 m/s) or more within a specified time interval (0.25 s).Otherwise, the parachute will not be ejected.Under such conditions, the drone is not allowed to reach a dangerous fall speed.

Parameter Control.
In order to understand the causes of a drone accident and to identify the distinctive features, it is necessary to analyse previous accidents aiming to find possible solutions to problems.Having evaluated the real situations and in order for the algorithm to be able to distinguish the fall data from the movement data, the fall parameters must be properly described.By measuring accelerometer readings and evaluating parameters with a certain parameter limit, it is possible to detect the moment of falling.
The system must clearly detect the drop and the rise regardless of the drone orientation in the space [47].When knowing the exact moment from when the object began to fall and when it reached the ground, it is possible to calculate the height of the fall.Detection is also relevant to protecting electronics from potential damage during impact.Detecting a fall quickly is especially important in cases where the operation has a very low height.This requires an optimized program code and an appropriate microcontroller capable of processing information as quickly as possible.
To determine the position and height change it is necessary to process the received sensor readings and to reject incorrect values and calculate speeds at certain time intervals.Position tracking algorithms with accelerometers can be used in situations where high precision is not required.The integration algorithm is ideal for low-cost devices due to its simplicity.Also, for all speeds, all calculations are performed using only floating point operations.The data is processed using a low frequency filter.Several different sensors can be used to increase the positioning accuracy.

Calibration of Accelerometer.
Accurate accelerometer values are particularly important for drone speed detection.Due to temperature, accelerometer chip manufacturing inaccuracies, and different stresses occurring during soldering and assembly, deviation of accelerometer values occurs.Minimal and maximum values of the scanned values are processed by the Kalman filter [48] (the delay in the submission of data is not affected during the calibration).The filtered values are compared and recorded at the highest.Subsequently, the subroutine is stopped, the accelerometer is overturned, the accelerometer axis being measured in the opposite direction, and then the scan is continued.The same calibration steps are repeated for each axis.
Accelerometers and gyros have high noise and temperature variations.Therefore, it is not enough to take the values of the sensor data alone, but we also need to know the environmental conditions do the sensor values could be compensated for temperature compensation.It is necessary to measure the sensor values at different temperatures in order to determine possible errors.
A device for adjusting the temperature was made for calibration of the accelerometer.The thermoelectric heating and cooling element was used for this purpose, operating under the Peltier effect principle.Also used are the temperature sensor DS18B20, the radiator for excessive heat or cold of the thermoelectric element, a fan, a 12V power supply, a bidirectional motor control TB6612FNG, and an Arduino microcontroller.
By inserting the accelerometer into the temperature control chamber, first of all, the chamber is positioned so that the axis measured by the sensor is perpendicular to the ground.The fan is mounted on the stand so that it does not touch the cooling system at all and does not affect the sensor's measurement data.Then, the sensor is cooled to 0 ∘ C, then heated to 50 ∘ C, and then cooled again to 0 ∘ C. The process is performed 10 times for each axis of the sensor, in a position that maximizes the values of that axis.
A collection of values has been created in the processing environment, which reads the values through a serial data output and writes them to a text file.The program reads sensor values and checks the conditions to avoid false values, checking whether the value arrives and whether it has more than 30 "char" elements.If conditions are met, values are written to the text document.This cycle is repeated until the program is stopped (Figure 2).
Figure 2 shows the deviations of the accelerometer values depending upon the temperature values.We can see that the acceleration values vary greatly.We assumed the accelerometer can not warm up or cool down evenly due to rapid heating or cooling (5 ∘ C/min).Therefore, it is necessary to significantly reduce the temperature variation in the temperature control chamber.By reducing the temperature change to 1 ∘ C per minute, we obtained the following heating and cooling charts (Figure 3).
From the graph (Figure 3) using linear regression, we have derived the following linear functions of the change of acceleration during the cooling and heating process as follows: where   is the acceleration measured by the accelerometer's Z-axis.The initial and final values of the graphs are similar.Therefore, we can assume that during the cooling time the accelerometer values need to be further elaborated.Since, by heating, the values change evenly without any significant distortion, we assume that deviations of the Z-axis of the sensor from the norm can be compensated by using this function.The same test is performed with other axes (see the results presented in Figures 4 and 5).
From Figures 4 and 5, we can note that the temperatureinduced variations on the X-axis and the Y-axis are considerably smaller than the ones on the Z-axis.The Z-axis  temperature compensation is derived from the heating value function, and the temperature compensation formula is as follows: where    is the compensated acceleration value,   is the measured value of the accelerometer Z-axis, and T is the temperature.
From the graphs of compensated values (Figure 6), we can conclude that the deviations of the values are compensated.However, due to differences in heating and cooling (at the same temperature), the values are compensated to a certain limit, until the maximum deviation reaches 5%.The deviation of the values before compensation was 14%.

Drone Design and Testing
4.1.Settings.Drone testing was performed under real conditions (see Figure 7).The drone frame consisted of a balsam tree reinforced with a glass fibre.This type of frame is extremely lightweight and has low production and repair costs.The electric motor bearing structures consisted of aluminium hollow bars.The Emax company controller was selected for drone engine management.The drone is controlled using the 9-channel receiver using the S-Bus type protocol between the receiver and the master controller.The main controller has several sensors: an accelerometer, a magnetometer, a barometer, and a gyroscope.In order for the drone to fly stably, it was necessary for this controller to adjust the PID parameters.The settings have been adjusted manually.

Electronics.
A system for unlocking the parachute ejection mechanism was created (Figure 8), which deploys the spring holding rope.This system is particularly lightweight and has a small additional space, since it no longer requires a heavy servo motor.The Nichrome wire is used to burn the cord.A MOS type transistor is used to prevent the cord from slipping off when the current is started.Transistor bandwidth is controlled by a PWM type signal.The system is managed by the Arduino microcontroller, which processes the sensor data, and controls the outputs.A battery of 110 mAh lithium polymer has been selected for power supply.Its charging system has an integrated battery charger with battery protection from excessive discharge.The battery is charged through the micro USB connector.The RGB LED is used for indicating the operation.The LED at the start of the system, in colour, indicates the level of the battery voltage and informs about the operation of the system and the fall detection.

Control Algorithm.
For fall detection, we have adopted an approach that is based on the detection of the falling state of the drone.The approach in itself in not new [49] and we selected it due to its simplicity, however, we have improved the approach by introducing compensation for temperature caused variability.The parachute system program (Figure 9) measures the battery voltage, then the accelerometer and gyroscope data.The Z-axis data on the accelerometer is compensated by the temperature-dependent deviation.The axis values are filtered using a Kalman filter.Using the filtered data, the combined acceleration of all axles is calculated.
Then, the condition is checked whether the speed limit is fixed.If the limit is fixed -the time from the moment of capture is measured.After a limited time, the fall acceleration is checked again.If the condition fits, the parachute is ejected.Also, one of the main conditions for detecting the fall state or the unstable operation of a drone is the measurement of the  angle of inclination.When the limit value (at 90 ∘ ) is exceeded, the parachute is ejected.If no condition is satisfied, the cycle is repeated until the condition is satisfied or the shutdown button is depressed.

Parachute Exhaust System.
The parachute was made from a rugged nylon material.Parachute dimensions are chosen such that a 2 kg drone does not fall faster than 5 m/s.Under the selected dimensions, a 16-segment dome-shaped parachute with overlock stitches was made (Figure 10).The diameter of the parachute is 1.45 m.
The parachute exhaust housings (Figure 11) were made of PVC pipe, glass fibre board, and a bottom-mounted mounting piece made of three-dimensional printing.

Testing.
To determine the efficiency of the parachute system, we attempted to detect a fall without the drone itself (the system was thrown onto a soft surface).First of all, the simple fall detection algorithm was tested: when the average of the total values of the acceleration was 15 and the threshold was applied to it.When crossing the limit, the parachute system was triggered.The system worked reliably.However, when placed on the drone, no fall was recorded due to excessive vibrations.Using the Kalman filter for this algorithm, the system worked efficiently.The fall was recorded in 0.5 s.In order to prevent the unintentional ejection, the fall acceleration was checked for a second time after a specified period of time.Only in accordance with the second measurement condition the parachute is to be opened.During critical conditions, when vibrations have extremely high amplitude and frequency, both Kalman and the compliant filter failed to properly filter the errors.As a result, the fall was sometimes erroneously detected.However, in real conditions, we have not detected any false falls.The  operating parachute system during opening stage is depicted in Figure 12.
During the tests, an attempt was made to accelerate the parachute opening, and the parachute was covered with Talc powder from the bonding of the material.A special parachute folding technique is used when the parachute is folded in such a way as to spill as soon as possible.As a result, folded parachute can open much faster.However, the minimum height required for the parachute to land was about 20 m from the ground.

Evaluation
We evaluate the developed UAV parachute system according to the requirements for UAV recovery systems formulated by Wyllie [17] as follows: (i) Safety: a mandatory requirement during landing.
(ii) Protection: protect drone and sensitive on board equipment from damage during landing.
(iii) Accuracy: ensure high accuracy when landing to a planned landing point to minimize landing damage.
(iv) Automation: reduce the number of manual operations by the drone operator.
(v) Reliability: ensure predictability of operation.
(vi) Repeatability: ensure that recovery may be repeated many times during lifetime of the drone.
Since the areas where drones are used are expanding with new applications proposed every year, it is important that drones continue to be used both safely and efficiently in multitude of different environments, while ensuring the avoidance of obstacles [50].For example, the meteorology drones collect data on air temperature, humidity, pressure, wind force, radiation, etc. and should be able to withstand the adverse forces of nature such as strong wind gusts.If flying at high altitudes also the temperature factor should be taken into account [51].
There are significant challenges related to predicting temperature variations when using drones in Arctic [52], where temperature may fall below -50 ∘ C, or in deserts [53], where temperature may exceed +50 ∘ C, but also for more common civilian applications executed during nigh time [54], or for forest fire monitoring [55], when temperatures may fall below or well exceed the range of temperatures most consumer drones are designed for, which is usually 0 ∘ C -40 ∘ C. In this paper we have addressed the challenge of designing a reliable parachute-based recovery system for a drone, which uses the temperature-compensated accelerometer data for parachute ejection.Note that still many other temperaturerelated challenges for drone designers exist, most notably, the impact of temperature on the battery performance and characteristics.

Conclusion
We have proposed a parachute-based system for drone recovery with the accelerator sensor temperature compensation mechanism.The parachute system has been successfully tested in real-life conditions.The fall is detected almost immediately (within 0.5 s).However, it takes much more time for the parachute to unfold, so at less than 20 m height, the parachute still may not be able to unfold in time.The system also includes a mechanism for prevention of unintended parachute deployment.In calculating the rate of fall, the resulting acceleration errors, even after compensation, were high.The calculated speed data could not be relied upon even at small intervals, assuming that an initial speed of falling is equal to 0 m/s.The acceleration deviations can be offset by applying the Kalman filter.The accelerometer values depend significantly upon the environment temperature, so the compensation mechanism based on linear regression was introduced to allow stable detection of drone fall state during harsh environment conditions, such as in a desert environment during a hot summer.

Figure 12 :
Figure 12: System testing under real conditions.
Calculation of Drone Descent Speed.Drone speed is calculated in several steps.In order to know what acceleration the object moves, regardless of the accelerometer position, the sum of the acceleration values for all axes is expressed as