Online identification of wind model for improving quadcopter trajectory monitoring

In this paper, we consider a problem of quadcopter control in severe weather conditions. One type of such weather conditions is a strong variable wind. In this paper, we ponder deterministic and stochastic models of winds at low altitudes with the quadcopter performing aggressive maneuvers. We choose an adaptive algorithm as our control algorithm. This algorithm might seem suitable one to solve the given problem, as it is able to adjust quickly to changing conditions. However, as shown in the paper, this algorithm is not applicable to rapidly changing winds and requires additional filters to smooth the impulse streams, so as not to lose the stability of the object.


Introduction
The development of modern technologies in the field of aerodynamics, composite materials, electronics, satellite navigation and robotics allowed to reach a qualitatively new level for the creation of unmanned aerial vehicles [1][2][3][4][5].Now there are many different unmanned aerial vehicles or drones for solving various problems.One kind of such devices is a quadcopter.
Quadcopters are unmanned aerial vehicles with four rotors arranged vertically.The advantages of quadcopters include mobility, low cost and maneuverability.Such drones can reach speeds of up to 70 km/h.This fact makes difficult to control them remotely.Therefore, the best solution is to create autonomous control systems.
The priority directions of the quadcopter's development are defense, law enforcement and nature protection activities, rescue operations, environmental monitoring and scientific research [1,2].They help solve dangerous for human problems, like penetrating the emergency nuclear reactors or plunging into the mouth of a volcano.
However, to solve these problems, it is necessary to develop a control system capable of responding to various external influences, so that the drone does not lose stability during the flight.Also one of the disadvantages of quadcopters is a limited supply of energy.For this, it is necessary that the drone overcomes the problem as quickly and efficiently as possible.
To perform these high requirements, it is necessary to develop an autonomous control system that takes into account these factors.
The purpose of this paper is to develop an adaptive control system that can take into account the wind shear during the quadcopter's movement.The term "wind shear" is used for light aircrafts to describe the impact of wind on drones' behavior.To make our reasoning more complex, we study aggressive maneuvers of the drone and allow for variable as well as instantly changing speed and/or direction of the wind.The work is a continuation of the research presented in papers [6,7].

Wind models
Usually, quadcopters are used at low altitudes.At these altitudes, the term "wind shear", introduced in Chapter 1, refers to a set of air movements in the lower layers of the atmosphere, from small gusts and turbulence to a powerful displacement of the air mass of one layer relative to the other.The most common definition of wind shear is the following: "change in wind speed and/or direction in space, including ascending and descending air currents".This explanation implies that any atmospheric phenomenon or even any physical obstacle in the path of the prevailing airflow, resulting in a change in the wind speed and/or direction, is essentially the cause of the wind shear.The wind shear is always present in the atmosphere [8].
The wind shear is important because of its impact on the flight characteristics of the drones and, in consequence, due to the potentially adverse effect on safety.
In general, the wind velocity wind V in the lower layers of the atmosphere can be represented in the form (1): where const V and rand V -deterministic and stochastic components of wind velocity, respectively.
Consider the deterministic component of the wind velocity.In the lowest layers of the atmosphere, the E3S Web of Conferences 19, 01028 (2017) direction of the wind changes slowly, and the wind velocity increases with altitude according to the logarithmic law of wind [8], represented in the form (2).

  
where const V -wind velocity at altitude z , 0 V - "friction velocity", , -unit vectors in the coordinate system associated with the quadcopter, σ -intensity of turbulence, L -spatial wavelengths, a V -quadcopter velocity.Parameters for the Dryden model of wind gusts are defined in MIL-F-8785C [9].
Given the presented wind speed model, it is possible to record the drag force res F as (4).
where a V ~ -velocity of the quadcopter relative to air mass, res k -coefficient of resistance.

Quadcopter model
In this chapter, we approach the problem of quadcopter control along a given trajectory.The considered quadcopter is assumed to perform aggressive maneuvers.An aggressive maneuver is a trajectory of motion in which the control actions of a quadcopter are close to their limitations, but do not exceed them.This will minimize the energy consumption of batteries and, hence, the maneuver finished as soon as possible.
We developed a detailed and precise mathematical model of the quadcopter.This model takes into account that the considered quadcopter is asymmetric with respect to its center of mass (5).The model is described in detail in [6,7].In contrast to the model presented in [6,7], in this paper, we will examine in detail the resistance forces to the motion of a quadcopter.
where I -inertia tensor, Ω -angular velocity vector, m I -motors' moment of inertia, i  -i th motor's angular velocity of rotation,   z .To select one of the three values, we needed to use additional filtering and averaging.This was because as the wind was changing sharply or there was no wind along one of the axes, the identification algorithm degenerated and was converging for a long time.In order not to lose the stability of the quadcopter, we had to impose restrictions on the identifiable parameters.

The simulation
For our simulations, we used an "eight-shaped" trajectory.In the beginning, the quadcopter flew up to 2 meters above the earth and carried out a maneuver.During this simulation, the velocity and direction of the wind was changing.The model parameters were as follows.

Conclusions
In this paper, we have approached the problem of controlling the motion of a quadcopter along a given trajectory.We chose an aggressive "eight-shaped" trajectory.The quadcopter flew under a strong variable wind.Stochastic and deterministic wind models were considered.We have solved the problem by means of the adaptive control method based on the inverse dynamics algorithm.We created an algorithm for online identification of wind model parameters.During the simulation, the algorithm proved its general effectiveness.However, it turned out not to be effective in gusty variable winds.This was because the algorithm lacked time to reconfigure and hence did not manage to take into account the influence of wind in the control algorithm.In further studies, we plan to address this problem.This notwithstanding, taking into account the influence of wind on the quadcopter's motion seems to prop up the stability of the control object and the accuracy of the quadcopter's motion along it's trajectory under varying wind conditions.
component of wind velocity.The results of experimental studies indicate that for unsteady part of the wind, a model specified by the von Karman turbulence spectrum can be used [8].Unfortunately, the von Karman spectrum does not lead to a rational transfer function.A suitable approximation of the von Karman model is given by the Dryden transfer functions (3) [8].
distances from centre of the i th motor to the quadcopter's gravity centre for axes Ox and Oy , respectively.

The first equation ( 5 )
describes the motion around the quadcopter's center of mass.The second equation (5) describes the motion of the center of mass in an inertial coordinate system.The third equation is a kinematic equation.It connects the orientation parameters with the angular rotation velocity of the quadcopter.The system of equations (6) relates the angular rotational velocities of the quadcopter to the lifting force and torque generated by motors.4 The control algorithm We choose an adaptive algorithm based on inverse dynamics, described in [7], as our control algorithm.The choice of such a control algorithm will allow the quadcopter to react quickly to changes in the resistance forces and improve the control accuracy.In this paper, the variable part in the control algorithm was the resistance force.Using the adaptive algorithm, the parameters were identified and compensated in the control algorithm.Taking into account that the speed and direction of the wind can change with time, and the quadcopter can fly over different surfaces, the parameters 0 V and 0 z are variable in time.An algorithm for identifying these parameters was developed and can be presented in the form of (9) -(13) [10-13].
this algorithm include the redundancy of the data, in particular, of the parameter 0

Fig. 1 Fig. 1 .Fig. 2 .
Fig.1shows the wind velocity vector from the simulation and from the identification algorithm.In Fig.2, we depict the parameters of the wind velocity model.

Fig. 3 .
Fig. 3.The trajectory of the quadcopter motion without taking into account the wind velocity in the control algorithm.

Fig. 4 .
Fig. 4. The trajectory of the quadcopter motion taking into account the wind velocity in the control algorithm.