Next Article in Journal
Investigation of Surface Defects in Optical Components Based on Reflection Mueller Matrix Spectroscopy
Previous Article in Journal
Plasmonic Nanomaterials for Micro- and Nanoplastics Detection
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Discrete Integral Optimal Controller for Quadrotor Attitude Stabilization: Experimental Results

by
Gildardo Godinez-Garrido
1,2,
Omar-Jacobo Santos-Sánchez
1,
Hugo Romero-Trejo
1,* and
Orlando García-Pérez
1
1
Research Center in Information Technology and Systems, Autonomous University of the State of Hidalgo, Pachuca 42184, Mexico
2
Industrial Electromechanical Area, Technological University of Tulancingo (UTEC), Tulancingo 43642, Mexico
*
Author to whom correspondence should be addressed.
Appl. Sci. 2023, 13(16), 9293; https://doi.org/10.3390/app13169293
Submission received: 6 June 2023 / Revised: 10 August 2023 / Accepted: 12 August 2023 / Published: 16 August 2023
(This article belongs to the Topic Vehicle Dynamics and Control)

Abstract

:
The Unmanned Aerial Vehicle (UAV) attitude stabilization problem has been dealt with in many previous works through applying a vast range of philosophies of control strategies. In this paper, a discrete controller based on a Linear Quadratic Regulator (LQR) plus integral action is synthesized to stabilize the attitude and altitude of a quadrotor helicopter. This kind of control strategy allows us to reduce the energy consumption rate, and the desired UAV behavior is properly achieved. Experimental tests are conducted with external disturbances such as crosswinds deliberately added to affect the performance of the aerial vehicle. This provides experimental evidence that the integral part considered in the proposed control strategy contributes to improving the performance of the vehicle under external disturbances. In fact, a comparative analysis of potential and kinetic energy consumption is developed between the Optimal Integral Controller (OIC) and a Proportional Integral Derivative Controller (PID), allowing us to determine the level of improvement of the closed-loop system when the discrete Integral Optimal Controller is applied.

1. Introduction

In recent years, several works have been reported in the literature addressing the application of optimal control of quadrotors [1,2]. However, this issue remains interesting to the scientific community because it represents a current challenge from the point of view of control theory and engineering (mainly its real-time applications). Many techniques related to optimal control philosophy have been applied to UAVs, but this paper proposes to add an integral action to Linear Quadratic Regulator, in order to improve the performance of the closed-loop system. Moreover, both the mathematical model and synthesized control strategy are obtained in discrete time domain, ensuring a better representation to be programmed in a microcontroller such that Rabbit 4300. In this sens, recent reported works have demonstrated that it is possible to ensure the stability in discrete-time domain for multi-input-multi-output (MIMO) systems. This has been achieved through a generalization of the Letov formula, as mentioned in [3].
A typical control strategy with integral action is the Proportional-Integral-Derivative (PID) controller, which is widely used in industrial processes and devices because it can be heuristically tuned independently of the mathematical model of the system and can be used in both linear and nonlinear systems. However, there also exist many graphical and theoretical methods to tune it considering the dynamical behavior or the mathematical model of system.
It is well known that the integral action of a PID controller provides a correction for steady-state tracking error even in the presence of uncertainties [4], providing some degree of robustness to the control loop. Although this three-action controller is a powerful idea, sometimes it is not efficient or appropriate for a specific tasks. Then, it can be improved by modifying the control parameters with an adaptive scheme or by adding a nonlinear part.
This contribution uses the advantages of the integral action of the PID controller combined with modern control techniques through regulation via optimal control in order to improve the performance of a quadrotor when it executes an attitude and altitude stabilization task. Integral control applied to Unmanned Aerial Vehicles has been explored in some reported works. An integral predictive and nonlinear robust control strategy was synthesized in [5], wherein the authors solve the path-following problem for a quadrotor helicopter. The proposed control structure has a hierarchical scheme consisting of a model predictive controller to track the reference trajectory together with a nonlinear H controller to stabilize the rotational movements of the considered vehicle; satisfactory simulation results were presented. In [6], an Integral Backstepping controller and motion planning are combined to stabilize the helicopter using point-to-point steering stabilization. Simulation results were presented to test the performance of the closed-loop system and its robustness. The same technique was presented in [7]: the goal of this work was to stabilize the attitude, altitude, and position of the vehicle. Satisfactory results for autonomous take-off, hover, landing and collision-avoidance tasks were presented, and all were validated on the OS4 simulation platform.
In addition, a comparison between PID, Linear Quadratic Regulator (LQR) and nonlinear controllers (Adaptive Integral Backstepping Controller) was exposed in [8]. A nonlinear control approach was proposed based on a recursive Lyapunov methodology using the Backstepping technique and an adaptive scheme. Satisfactory simulations and real-time experiments were conducted. In [9], LQR continuous control was used to stabilize the attitude and altitude of an Octocopter. Numerical simulations demonstrated the effectiveness of the control strategy under nominal conditions, and the authors improved the LQR by adding integral action to the altitude controller. In [10], once again an LQR methodology and integral state augmentation were adopted to achieve the desired performance of the control system. The unmeasured state variables were estimated by means of a reduced-order observer. Satisfactory simulation results for the UAV helicopter were presented. Toledo et al. [11] conducted similar work in which they used a control scheme based on Integral Backstepping with sliding modes applied to a multi-rotor vehicle. This control methodology was experimentally tested using the vision system Optitrack. Results were reported for the altitude z and displacement on the x- and y-axes. However, no analysis of energy consumption was presented, nor were real-time tests with external disturbances conducted and reported. In [12], Elkhatem published LQR and LQR-PI controllers that are applied to a quadcopter. The high performance and robustness of the Linear Quadratic Regulator controllers ensure the ability to reduce deviations in state trajectories with minimal control effort. In this work, the weighting matrices are automatically adjusted through a novel method using the full state of the flying robot. Feasibility and performance of the closed-loop system is only tested by simulation routines.
In the literature, it is possible to find documents in which the LQR technique is combined with other types of controllers, such as fuzzy controllers. For example, in [13], Malik presents the development of a longitudinal controller design for an autonomous unmanned aerial vehicle (UAV). In this work, the researchers proposed a dual-loop (inner–outer loop) control method based on intelligent algorithms. The inner feedback loop of controller uses a Linear Quadratic Regulator (LQR) to ensure adaptive stability. Meanwhile, the outer loop controller employs a Fuzzy-PID algorithm for deal with the trajectory tracking task.
Moreover, neuro-fuzzy controllers have also been recently used for the control of UAVs. In [14], Jinjun Rao et al. developed a position control approach for a quadrotor using a cascade Fuzzy Neural Network (FNN). This approach requires offline neural network training, combining the benefits of fuzzy systems and neural networks. According to authors, this fuzzy control strategy demonstrated its ability to minimize the overshoot and the settling time. This was tested by conducting flight simulations and real-time flights using a DJI Tello quadrotor UAV, showing an acceptable position control performance. In fact, one of advantages of neuro-fuzzy controllers is their ability to handle nonlinear systems, which offers better adaptability. Particularly, the controller architecture proposed in that work allows to optimize the use of the robot’s energy resources and also providing robustness to the control loop. Also, this produces a balance between adaptability and efficiency, making it particularly useful for UAV applications where energy efficiency and robust control are crucial. That type of controller can also be used in other fields such as the study of seismic structural control. In this field, the contributions reported works by Abbas and his collaborators in [15,16,17] should also be mentioned, they use neuro-fuzzy controllers and a PID controllers to tackle both stabilization and trajectory tracking task for aerial robots.
In this contribution, UAV stabilization is tackled using a controller that combines an optimal strategy (LQR) with the integral action. A difference from other reported works such as [5,9,10,12] is that this optimal synthesized controller is tested in a real-time setting, providing experimental results for the altitude stabilization problem in a four-rotor helicopter. To control the position and orientation of the vehicle, the system was subdivided into four subsystems, as was proposed in [18], and the integral action is added as an additional state variable [4] in the four subsystems. A previous exact linearization was performed on the dynamical model in order to remove the Coriolis terms and transform the rotational dynamics in the second-order differential equation depending on external torque inputs. So for control of the altitude and attitude of the UAV, four optimal controls with integral action are proposed: one for each subsystem. The controllers for rotational dynamics are synthesized using the assumption that pitch, roll and yaw are inside a bounded region around the origin, which is an equilibrium point for this aerial vehicle. The proposed optimal control strategy assumes that all state variables are available. Our proposal is experimentally tested in takeoff and altitude stabilization tasks. An Optitrack vision system is used to obtain the whole state of the vehicle, and satisfactory results are obtained when the optimal discretized controller with integral action is applied.
So the main contributions of this work are:
  • Synthesis, analysis and implementation of Optimal Integral Control (OIC) tuned under the QR approach and applied to trajectory tracking of takeoff and hover flight of UAVs.
  • Experimental validation of the OIC by real-time tests in the presence of induced crosswind disturbances applied during the trajectory tracking of takeoff and hover flight of a UAV, allowing the analysis of the robustness of the closed loop with the proposed control scheme.
  • Comparison of the kinetic and potential energy between the PID and the Optimal Integral Control when a trajectory tracking task is executed for the take-off and hover-flight phases of the UAV in the presence of induced crosswind.
The paper is organized as follows: The nomenclature and symbols used throughout this document are presented in Section “Nomenclature”, while the introduction is reported in Section 1. Moreover, Section 2 is devoted to showing the mathematical model of the UAV together with the synthesis of the proposed control law. In Section 3, the experimental platform is shown. Real-time experimental results are displayed in Section 4, and finally, the conclusion and discussion are reported in Section 5.

2. Control Strategy

In this section, we synthesize the proposed optimal controller with integral action added. Firstly, some basic concepts about integral control are briefly recalled in order to set up a discrete time control strategy to be applied to a quadcopter.

2.1. Integral Control

Consider the nonlinear system:
x ¯ . = f ( x ¯ , u ¯ )
y ¯ = h ( x ¯ ) ,
where the state x ¯ R n , and the vector control u ¯ R p . The variables f and h are continuously differentiable functions in a domain D x ¯ × D u ¯ R n × R p , and y ¯ R p is the controlled output. Let y ¯ R R p be a constant reference; the integral control is a feedback state such that
y ¯ ( t ) y ¯ R , t
Assume that the controlled output y ¯ can be measured. Note that for our case y ¯ = x ¯ because when using the Optitrack vision system, the complete state is measurable and therefore available. The regulation task will be achieved by stabilizing the system at an equilibrium point where y ¯ = y ¯ R . In order to maintain it in that equilibrium condition, there exists a pair ( x ¯ s s , u ¯ s s ) D x ¯ × D u ¯ such that:
0 = f ( x ¯ s s , u ¯ s s ) ,
0 = h ( x ¯ s s ) y ¯ R .
Assume that these equations have a unique solution ( x ¯ s s , u ¯ s s ) . Now, the integral action is included as follows: consider the tracking error e ¯ =   y ¯ y ¯ R . Then, the following equivalence is defined
σ . = e ¯ = y ¯ y ¯ R ,
So control will be obtained as a feedback function of x ¯ and σ ¯ such that in the closed loop there is an equilibrium point ( x ¯ , σ ¯ ) with x ¯ = x s s . Assuming that the system is linearizable around x s s , σ ¯ , u s s , it follows that:
ξ . ¯ = A 0 C 0 ξ ¯ + B 0 v A ξ ¯ + B v ,
with
ξ ¯ = x ¯ x s s σ ¯ σ ¯
v = u ¯ u s s where:
A = f x ¯ ( x ¯ , u ¯ ) = ( x s s , u s s ) , B = f u ¯ ( x ¯ , u ¯ ) = ( x s s , u s s ) ,
C = h x ¯ x ¯ = x s s
Assume that the pair ( A , B ) is controllable and
r a n k A B C 0 = n + p .
Then ( A , B ) is controllable [4]. Then, design a matrix K such that A + B K is Hurwitz [4]. Consider the partition for the matrix K as [ K 1   K 2 ] . The control signal is then defined by:
u ¯ = K 1 ( x ¯ x s s ) + K 2 ( σ ¯ σ ¯ ) + u s s .
It is not difficult to verify that the closed-loop nonlinear system has a unique equilibrium point ( x s s , σ ¯ s s ) [4]. As is demonstrated in [4], the equilibrium point ( x s s , σ ¯ s s ) is exponentially stable, and all solutions starting close enough to this equilibrium point approach it as t tends to infinity. Then y ¯ ( t ) y ¯ R 0 as t . Following these ideas, in this contribution, the matrix K is designed using the optimal control approach. For altitude, we take advantage of the fact that in the mathematical model for the altitude of the quadrotor, it can be stabilized by exact linearization, and then, it is not necessary to linearize the nonlinear dynamics. The integral action is used to minimize the effects of external disturbances on vehicle performance. Figure 1 shows the basic scheme for the control of integral action.

2.2. Mathematical Model of the Quadrotor

The following assumptions are considered in this paper to obtain a simplified version of the mathematical model of a vehicle [7,18]
  • The quadcopter is a rigid and symmetric body.
  • The center of gravity of the vehicle coincides with the origin of the body frame.
  • The propellers are rigid and have a fixed pitch.
  • At low velocities, aerodynamic effects can be neglected.
  • The angles are restricted: π / 2 < ϕ < π / 2 , π / 2 < θ < π / 2 and ψ = 0 .
The dynamical model considered is that reported in [19,20] with the following structure:
m x . . = u sin θ m y . . = u cos θ sin ϕ m z . . = u cos θ cos ϕ m g ϕ . . = τ ϕ θ . . = τ θ ψ . . = τ ψ ,
where x and y are the displacements in the horizontal plane, z is the vertical position, ψ is the yaw angle around the z-axis, θ is the pitch angle relative to the y-axis, and ϕ is the roll angle around the x-axis. The control inputs are: u, τ ϕ , τ θ , and τ ψ , with u the collective throttle generated by the four motors to lift the UAV; τ ϕ , τ θ , and τ ψ are the torques generated around the axes x, y, and z, respectively.
Here, the authors have assumed that there exists a previous controller τ ˜ = C ( η , η ˙ ) η ˙ + J τ (see the mathematical model given by Equations (2.4) and (2.5), p. 34 of [18]), where η = ( ϕ , θ , ψ ) T is the angular position vector, C ( η , η ˙ ) is the Coriolis terms matrix, and J is the inertia matrix. With this control, we arrive at the last three equations of the mathematical model given by (2), which define the resulting rotational dynamics τ ˜ = ( τ ϕ , τ θ , τ ψ ) T . Figure 2 shows a schematic representation of the positions and angles of the quadrotor.
Now, in order to obtain a discrete space state representation of the mathematical model of a flying robot, the following state variables are defined:
x 1 = x , x 2 = x ˙ , x 3 = y , x 4 = y ˙ , x 5 = z , x 6 = z ˙ , x 7 = ϕ , x 8 = ϕ ˙ , x 9 = θ , x 10 = θ ˙ , x 11 = ψ , x 12 = ψ ˙ ,
and discretizing the related continuous model by applying the Euler approximation considering a sampled period T, it becomes:
x 1 ( k + 1 ) = T x 2 ( k ) + x 1 ( k ) x 2 ( k + 1 ) = T m u ( k ) sin ( x 9 ( k ) ) + x 2 ( k ) x 3 ( k + 1 ) = T x 4 ( k ) + x 3 ( k ) x 4 ( k + 1 ) = T m u ( k ) cos ( x 9 ( k ) ) sin ( x 7 ( k ) ) + x 4 ( k ) T g x 5 ( k + 1 ) = T x 6 ( k ) + x 5 ( k ) x 6 ( k + 1 ) = T m u ( k ) cos ( x 9 ( k ) ) cos ( x 7 ( k ) ) + x 6 ( k ) T g x 7 ( k + 1 ) = T x 8 ( k ) + x 7 ( k ) x 8 ( k + 1 ) = T τ ϕ ( k ) + x 8 ( k ) x 9 ( k + 1 ) = T x 10 ( k ) + x 9 ( k ) x 10 ( k + 1 ) = T τ θ ( k ) + x 10 ( k ) x 11 ( k + 1 ) = T x 12 ( k ) + x 11 ( k ) x 12 ( k + 1 ) = T τ ψ ( k ) + x 12 ( k )
All of the above was performed in order to apply a digital version of a synthesized optimal controller with integral action to a quadrotor helicopter.

2.3. Discrete Model and Integral Control

As mentioned previously, the mathematical model can be subdivided into four subsystems: subsystem z ( k ) , ψ ( k ) , x ( k ) θ ( k ) and y ( k ) ϕ ( k ) . For subsystem z ( k ) , we have:
x 5 k + 1 = T x 6 ( k ) + x 5 k , x 6 k + 1 = T u ( k ) m cos x 9 k cos x 7 k g + x 6 k
Now, we use an exact linearization as follows:
u ( k ) = m ( u 1 ( k ) + g ) ( cos ( x 9 ( k ) ) cos ( x 7 ( k ) ) ) 1 ,
with these control laws for each subsystem, which are linear and are defined as:
x 1 z ( k + 1 ) x 2 z ( k + 1 ) = 1 T 0 1 A z x 1 z ( k ) x 2 z ( k ) + 0 T B z u 1 ( k ) ,
where x 5 ( k ) x 1 z ( k ) and x 6 ( k ) x 2 z ( k ) . Define e 1 z ( k ) = x 1 z ( k ) x 1 z R ( k ) , and e 2 z ( k ) x 2 z ( k ) x 2 z R ( k ) ; these are the errors for x 1 z ( k ) and x 2 z ( k ) , respectively, and x 1 z R ( k ) and x 2 z R ( k ) are the references. The augmented system for the subsystem z ( k ) is:
ξ z ( k + 1 ) = A z 0 C z I 2 A z ξ z ( k ) + B z 0 B z u 1 ( k )
where ξ z ( k ) = x 1 z ( k ) x 2 z ( k ) σ 1 z ( k ) σ 2 z ( k ) T and C z = T I 2 . It is not a difficult task to verify that the pair ( A z , B z ) is controllable in a finite number of steps. Define the following performance index:
J z = k = 1 ( ξ z T ( k ) Q z ξ z ( k ) + u 1 2 ( k ) R z ) ,
where Q z is a semidefinite positive matrix of appropriate dimensions and R z is a real positive number. As the pair ( A z , B z ) is controllable, there exists an unique solution to the Riccati equation given by:
P z = A z T P z A z A z T P z B z ( R z + B z T P z B z ) 1 B z T + Q z ,
and the solution P z describes the optimal control for the subsystem z ( k ) given by:
u 1 * ( k ) = ( R z + B z T P z B z ) 1 B z T P z A z ξ z * ( k ) .
The discrete model for ψ ( k ) is given by:
x 11 k + 1 = T x 12 ( k ) + x 11 k , x 12 k + 1 = T τ ψ ( k ) + x 12 k ,
Let x 11 ( k ) x 1 ψ ( k ) and x 12 ( k ) x 2 ψ ( k ) ; then, the subsystem ψ ( k ) can be rewritten as:
x 1 ψ ( k + 1 ) x 2 ψ ( k + 1 ) = 1 T 0 1 A ψ x 1 ψ ( k ) x 2 ψ ( k ) + 0 T B ψ τ ψ ( k )
Define e 1 ψ ( k ) x 1 ψ ( k ) x 1 ψ R ( k ) and e 2 ψ ( k ) x 2 ψ ( k ) x 2 ψ R ( k ) , where x 1 ψ R ( k ) and x 2 ψ R ( k ) are the given references for the variables x 1 ψ ( k ) , x 2 ψ ( k ) , respectively. Then, the augmented vector for the subsystem ψ ( k ) :
ξ ψ ( k ) ( k ) = [ x 1 ψ ( k ) x 2 ψ ( k ) σ 1 ψ ( k ) σ 2 ψ ( k ) ] T .
The space state representation of the augmented system is:
ξ ψ ( k ) ( k + 1 ) = A ψ ξ ψ ( k ) + B ψ τ ψ ( k )
where:
A ψ = A ψ 0 C ψ I 2 , B ψ = B ψ 0 , C ψ = T I 2 ,
Consider the performance index:
J ψ = k = 1 ( x ψ T ( k ) Q ψ x ψ ( k ) + τ ψ 2 ( k ) R ψ )
with an appropriate dimension matrix Q ψ 0 and a real R ψ > 0 . As the pair ( A ψ , B ψ ) is controllable in a finite number of steps, the optimal control law with integral action is given by:
τ ψ * ( k ) = ( R ψ + B ψ T P ψ B ψ ) 1 B ψ T P ψ A ψ x ψ * ( k ) ,
where matrix P ψ is the unique solution to the algebraic equation:
P ψ = A ψ T P ψ A ψ A ψ T P ψ B ψ ( R ψ + B ψ T P ψ B ψ ) 1 B ψ T + Q ψ .
For the subsystem y- ϕ ( k ) :
x 3 k + 1 = T x 4 ( k ) + x 3 k , x 4 k + 1 = T u ( k ) m cos x 9 k sin x 7 k + x 4 k , x 7 k + 1 = T x 8 ( k ) + x 7 k x 8 k + 1 = T τ ϕ ( k ) + x 8 k
The control u ( k ) was defined as an exact linearization, and the optimal control u 1 * ( k ) ; then, the second equation is given by
x 4 k + 1 = T ( u 1 * ( k ) + g ) tan x 7 ( k ) + x 4 k ,
but u 1 * ( k ) tends to zero when k tends to infinity. Then, there exists n Z + such that for all k n T ,   u 1 * ( k ) is bounded and neglected; it follows that:
x 4 k + 1 = g T tan x 7 ( k ) + x 4 k .
Let there be a control law τ ϕ ( k ) that guarantees that tan x 7 ( k ) x 7 ( k ) ; therefore, x 4 k + 1 = g T x 7 ( k ) + x 4 k . Having this idea in mind, consider the following definition:
x 3 ( k ) x 1 y ( k ) , x 4 ( k ) x 2 y ( k )
x 7 ( k ) x 3 ϕ ( k ) , x 8 ( k ) x 4 ϕ ( k ) ,
with this definition, the space state representation of the linearized system is:
x 1 y ( k + 1 ) x 2 y ( k + 1 ) x 3 ϕ ( k + 1 ) x 4 ϕ ( k + 1 ) = 1 T 0 0 0 1 g T 0 0 0 1 T 0 0 0 1 A y ϕ x 1 y ( k ) x 2 y ( k ) x 3 ϕ ( k ) x 4 ϕ ( k )
+ 0 0 0 T B y ϕ τ ϕ ( k )
In order to use the discrete integral control, define the errors:
e 1 y ( k ) x 1 y ( k ) x 1 y R ( k )
e 2 y ( k ) x 2 y ( k ) x 2 y R ( k )
e 3 ϕ ( k ) x 3 ϕ ( k ) x 3 ϕ R ( k )
e 4 ϕ ( k ) x 4 ϕ ( k ) x 4 ϕ R ( k )
where x 1 y R ( k ) , x 2 y R ( k ) , x 3 ϕ R ( k ) and x 4 ϕ R ( k ) are the references for the variables x 1 y ( k ) , x 2 y ( k ) , x 3 ϕ ( k ) and x 4 ϕ ( k ) , respectively. Then, the augmented state vector for the subsystem y- ϕ is given by:
ξ y ϕ ( k ) = x 1 y ( k ) x 2 y ( k ) x 3 ϕ ( k ) x 4 ϕ ( k ) σ 1 y ( k ) σ 2 y ( k ) σ 3 ϕ ( k ) σ 4 ϕ ( k ) T
ξ y ϕ ( k ) ( k + 1 ) = A y ϕ 0 C y ϕ I 2 A y ϕ ξ y ϕ ( k ) ( k ) + B y ϕ 0 B y ϕ τ ϕ ( k )
where C y ϕ = T I 2 . As the pair ( A y ϕ , B y ϕ ) is controllable, there exists an optimal control law τ ϕ * ( k )
τ y ϕ * ( k ) = ( R y ϕ + B y ϕ T P y ϕ B y ϕ ) 1 B y ϕ T P y ϕ A y ϕ x y ϕ * ( k )
which minimizes:
J y ϕ = k = 1 ( x y ϕ T ( k ) Q y ϕ x y ϕ ( k ) + τ y ϕ 2 ( k ) R y ϕ )
where matrix Q y ϕ 0 has appropriate dimensions and the real R y ϕ > 0 . The matrix P y ϕ is the unique solution to the algebraic equation:
P ψ = A ψ T P ψ A ψ A ψ T P ψ B ψ ( R ψ + B ψ T P ψ B ψ ) 1 B ψ T + Q ψ .
A similar procedure is used to obtain the optimal control τ x θ * ( k ) for the subsystem x- θ :
τ x θ * ( k ) = ( R x θ + B x θ T P x θ B x θ ) 1 B x θ T P x θ A x θ ξ x θ * ( k )
where:
x 1 ( k ) x 1 x ( k ) , x 2 ( k ) x 2 x ( k ) , x 9 ( k ) x 3 θ ( k ) , x 10 ( k ) x 4 θ ( k ) , e 1 x ( k ) x 1 x ( k ) x 1 x R ( k ) , e 2 x ( k ) x 2 x ( k ) x 2 x R ( k ) , e 3 θ ( k ) x 3 θ ( k ) x 3 θ R ( k ) , e 4 θ ( k ) x 4 θ ( k ) x 4 θ R ( k ) .
The augmented vector is:
ξ x θ ( k ) = x 1 x ( k ) x 2 x ( k ) x 3 θ ( k ) x 4 θ ( k ) σ 1 x ( k ) σ 2 x ( k ) σ 3 θ ( k ) σ 4 θ ( k ) T ,
and the following performance index is minimized:
J x θ = k = 1 ( ξ x θ T ( k ) Q x θ ξ x θ ( k ) + τ x θ 2 ( k ) R x θ )
where Q x θ 0 , R x θ > 0 and P x θ is the solution to the algebraic Riccati equation:
P x θ = A x θ T P x θ A x θ A x θ T P x θ B x θ ( R x θ + B x θ T P x θ B x θ ) 1 B x θ T + Q x θ
where
A x θ = A x θ 0 C x θ I 2 , B x θ = B x θ 0
and
A x θ = 1 T 0 0 0 1 g T 0 0 0 1 T 0 0 0 1 , B x θ = 0 0 0 T ,
C x θ = T I 2 .
These controllers were tested on an experimental platform described in the next section.
Remark 1. 
The OIC strategy combines two advantages of the PID and LQR control approaches: the integral part of the error and the penalization of the energy consumption and convergence of the state, respectively. In contrast to the suboptimal nonlinear discrete control approach [21], which penalizes the energy consumption and convergence of the state with state feedback plus an offset, the OIC substitutes the offset part by the integral part, which provides more robustness in a closed loop in the presence of external disturbances.

3. Experimental Platform

As shown in Figure 3, the experimental platform setup uses an Optitrack Flex 3 vision system to compute the UAV’s position and orientation. The UAV has 6 markers, which are looked at by 12 cameras; the information generated by the cameras is sent to Motive software using the USB protocol. This information is sent to Visual C++ software from Motive software using sockets; it allows to compute in C++ lenguage the integral control laws applied to stabilize the UAV at hover. The PC and UAV are communicated via RS-232 wireless protocol through two Xbee Pro S1 modems at 38,400 bits per second. Furthermore, a Futaba RF radio control is used for manual wireless control of the quadcopter, acting as emergency control if a risk situation occurs in the UAV.
Figure 3 and Figure 4 show how a Parrot’s frame was used to build the platform’s quadrotor. The UAV has an embedded Rabbit module RCM4300, one inertial measurement unit (IMU)3DM-GX3 from MicroStrain, one radio receiver and one Xbee Pro S1 modem.
The vision system obtains the position and orientation of the UAV: x ( k ) , y ( k ) , z ( k ) , θ ( k ) , ϕ ( k ) and ψ ( k ) . The velocity of each variable is estimated using Visual C++. Integral control laws are computed in the same way: u P C ( k ) (height control computed by the PC), τ ϕ P C ( k ) (roll control computed by the PC) and τ θ P C ( k ) (pitch control computed by the PC); these control signals are sent from the PC to the Rabbit microcontroller via RS232 wireless protocol using Xbee modems. The Futaba RF radio generates calibration signals u c ( k ) , τ ϕ c ( k ) , τ θ c ( k ) and τ ψ c ( k ) ; the first one gives an offset of the z ( k ) position to compensate for gravity; the last ones give orientation offsets of the UAV’s θ ( k ) , ϕ ( k ) and ψ ( k ) , respectively. In this way, the UAV’s orientation and height position are calibrated. RF radio signals are fixed and are only used to compensate for measurement errors caused by the IMU or the vision system.
The UAV radio receiver sends the calibration signals to the Rabbit microcontroller using the I 2 C protocol. The Rabbit microcontroller reads angular orientation from the IMU ( θ I M U ( k ) , ϕ I M U ( k ) and ψ I M U ( k ) ) by the I 2 C protocol. The information generated by the IMU produces computer orientation control signals in a direct way because noise affects the vision system, causing errors in orientation measurement to the PC, so control signals used for orientation are computed directly in the microcontroller. PC control signals, radio calibration signals and the control signals computed in the microcontroller are added to the calculation of u ( k ) , τ ϕ ( k ) , τ θ ( k ) and τ ψ ( k ) , which allow generation of the PWM signals applied to the four motors of the UAV (see Figure 5).

4. Experimental Results

Two experiments were conducted: The first considers the trajectory tracking problem during takeoff and hover flight using an OIC controller in the UAV. The second one addresses the trajectory tracking problem during takeoff and hover flight by applying the PID and OIC controllers and incorporating crosswind disturbances to the UAV.

4.1. Implementation of Optimal Integral Control Algorithm in the UAV

By combining the Linear Quadratic Regulator (LQR) controller and the Integral Controller (IC), which is the main idea presented in this research work, an Optimal Integral Controller (OIC) is generated. The aforementioned is possible by applying an exact linearization to the model of the Unmanned Aerial Vehicle (UAV) presented in [20]. The process corresponding to this step is described in detail separately in Section 2.3 from a mathematical perspective. As can be seen, a discrete representation of the model is required for each subsystem of the aerial robot.
The mathematical model of the robot described in Section 2.2 is divided into four subsystems. For each of these subsystems z ( k ) , ψ ( k ) , x ( k ) θ ( k ) and y ( k ) ϕ ( k ) , the integral control structure shown in Section 2.3 is applied, and the Riccati-type algebraic equation is numerically solved for every discretized subsystem. This is done considering the augmented penalty matrices Q and R , which have been assigned as bellow.
For the system z ( k ) , the two matrices are defined by
Q z = 50 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 , R z = [ 490 ]
while matrices used to penalize the subsystem ψ ( t ) are chosen as:
Q ψ = 18 0 0 0 0 171 0 0 0 0 0.1 0 0 0 0 1 , R ψ = [ 180 ]
For the subsystems y- ϕ and x- θ , the penalization matrices are:
Q y ϕ = Q x θ = 9 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R x θ = [ 40 ] , R y ϕ = [ 31 ]
To test the OIC (Integral Optimal Control) algorithm, it is applied in a controlled environment to the UAV. Tracking a takeoff trajectory and maintaining hover flight with the UAV is described by the following conditions: The experiments consider a sampling period of T = 50 ms, set points of translation positions are selected at x r e f ( t ) = y r e f ( t ) = 0 m, and altitude | z ( t ) | is chosen as z r e f = 0.45 t until 0.3 m; once this altitude value is reached, the helicopter then remains there. Set points related to orientation are fixed at θ r e f = ϕ r e f = ψ r e f = 0   d e g .
The figures shown below were obtained from the real-time experimentation. Firstly, Figure 6 shows the translational position x ( t ) , y ( t ) , z ( t ) behavior versus their respectively set points when the Integral Optimal Controller is applied to the quadrotor helicopter. Errors in those translational variables are shown in Figure 7. Moreover, the translational velocities related to each of the axes are shown in Figure 8.
The pitch, roll and yaw orientations are shown in Figure 9; angular rates for all orientation variables are shown in Figure 10.
The torque control signals are shown in Figure 11, the force control signal is shown in Figure 12, and these control signals are calculated using the integral control algorithm in the discrete quadcopter model.
The quadrotor trajectory is shown in Figure 13; this trajectory was subdivided into three trajectories for takeoff, flight and landing of the UAV. In the blue line, one can observe the UAV’s takeoff, while the hover flight of the robot is represented in dark green, and the landing phase is visualized in light green. Each set of points signifies the division of the overall trajectory into these three phases: takeoff, flight, and landing.

4.2. Robustness Test under Crosswind Conditions

Additional experiments were conducted to test the robustness of the integral control strategy. This experiment allows to evaluate how the robustness provided by the integral action affects the UAV’s flight performance. So, a fan is used to apply a crosswind to aerial platform with a velocity of 4.3 m/s (at 19 °C). This external disturbance was supplied to the system from 50 to 150 s. These conditions were used for both PID and OIC controllers. Figure 14 shows the translational position behavior of the vehicle under this crosswind condition.
Moreover, Figure 15 shows the position errors experienced by the four-rotor rotorcraft, and Figure 16 depicts the control signals applied in real time. The magnitude of the control signals shows the feasibility of integral control. Finally, Figure 17 shows the force generated by the control signal u ( t ) (corresponding to the collective throttle) when the flying platform was subjected to wind disturbances.

4.3. Comparative Analysis of Energy Consumption between OIC and Conventional PID Controller

This experimental protocol enables a detailed evaluation of the efficacy of the integral control algorithm within an LQR control system applied to UAVs, providing empirical evidence of its performance, robustness and energy efficiency compared to a conventional PID controller. Total energy consumption was computed using potential and kinetic energies. This calculation was performed for both the tuned heuristic PID controller and the OIC optimal controller proposed in this research work. The total energy behavior for each scenario is illustrated in Figure 18. Furthermore, Table 1 presents the electrical energy savings comparison between the controllers. These data were derived from a series of 30 experiments.
As evident in Table 1, the OIC (Optimal Integral Controller) improved the electrical energy consumption by 53.05% compared to a conventional PID controller. This proves that the use of a LQR (Linear Quadratic Regulator) controller in conjunction with integral action can save energy in a four-rotor aerial robot. In addition, it provides robustness to the control loop, enabling it to absorb unmodeled dynamics or external disturbances, as has been demonstrated in Section 4.2. Although these experiments were conducted in a controlled environment, it is clear that the control algorithm will work efficiently in outdoor flights, proving that the robot state approximation is accurate and the robot model is correctly parameterized.

5. Conclusions

Satisfactory experimental results using integral control are obtained. So, can be stated that the Optimal Integral Controller (OIC) improves the LQR controller behavior, because it includes an integral term. Moreover, the tuning of integral action can be optimally conducted by solving the discrete Riccati Algebraic Equation associated to LQR problem, allowing to penalize the energy consumption and the convergence rate of the state. According to optimal control theory, the exact linearization applied to the altitude and yaw subsystems allows for stability of the closed loop, and then it is guaranteed. For the subsystems y- ϕ and x- θ , although the optimal control obtained was synthesized using a linearized model, the experimental tests show the robustness of the controller, and the real-time results show an important energy savings rate. So using this strategy, it is possible to achieve proper UAV stabilization for both attitude and position. As future work, it is intended to apply this control strategy in external environments to verify the robustness and efficiency of the algorithm in outdoor flights. This will be carried out on a UAV with the same configuration as proposed in this investigation. Other future work includes experiments in a wind tunnel to evaluate the discharge time of the battery in order to compare the performance of the controllers more accurately.

Author Contributions

O.-J.S.-S. and H.R.-T. conceived the design of the control algorithm. G.G.-G. and O.G.-P. coded the control and navigation algorithm in the controller, built the prototype and carried out the experimental tests. O.-J.S.-S., H.R.-T. and G.G.-G. performed data validation, statistical analysis and writing of the article. H.R.-T. and O.-J.S.-S. conducted a critical review of the results. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Acknowledgments

The first autor is grateful to CONACyT for granting the scholarship to the CVU number: 552521.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations and Nomenclature

Abbreviations

The following abbreviations are used in this manuscript:
FNNFuzzy Neural Network
IMUInertial Measurement Unit
LQRLinear Quadratic Regulator
OICOptimal Integral Controller
PCPersonal Computer
PIDProportional Integral Derivative Controller
PWMPulse Width Modulation
RFRadio Frequency
UAVUnmanned Aerial Vehicle

Nomenclature

Table of variables, concepts, and units for UAV dynamics:
VariableConceptUnits
xHorizontal displacement in the x-axisMeters (m)
yHorizontal displacement in the y-axisMeters (m)
zVertical position in the z-axisMeters (m)
ψ Yaw angle, rotation around the z-axisDegrees (deg)
θ Pitch angle, rotation around the y-axisDegrees (deg)
ϕ Roll angle, rotation around the x-axisDegrees (deg)
uThrust force generated by the motors to lift the UAVNewtons (N)
τ ϕ Torque generated around the x-axisNewton meters (Nm)
τ θ Torque generated around the y-axisNewton meters (Nm)
τ ψ Torque generated around the z-axisNewton meters (Nm)
mMassKilograms (kg)
gGravityNewton (N)
x ¯ System stateDepends on the system
u ¯ System controlDepends on the system
y ¯ Controlled outputDepends on the system
y ¯ R Output referenceDepends on the system
D x State variable domainDepends on the system
D u Control variable domainDepends on the system
fState functionDepends on the system
hOutput functionDepends on the system
x s s Steady-stateDepends on the system
u s s Steady-state controlDepends on the system
e ¯ Tracking errorDepends on the system
σ ¯ Accumulated errorDepends on the system
A , B , C State, control and output matricesDepends on the system
ξ Adjusted stateDepends on the system
vAdjusted controlDepends on the system
K Control gain matrixDepends on the system
x n State variableDepends on the system
x n ( k ) Discrete state variable at step kDepends on the system
x n ( k + 1 ) Discrete state variable one step aheadDepends on the system
ξ z ( k ) Adjusted state at step kDepends on the system
A m , B m , C m State, control and output matrices of the m systemDepends on the system
J m Performance index of the m systemDepends on the system
Q m Weighting matrix for state of the m systemDepends on the system
R m Weighting factor for control input for the m systemDepends on the system
u m ( k ) Control input at step k of the m systemDepends on the system
P m Solution to the Riccati equation of the m systemDepends on the system

References

  1. Dyer, E.; Sirouspour, S.; Jafarinasab, M. Energy Optimal Control Allocation in a Redundantly Actuated Omnidirectional UAV. In Proceedings of the International Conference on Robotics and Automation (ICRA), Montreal, QC, Canada, 20–24 May 2019; pp. 5316–5322. [Google Scholar]
  2. Ding, Y.; Cao, R.; Liang, S.; Qi, F.; Yang, Q.; Yan, W. Density-based optimal UAV path planning for photovoltaic farm inspection in complex topography. Chinese Control And Decision Conference. In Proceedings of the International Conference on Robotics and Automation (ICRA), Chengdu, China, 14–16 June 2020; pp. 3931–3936. [Google Scholar]
  3. Bucolo, M.; Buscarino, A.; Fortuna, L.; Gagliano, S. Generalizing the Letov formula for the discrete-time case. Int. J. Dyn. Control 2023, 11, 94–100. [Google Scholar] [CrossRef]
  4. Khalil, H.K. Nonlinear Systems; Prentice Hall: Hoboken, NJ, USA, 2001. [Google Scholar]
  5. Idrissi, M.; Salami, M.; Annaz, F. A review of quadrotor unmanned aerial vehicles: Applications, architectural design and control algorithms. J. Intell. Robot. Syst. 2022, 104, 22. [Google Scholar]
  6. Tahar, M.; Meguenni-Zemalache, K.; Omari, A. Control of an Under-Actuated X4-flyer using Integral Backstepping Controller. Przegla Elektrotechniczny (Electr. Rev.) 2011, 87, 251–256. [Google Scholar]
  7. Bouabdallah, S.; Siegwart, R. Full Control of a Quadrotor. In Proceedings of the 2007 IEEE/RSJ International Conference on Intelligent Robots and Systems, San Diego, CA, USA, 29 October–2 November 2007; pp. 153–158. [Google Scholar]
  8. Al-Younes, Y.M.; Al-Jarrah, M.A.; Jhemi, A.A. Linear vs. Nonlinear Control Techniques for a Quadrotor Vehicle. In Proceedings of the 7th International Symposium on Mechatronics and Its Applications (ISMA10), Sharjah, United Arab Emirates, 20–22 April 2010; p. 10-1:10. [Google Scholar]
  9. Adir, V.G.; Stoica, A.M. Integral LQR Control of a Star-Shaped Octorotor. Incas Bull. 2012, 4, 3–18. [Google Scholar]
  10. Tang, Y.R.; Li, Y. Design of an Optimal Flight Control System with Integral Augmented Compensator for a Nonlinear UAV Helicopter. In Proceedings of the 10th World Congress on Intelligent Control and Automation, Beijing, China, 6–8 July 2012; pp. 3927–3932. [Google Scholar]
  11. Antonio-Toledo, M.E.; Sanchez, E.N.; Alanis, A.Y.; Flórez, J.A.; Perez-Cisneros, M.A. Real-time integral backstepping with sliding mode control for a quadrotor UAV. IFAC-PapersOnLine 2018, 51, 549–554. [Google Scholar] [CrossRef]
  12. Elkhatem, A.S.; Engin, S.N. Robust LQR and LQR-PI control strategies based on adaptive weighting matrix selection for a UAV position and attitude tracking control. Alex. Eng. J. 2021, 61, 6275–6292. [Google Scholar] [CrossRef]
  13. Al-Isawi, M.M.; Attiya, A.J.; Adoghe, J.O. UAV Control Based on Dual LQR and Fuzzy-PID Controller. Al-Khwarizmi Eng. J. 2020, 16, 43–53. [Google Scholar] [CrossRef]
  14. Rao, J.; Li, B.; Zhang, Z.; Chen, D.; Giernacki, W. Position Control of Quadrotor UAV Based on Cascade Fuzzy Neural Network. Energies 2022, 15, 1763. [Google Scholar] [CrossRef]
  15. Zamani, A.; Etedali, S. Robust output feedback-based neuro-fuzzy controller for seismically excited tall buildings with ATMD accounting for variations in the type of supporting soil. Soil Dyn. Earthq. Eng. 2023, 164, 107614. [Google Scholar] [CrossRef]
  16. Zamani, A.; Etedali, S. Seismic structural control using magneto-rheological dampers: A decentralized interval type-2 fractional-order fuzzy PID controller optimized based on energy concepts. ISA Trans. 2023, 137, 288–302. [Google Scholar] [CrossRef] [PubMed]
  17. Sadegh, E.; Abbas-Ali, Z. Semi-active control of nonlinear smart base-isolated structures using MR damper: Sensitivity and reliability analyses. Smart Mater. Struct. 2022, 31, 065021. [Google Scholar]
  18. Castillo-Garcia, P.; Hernandez, L.E.M.; Gil, P.G. Indoor Navigation Strategies for Aerial Autonomous Systems; Butterworth-Heinemann: Oxford, UK, 2016. [Google Scholar]
  19. Castillo, P.; Lozano, R.; Dzul, A.E. Modelling and Control of Mini-Flying Machines; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2005. [Google Scholar]
  20. Santos, O.; Romero, H.; Salazar, S.; Lozano, R. Discrete Optimal Control for a Quadrotor UAV: Experimental Approach. In Proceedings of the International Conference on Unmanned Aircraft Systems (ICUAS), Orlando, FL, USA, 27–30 May 2014; pp. 1138–1145. [Google Scholar]
  21. Santos-Sánchez, O.; García, O.; Romero, H.; Salazar, S.; Lozano, R. Finite horizon nonlinear optimal control for a quadrotor: Experimental results. Optim. Control Appl. Methods 2021, 42, 54–80. [Google Scholar] [CrossRef]
Figure 1. Integral control scheme [4].
Figure 1. Integral control scheme [4].
Applsci 13 09293 g001
Figure 2. Positions and angles of the UAV.
Figure 2. Positions and angles of the UAV.
Applsci 13 09293 g002
Figure 3. Experimental platform scheme.
Figure 3. Experimental platform scheme.
Applsci 13 09293 g003
Figure 4. Quadrotor vehicle.
Figure 4. Quadrotor vehicle.
Applsci 13 09293 g004
Figure 5. System variable block diagram.
Figure 5. System variable block diagram.
Applsci 13 09293 g005
Figure 6. Numerical approximations of x ( t ) , y ( t ) , | z ( t ) | and position references of the UAV when the OIC was used.
Figure 6. Numerical approximations of x ( t ) , y ( t ) , | z ( t ) | and position references of the UAV when the OIC was used.
Applsci 13 09293 g006
Figure 7. Numerical approximations of the position errors e x ( t ) , e y ( t ) , e z ( t ) when the OIC was applied to the UAV.
Figure 7. Numerical approximations of the position errors e x ( t ) , e y ( t ) , e z ( t ) when the OIC was applied to the UAV.
Applsci 13 09293 g007
Figure 8. Numerical approximations of x ˙ ( t ) , y ˙ ( t ) , z ˙ ( t ) from UAV when the OIC was used.
Figure 8. Numerical approximations of x ˙ ( t ) , y ˙ ( t ) , z ˙ ( t ) from UAV when the OIC was used.
Applsci 13 09293 g008
Figure 9. Numerical approximations of pitch, roll and yaw angles of the UAV when using the OIC.
Figure 9. Numerical approximations of pitch, roll and yaw angles of the UAV when using the OIC.
Applsci 13 09293 g009
Figure 10. Numerical approximations of pitch, roll and yaw angular velocities of the UAV when applying the OIC.
Figure 10. Numerical approximations of pitch, roll and yaw angular velocities of the UAV when applying the OIC.
Applsci 13 09293 g010
Figure 11. Numerical approximations of torque control signals using the OIC.
Figure 11. Numerical approximations of torque control signals using the OIC.
Applsci 13 09293 g011
Figure 12. Numerical approximation of force control signal u ( t ) using the OIC.
Figure 12. Numerical approximation of force control signal u ( t ) using the OIC.
Applsci 13 09293 g012
Figure 13. Full 3D path of the UAV using the OIC.
Figure 13. Full 3D path of the UAV using the OIC.
Applsci 13 09293 g013
Figure 14. Numerical approximations of set-points and positions x ( t ) , y ( t ) , | z ( t ) | of the quadcopter when a crosswind was applied.
Figure 14. Numerical approximations of set-points and positions x ( t ) , y ( t ) , | z ( t ) | of the quadcopter when a crosswind was applied.
Applsci 13 09293 g014
Figure 15. Numerical approximations of position errors of the quadcopter when it was disturbed.
Figure 15. Numerical approximations of position errors of the quadcopter when it was disturbed.
Applsci 13 09293 g015
Figure 16. Numerical approximations of torque control signals using the OIC when the quadcopter was disturbed.
Figure 16. Numerical approximations of torque control signals using the OIC when the quadcopter was disturbed.
Applsci 13 09293 g016
Figure 17. Force control signal u ( t ) using the OIC applied when the quadcopter was disturbed.
Figure 17. Force control signal u ( t ) using the OIC applied when the quadcopter was disturbed.
Applsci 13 09293 g017
Figure 18. Total energy consumption comparison using a PID controller and the OIC.
Figure 18. Total energy consumption comparison using a PID controller and the OIC.
Applsci 13 09293 g018
Table 1. Energy saving.
Table 1. Energy saving.
ControllerTotal Energy (kJ)Saved Energy %
Proportional Integral Derivative3.37180
Optimal Integral Controller1.788853.0514
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Godinez-Garrido, G.; Santos-Sánchez, O.-J.; Romero-Trejo, H.; García-Pérez, O. Discrete Integral Optimal Controller for Quadrotor Attitude Stabilization: Experimental Results. Appl. Sci. 2023, 13, 9293. https://doi.org/10.3390/app13169293

AMA Style

Godinez-Garrido G, Santos-Sánchez O-J, Romero-Trejo H, García-Pérez O. Discrete Integral Optimal Controller for Quadrotor Attitude Stabilization: Experimental Results. Applied Sciences. 2023; 13(16):9293. https://doi.org/10.3390/app13169293

Chicago/Turabian Style

Godinez-Garrido, Gildardo, Omar-Jacobo Santos-Sánchez, Hugo Romero-Trejo, and Orlando García-Pérez. 2023. "Discrete Integral Optimal Controller for Quadrotor Attitude Stabilization: Experimental Results" Applied Sciences 13, no. 16: 9293. https://doi.org/10.3390/app13169293

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop