Hovering control algorithm validation for a mobile platform using an experimental test bench

This paper deals with the validation of a hovering control algorithm for a mobile aerial platform executed on a quadcopter pattern. In order to test and evaluate the proposed hovering algorithm in a safe and controllable environment conditions, an experimental test bench has been introduced. As part of the hovering control algorithm implementation process, a brief description of the dynamics and control laws of the quadcopter is presented. The considered control technique in this paper is based on PID control method. A program code has been written using Arduino IDE based on Arduino UNO microcontroller. A description of the conducted indoor experiment for the validation of the hovering algorithm, and also the main results of the performed practical experiment are presented


Introduction
Currently the analysis of existing models of autonomous multi-rotor highly manoeuvrable small unmanned aerial vehicles (UAVs) weighing up to 5 kg is the most promising and demanded field of research in the military and civil spheres. A modern UAV is a flying laboratory, which includes an aerial vehicle and a hardware-software complex that allows operating the device in manual, semiautomatic or automatic mode, as well as receiving, storing and displaying the telemetry data received from the UAV. Small-sized UAVs are now being widely developed for different applications and operations such as search, inspection and sensing of remote areas, hazardous material recovery, real-time forest fire monitoring, disaster relief support, surveillance of sensitive areas (borders, ports, oil pipelines), etc. [1,5,6,9].
Quadcopters have demonstrated a high manoeuvrability, efficiency and simplicity over the other exiting configurations of UAVs when performing different tasks. In terms of control, a quadcopter is an under-actuated system with six degrees of freedom but only four control inputs which are related to the rotor speeds [1,2,4,7]. Thus, by adjusting the rotor speeds separately becomes possible to generate the required thrust and torques for driving the quadcopter in the space. To achieve propulsion in a particular direction, the axis of quadcopter must be tilted with respect to the vertical axis. The translational motion of the quadcopter is hence coupled with its angular orientation, making quadcopter dynamics and control complex [2,8,11].
Generally, the default position of a quadcopter is in hover mode, where the deviations from orientation and hover are calculated using an Inertial Measurement Unit (IMU) and other measuring systems respectively. Then this information is processed and filtered for feeding back into the system for an accurate control of the UAV [3,8,10]. This paper is devoted to the hovering control algorithm validation of an UAV type quadcopter based on PID control method. The quadcopter control algorithm has been implemented using an Arduino architecture. For our study a self-designed quadcopter prototype has been developed, which is equipped with Arduino hardware. The experimental part of our study aims with the optimization of the UAV type quadcopter stabilization near desired hovering position in the space by the use of an experimental test bench ( Figure 5). The proposed test bench is indispensable to perform tests and evaluate the quadcopter hovering control algorithm minimizing commonly risks in a safe and controllable environment conditions [5].
This paper is organized as follows: Section 2 presents a brief description mobile platform dynamic; Section 3 is related to the hover control system design; Section 4 shows the practical implementation of the proposed quadcopter hover algorithm in an experimental test bench; Section 5 presents the simulation results obtained in this work; Section 6 concludes this purpose, such as some notes about future work.

Quadcopter dynamics
The scheme of the quadcopter is provided in Figure 1. Consider the motion of the convertiplane in a fixed cartesian coordinate system OXYZ. Let us assume that O1X1Y1Z1 is the local coordinate system, passing through the center of mass C of the body of the quadcopter and the centers of mass Аi of i-th electric drive with propellers, hereinafter referred to as the rotor. The orientation of the body in the air is set by the Euler Angles (roll φ, pitch θ and yaw ψ angles). The forces applied to the quadcopter can be divided into forces that are set in the global coordinate system OXY: gravity force G ̅ , applied to the center of mass C; and forces, defined in the local coordinate system СX1Y1: the forces generated by the propellers F ̅ i (I = 1-4), applied at the center of mass of the rotors A ̅ i ; As result of the applied forces F ̅ i to the rigid body by the motors the body of the quadcopter produces roll (φ), pitch (θ), and yaw (ψ) angles. According to the forces acting on the quadcopter rigid body, four control inputs can be defined [1-3]: where, -Lift force generated by the i rotors, -Torque produced by each rotor of the system, L -length of the arm from each rotor to the center of mass of the quadcopter, 1 -lift force control input, 2 , 3 , 4 -Euler angles φ, θ, ψ control inputs respectively.
From works [1-3, 7, 9] the govern dynamics of the quadcopter can be expressed in terms of the following system of equations, which governs the dynamics of the quagoverning dynamics of the quadrotor as: where, X1Y1Z1coordinates, which describe the position of the center of mass of the quadcopter in the local system; φ, θ, ψ -Euler angles; mmass of the system; Ixx, Iyy, Izzmoments of inertia along the axes X1Y1Z1 respectively, JRmoment of inertia generated by the propellers of the rotors; Ωangular velocity produced by the rotors and ggravity constant.
In general conditions the system (2) is nonlinear and its solution is convenient to perform it using numerical methods. In our case, we will use this system of equations in the next section as part of the design of the quadcopter hover control algorithm in order to control the position of the UAV in the space.

Hover control system design
With the aim to achieve the hovering control of the quadcopte, the orientation and the altitude of the system must be tracked and controlled. Different control techniques have been implemented in the before mentioned works as we cited in the introduction of this work. Anyways, for practical implementation, performing a robust PID contoller is a suitable alternative. The results carried out with the use of a PID algorithm are competitive over other advanced methods and satiysfy the requirements. In Figure 2 a diagram block of the proposed control strategy is presented. As we can see from Figure 2 the outputs of the system are the PWM signals, which make possible to control the speed of the quadcopter rotors. By controlling the rotor speed parameters, the quadcopter generates the required lift, orientation and altitude values for performing our task.
Besides, the presented hovering control block diagram compares the Euler angles and altitude desired values with the measured (real) values recived from the trajectory generation block, in this way becomes possible to calculate the respective errors. Thus, the measured error values are fed into the respective PID controller block to generate the needed hovering trust, and also the rolling, pitching and yawing control signals. According to the information presented in works [2,[10][11][12], the correction of the before mentioned signals should be done as follows: where, , , -PID controller coefficients, required for a controllable signal response; 1 , 2 , 3 , 4 -lift force and Euler angles control inputs respectively; , desired and real altitude values; φ , θ , ψ commanded Euler angles values; φ , θ , ψ measured Euler angles values.
Then, it is necessary to measure the altitude and orientation of the quadcopter in the space. In this work we are using two sensor units -an inertial sensor unit (IMU-650) and a ultrasonic distance sensor (HC-SR04).
As a suitable method for filtering the obtained data from the sensors is related to the use of a complementary filter [8]. A complementary filter passes the accelerometer signals through a low-pass filter and the gyroscope signals integral through a high-pass filter. Then, the obtained signals are added to estimate the orientation of the UAV in dynamic and static condition cases. The complementary filter block diagram is presented in Figure 3. The code has been developed using Arduino architecture. In this case, we have used an Arduino UNO microcontroller. Also, a user interface for the visualization and validation of the results has been created. The main results of the implementation of the hovering control algorithm are presented in the section 5.

Quadcopter indoor experiment description
In this section, a brief description of the conducted indoor experiment is presented. With the aim to perform the experiment in a safe environment, the test has been completed in an experimental test bench. (Figure 5).
The quadcopter we are using for this experiment is a self-developed prototype created in the laboratory of the Department of mechanics, mechatronics and robotics at Southwest State University (Figure 4). The airframe of the prototype is completed in a symmetrical X configuration, its mass is equal to 1200 kg, the length of the arms (from the center of mass of the UAV to the center of mass of the rotors) is equivalent to 0.55 m. The lift force generated by each of the motors corresponds to 0.8 g. The autonomy of the prototype is approximately 35 minutes.
The indoor experiments were conducted in an experimental test bench. Thus, the quadcopter is fixed in the space, and the first tests can be carried out in a safe environment. The experiment is divided in 3 stages: I -take off, II -trajectory, III -hovering, IV -take-off. According to the dimensions and geometrical characteristics of the test bench, the maximum distance traveled by the quadcopter is around 2 meters during the indoor test. The prototype performs the experiment in a cycle of 60 seconds. During the validation process the cycle is carried out two times.  During the realization of the experiment, the following assumptions have been considered:  The real start position of the quadcopter is 0,85 m and the real end position is 1.75 m relative to the ground;  The rotation around z axis (ψ angle) is set to zero degrees;  The maximum roll (φ) and pitch (θ) angles range is limited to +/-30 degrees;  The desired orientation of the quadcopter in the space relative to the local coordinate system during the experiment is zero degrees;  External disturbances have been excluded.

Validation of the experimental results
In order to implement the proposed hovering control algorithm for the quadcopter. A simulation of the model has been carried out in Simulink/MATLAB [12]. The simulation was performed taking into account the mathematical model of the quadcopter and the real parameters of the electromechanical components of the system. This study provided a better understanding of the quadcopter control. Also, as part of the simulation results, we obtained the information about the coefficients of the controller for hovering task. Hence, during the practical implementation of the hovering algorithm, the simulation-obtained parameters conducted to an unstable hovering of the quadcopter. This problem could be caused by the exclusions token into account during the mathematical modelling process. Thus, during our experiment, the parameters of the controller were improved empirically, based on theoretical control effects [4,6,11].
The experiment was carried out in an indoor environment using the setup depicted below to enhance safety and the accuracy of the measurements (Figure 6).     Once the results of the indoor experiment of the UAV type quadcopter have been carried out, we can conclude that developed system presents a very sensitive characteristic to external factors. In order to achieve the stabilization of the quadcopter it is necessary to perform a high precise configuration of the PID regulators of the system. An inaccurate configuration of the regulators can affect significantly to the stability of the quadcopter (roll over or crash) [12].

Conclusions
In this paper the validation of a proposed hovering control algorithm for a mobile aerial platform executed on a quadcopter pattern has been performed. The introduced experimental test bench was used as an instrument to enhance safety conditions during the performance of the indoor experiment. The simulation-obtained parameters of the model from Simulink/MATLAB conducted to an unstable hovering of the quadcopter, the parameters of the controller were improved empirically, based on theoretical control effects. The obtained practical results satisfy the main requirements of the described task. Further, there will be implemented an adaptive method of control to adjust the PID parameters IOP Publishing doi:10.1088/1757-899X/1027/1/012008 7 values, for example by using a neural network. With the aim to obtain a completely autonomous controller, an outdoor test is planned to be performed. The results of this test will be presented in further publications.