Next Article in Journal
Wearable and Thermal Drift-Compensated Monitoring System Based on Fiber Bragg Grating Sensors for a 3D-Printed Foot Prosthesis
Previous Article in Journal
Research on Blood Cell Image Detection Method Based on Fourier Ptychographic Microscopy
Previous Article in Special Issue
Variable-Parameter Impedance Control of Manipulator Based on RBFNN and Gradient Descent
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Cascade Sliding Mode Control for Linear Displacement Positioning of a Quadrotor

Institute of Automatic Control, Faculty of Electrical, Electronic, Computer and Control Engineering, Lodz University of Technology, 90-924 Łódź, Poland
*
Author to whom correspondence should be addressed.
Sensors 2025, 25(3), 883; https://doi.org/10.3390/s25030883
Submission received: 9 December 2024 / Revised: 22 January 2025 / Accepted: 28 January 2025 / Published: 31 January 2025

Abstract

:
This paper contains an example of a simulation implementation of sliding mode control algorithms for the problem of adjusting the linear position of a quadrotor. A mathematical model of the drone was proposed, which was then implemented in a simulation environment. The method of designing sliding mode controllers using the Lyapunov method in order to improve stability was presented. A cascade system based entirely on sliding mode control algorithms is introduced. The article ends with a comparative analysis of simulation test results of classical control systems and controllers based on sliding mode control.

1. Introduction

The quadrotor aircraft belongs to the category of Unmanned Aerial Vehicles (UAVs), commonly referred to as drones [1]. The growing popularity of these devices in professional applications has contributed to intensive technological development. The requirements for the quality of drone performance are constantly being expanded, especially those related to increasing their resistance to interference caused by changes in wind direction, strong gusts caused by explosions and contact with obstacles. This can be even more visible in linear positioning tasks, where the stability and precision of the position adjustment are particularly important. Currently, more and more often, as in many other disciplines that require complex control algorithms or where regulation processes are difficult to implement, attempts are being made to use artificial intelligence methods. Artificial intelligence algorithms work very well for controlling both a single UAV and entire formations of drones, where interference is caused not only by changeable external conditions (e.g., wind) but also by communication disturbances [2,3,4]. However, it is possible to achieve good results in the classical way. One of the promising directions in the development of drone control techniques is the use of sliding mode control (SMC) methods, which give much better results than classic methods based on PID controllers [5,6,7,8,9,10,11,12,13]. This work required the development of a mathematical model of a quadrotor, which is a rather complicated and strongly nonlinear object, and conducting simulation studies enabling the synthesis of appropriate control systems. As part of the work, two types of control systems (linear and nonlinear) for drone positioning were designed to allow for testing their operation in the aforementioned simulation environment. First, the system was adapted to control angular positions, which is necessary for the further construction of a cascade system with master linear positioning controllers. For both outer and inner control loops, the performances of two mentioned methods (PID and SMC) were compared. Studies of the operation of selected control methods allowed for obtaining information about the quality of control, the impact of disturbances on the operation of the system and the impact of partial unawareness of the system parameters or their inaccuracy. The most important aspect of this work is the comparative analysis of classical control methods with sliding mode control algorithms, especially due to the presence of the abovementioned difficulties and those implemented within the modeled system. The target sliding mode control system proposed in this study pertains to a cascaded structure of sliding mode controllers that closely cooperate based on the principle defined by the binding two-stage equivalent control law. One of the primary requirements for this controller was the ability to mitigate the phenomenon known as chattering, which is a typical issue encountered in traditional sliding mode control approaches.

2. Quadrotor Model

A quadrotor is an object with complex dynamics, characterized by strong nonlinearity, the impact of which is particularly evident as the drone’s speed increases [5,6,7,8,9,14,15,16,17]. The design of the control systems of a quadrotor should take into account that it is an object with six degrees of freedom (DOF), which are represented by three axes of linear motion and three Euler angles. The object has four control quantities, which are successive lifting forces of the individual rotors [5,6,7,8,10,17,18,19].
Figure 1 represents the structure of a quadrotor type “X” with the adopted rotor numbering. The graphic also shows the orientation of the coordinate system and the directions of the X and Y axes. Each of the four rotors is capable of generating lift directed along the Z axis [20]:
F x F y F z = 0 0 F 1 + F 2 + F 3 + F 4 ,
where
-
F 1 F 2 F 3 F 4 —lift forces generated by successive drone motors;
-
F x F y F z —forces acting in the three axes of the global reference system.
Figure 1. The “X” type structure of a quadrotor with the axes described.
Figure 1. The “X” type structure of a quadrotor with the axes described.
Sensors 25 00883 g001
Thus, it is possible to generate lift only directed along the Z-axis of the local drone system [7,10,14,16,18,21]. The drone is not able to generate forces in the X and Y axes of the local system, so linear motion in these axes is carried out by obtaining the appropriate orientation. Taking this into account, after the transformation from the local to the global system frame reference, the following set of equations is obtained:
F z x F z y F z z = F z c α s θ c φ + s α s φ F z ( c α s θ s φ s α s φ ) F z ( c α c θ ) ,
where
-
F z x F z y F z z —projections of lift acting in the Z axis of the local system onto individual axes of the global system;
-
c s —shortened notation: cosine and sine;
-
α θ φ —three Euler angles: roll, pitch and yaw.
The dependence of lift force and three torques on the individual rotational speeds of the rotors is described as follows:
F z =   i   = 1 4 F i = b ( ω 1 2 + ω 2 2 + ω 3 2 + ω 4 2 ) τ α = b l ( ω 1 2 ω 2 2 + ω 3 2 ω 4 2 ) τ θ = b l ( ω 1 2 + ω 2 2 ω 3 2 ω 4 2 ) τ φ = d ω 1 2 ω 2 2 ω 3 2 + ω 4 2 ,
where
-
ω 1 ω 2 ω 3 ω 4 —rotational speeds of the respective motors;
-
d —torque resistance coefficient with respect to the Z axis;
-
l —arm length;
-
τ α τ θ τ φ —individual torques;
-
b —the drag coefficient of the drone, which determines the ratio of the rotational speed of the motor to the force it generates determined by the formula  b = F i ω i 2 .
The dependence of individual torques on the corresponding angular accelerations can be described by the following system of equations [7,8,11]:
α ¨ = τ α + θ ˙ φ ˙ ( I y y I z z ) I x x θ ¨ = τ θ + α ˙ φ ˙ ( I z z I x x ) I y y φ ¨ = τ φ + α ˙ θ ˙ ( I x x I y y ) I z z ,
where
-
α ¨ θ ¨ φ ¨ —individual angular accelerations;
-
α ˙ θ ˙ φ ˙ —individual angular velocities;
-
I x x I y y I z z —moments of inertia around individual axes.
In a similar form, it is possible to write the dependence of individual linear accelerations on the resultant lift force [7,9,11]:
x ¨ = F z m · s α s φ + c α s θ c φ T x y ¨ = F z m · c α s θ s φ s α c θ T y z ¨ = F z m · c α c θ g T z ,
where
-
x ¨ y ¨ z ¨ —individual linear accelerations;
-
m —mass of the drone;
-
g —acceleration due to gravity;
-
T x T y T z —dynamic resistance of motion in individual axes.
Aerodynamical drag, on the other hand, depends on the respective angular velocities and are determined by the following equations:
T x =   k T x x , ˙ T y = k T y y ˙ , T z = k T z z ˙ ,
where
-
x ˙ y ˙ z ˙ —linear velocities in individual axes;
-
k T x k T y k T z —coefficients of dynamic drag in individual axes.
The maximum torques can be determined using the following formulas:
τ m r o l l , p i t c h = 2 b l ω m 2 ,
τ m y a w = 2 d ω m 2 ,
where
-
τ m r o l l , p i t c h —maximum torque relative to the Y and X axis;
-
τ m y a w —maximum torque relative to the Z axis.
The most important quantities that affect the dynamics of the drone are the mass of the drone, the individual moments of inertia around the respective axes of the reference frame relative to the drone frame, and the lift forces generated by the four motors.

3. Implementation of the Classic Quadrotor Angular Positions Control System

A quadrotor drone is an object with six degrees of freedom. It is possible to determine its orientation using three Euler angles—roll, pitch and yaw—as well as its position in space on the X, Y and Z axes. Thus, the system has more degrees of freedom than controlled quantities. During the mathematical modeling of the quadrotor drone, two reference frames were used. The first is a coordinate system oriented to the ground, while the second is a coordinate system oriented to the drone itself. Conversion from one system to another is possible by using appropriate rotation matrices. Taking into account both of these systems allows for obtaining information about linear and angular positions relative to the ground and about the required displacements relative to the drone itself in order to obtain the set values. The purpose of the control is to achieve the preset values of the angular positions of the drone and its altitude.
In the conducted research, the system control system of angular positions was used (Figure 2) [22]. This system consists of four controllers, and each of them is responsible for control of one of four positions: three angles and altitude. This system is the basis for the development of a linear positioning system. The conversion from the global to the local system applies only to the error of the linear position in the Z axis.
Used as a classical solution, PID controllers are one of the most popular and widely known control methods due to their uncomplicated structure and ease of implementation [22,23]. The model uses built-in elements that implement continuous PID controllers. A control system consisting of PID controllers without proper tuning can prove unreliable in the case of a highly nonlinear control object, especially in the presence of interference [7].
The parameters of the proportional, integrating, and differentiating parts were selected using an empirical method, i.e., manual tuning [7,19].

4. Synthesis of Sliding Mode Controllers for a Quadrotor Angular Positioning System

The sliding control method is Variable Structure Control (VSC) [24] or Variable Structure System (VSS) [25,26]. This boils down to the use of different feedbacks that act on opposite sides of a certain switch hyperplane in the state space [24]. Therefore, it is possible to design such a control system that the operating point of the object (determined by the values of the state variable vectors) remains on it after reaching the coordinates to which a certain hyperplane belongs, and moves along it in a sliding motion [24]. In the case where this point moves only on a certain hyperplane, its motion is called a perfect sliding motion [24]. The form of the hyperplane depends on the order of the object; for example, for an object of the second order, it will be a line of switches, while for an object of the third order it will be a plane, etc. [24,27]. The process of regulation by this method consists of two stages [24,27]:
  • The reaching phase, during which the point representing the state of the object moves from the initial coordinates to a certain hyperplane, and the object is susceptible to disturbances and the influence of model imperfections.
  • The sliding phase, in which the mentioned point moves in a hyperplane, trying to reduce error values to zero, and the object becomes robust. Reaching this phase means that the dynamics of the object are described only by the parameters of this hyperplane, and the order of the object is lowered.
The main advantage of sliding mode control is its high robustness to all kinds of interference and to the influence of inaccuracies of the model of the controlled object [24,27]. This has also been confirmed in the case of the quadrotor object control system [5,8,9,10,12,13,15,17]. SMC controllers can be successfully used in the case of nonlinear objects where there are uncertainties in knowing the full dynamics [24]. In the case of an object that is a quadrotor characterized by strong nonlinearity, the use of nonlinear controllers should increase the stability of the system and reduce the impact of interference and imperfections of the model [5]. Due to the application of the same principles of sliding mode control design, a vector notation was used for each of the angular positions in order to describe all control laws at the same time. A vector of sliding variables  s η  using the errors for each of the angular positions [8,13,15,28] has been proposed, which has the following form:
s η = η ˙ d η ˙ + Λ η η d η ,
where
-
η d —vector of desired angular positions— α d ,   θ d ,   φ d ;
-
η —vector of angular positions— α ,   θ ,   φ ;
-
Λ η —direction coefficients vector of the sliding variables for altitude control—[ λ α ,   λ θ ,   λ φ ];
-
s η —vector of angular sliding variables—[ s α s θ s φ ].
The equivalent part of the control law can be determined by comparing the derivative of the sliding variable to zero [8,10,27,29] (for discontinuous control equal to zero):
s η ˙ = η ¨ d η ¨ + Λ η ˙ d η ˙ .
If an appropriate matrix is proposed, which contains the corresponding elements of the system of equations marked with the number 4:
M = θ ˙ φ ˙ ( I y y I z z ) α ˙ φ ˙ ( I z z I x x ) α ˙ θ ˙ ( I x x I y y ) ,
where
-
M —matrix proposed to simplify the determination of the equivalent control vector.
This Equation (10) can be transformed into the following form [8]:
s η ˙ = I 1 M + u e q + η ¨ d + Λ e ˙ .
Thus, after comparing the derivative of the vector of sliding variables to zero, the equivalent control form is obtained:
u e q = I η ¨ d + Λ e ˙ + M .
Subsequently, the form of discontinuous control was adopted [8]:
u D = a s g n s η ,
where
-
a —vector of gain of control signals— a α ,   a θ ,   a φ .
In order for the control system to be able to reduce the error to zero, it is necessary to meet the condition that the product of the sliding variable and its derivative is less than zero. Testing the stability of a sliding mode control for the drone system can be performed using the appropriate Lyapunov function [8,10,15,17,20,26,30]. It is also important that the gain of the discontinuous control is greater than the maximum possible interference gain [8,24,26]. In order to investigate the stability of the system, the following Lyapunov function has been proposed [15,20]:
V =   1 2 s η T s η ,
where
-
V —Lyapunov function.
A form of the system derivative of this Lyapunov function was obtained:
V ˙ =   s η T s η ˙ = s η T ( I 1 M + u + η ¨ d + Λ e ˙ ) .
The control signal is treated as equal to the signal  u e q , which results in the following relation:
V ˙ =   s η T s η ˙ = 0 .
If, on the other hand, the control signal is the sum of the equivalent and discontinuous control, then the derivative will take the following form:
V ˙ =   s η T s η ˙ = s η T a μ s g n s η I .
Thus, it follows from Equation (18) that for positive gain vectors of discontinuous control, the value of the system derivative of the Lyapunov function is less than zero:
V ˙ =   s η T s η ˙ < 0 .
The system is therefore asymptotically stable, and the error should tend to zero. Analogously, to the laws of angular position control, a sliding variable for the linear position in the Z axis has been proposed.
s z = e ˙ z + λ z e z ,
where
-
s z —sliding variable for control of the altitude of the drone;
-
λ z —direction coefficient of the sliding variable in case of altitude control;
-
e z —error of linear position control in the Z axis.
Then, the derivative of this sliding variable was determined:
s ˙ z = z ¨ d z ¨ +   λ z e ˙ z .
The proposed control law takes the following form:
u z =   u z e q + u z D ,
where
-
u z —control signal of the linear position controller in the Z axis;
-
u z e q —signal of the equivalent part of the control;
-
u z D —signal of the discontinuous part of the control.
By comparing the derivative of the sliding variable and the value of the discontinuous control to zero, the equivalent control was obtained:
u z e q =   m cos α cos θ T z + g + z ¨ d + λ z e ˙ z .
The form of discontinuous control was adopted, as in the case of positioning angular positions:
u z D = a z s g n s z ,
where
-
a z —positive sliding variable coefficient.
In order to investigate the stability of the system, the proposed form of the Lyapunov function was used again:
V z = 1 2 s z 2 ,
where
-
V z —Lyapunov function.
The system derivative of this Lyapunov function is determined:
V ˙ z = s z s ˙ z = s z z ¨ d z ¨ +   λ z e ˙ z .
For the case where  u z = u z e q , the following relation is obtained:
V ˙ z = s z s ˙ z = 0 .
On the other hand, for the case from Equation (24), the following were obtained:
V ˙ z = s z s ˙ z = cos α cos θ s z a z s g n ( s z ) m .
So, if the  a z > 0  and angular positions of the roll and pitch are in the range (−π; π), then,
V ˙ z = s z s ˙ z < 0 .
Equation (29) shows that the system is asymptotically stable. If one of the roll or pitch angles reaches a value of −π or π, this derivative would be zero, so the system would not be asymptotically stable. On the basis of Equations (9)–(29) presented in this subsection, a model of the angular position control system based on SMC controllers was implemented in the simulation environment.

5. Simulation Tests of the Implemented Angular Positioning Systems

Tests performed in the simulation environment included a presence of the disturbances. Tests were carried out for both PID controllers and sliding mode control algorithms. Natural external disturbance acting on the object of a quadrotor under conditions of outdoor environment is wind, the modeling of which often refers to the operation of wind turbines [30]. In this paper, a simplified model of disturbance is proposed, which is expressed in newton-meters and directly affects torques [8]. Analogously to the classic control method, also for the SMC-based system, simulation data were collected, and appropriate waveforms were generated. An additional interference is the delay of the measurement loop of the drone’s angular position signals, which is 0.001 s.
The first stage of each of the tests carried out was to set a positive value of the linear Z position of the drone. Then, the values of the set angular positions were changed using appropriate signals. The target result was a situation in which the drone changes its one angular position and then returns to its initial position. This process should be repeated in turn for each angle. The final stage of the tests involved changing all three angular positions at the same time and then returning to the initial position.
Figure 3 shows the waveform of the proposed external interference signal. The results of the simulation for the case of both angular position controllers are shown in Figure 4, Figure 5, Figure 6 and Figure 7, which present angular position signals and set signals. The presented results indicate that the use of sliding mode control algorithms in the case of controlling an object affected by strong external disturbances allows for reduction in the impact of these disturbances to a significant extent; overshoots caused by the applied external torque were limited. Detailed data and their analysis are presented in Section 9.

6. Implementation of the Classic Linear Positioning Outer Loop Control System

Since there are fewer controlled variables than the output variables of the drone, and it is not possible to directly generate forces directed in accordance with the X and Y axes of the local reference frame relative to the drone’s propulsion system, the linear positioning of the drone in these axes is obtained indirectly [9,11,17,20,26]. Hence, the form of the linear position control system is slightly more complicated than in the case of the first, abovementioned angular positioning system, namely, it is necessary to use two superior linear position controllers in the X and Y axes, which affect the input signal of the slave angular position controllers, pitch and roll, respectively. The second structure of the control system therefore consists of six controllers. In each of the two cases, the controllers related to the linear position in the Z axis and the angular position yaw are not elements of the cascade control. The first cascade system implemented is a system containing PID controllers as the outer loop.
Figure 8 shows a simplified diagram of the linear control system of the quadrotor. The linear controller in the Z axis and the yaw angular controller remain unchanged, and an additional element is the master controller’s system for X and Y linear positioning. The pitch and roll controllers’ main purpose is to calculate proper control signals in the inner loop.
Two different linear positioning systems are discussed: those based on classical controllers and sliding mode control algorithms. The latter, in this case, means as follows: in the first system, all controllers are based on PID control, and in the second system, all controllers are based on sliding mode control algorithms.

7. Synthesis of Sliding Mode Controllers for a Linear Positioning Outer Loop Control System

In order to design linear positioning controllers in the outer loop of the control system, which are based on sliding mode control algorithms, another analysis was carried out. Again, it started with proposing an appropriate sliding variable. The presented case concerns the X-axis positioning algorithm, and for the Y-axis, the SMC controller design procedure should be carried out in an analogous way. The proposed form of the new sliding variable:
s x = e ˙ x + λ x e x ,
where
-
s x —sliding variable for control of the X-axis position of the drone;
-
λ x —direction coefficient of the switching line for X-axis position control;
-
e x —error of linear position control in the Z axis.
Then, the derivative of this sliding variable was determined:
s ˙ x = x ¨ d x ¨ +   λ x e x ˙ .
The proposed control law takes the following form:
u x =   u x e q + u x D ,
where
-
u x —control signal of the linear position controller in the Z axis;
-
u x e q —signal of the equivalent part of the control;
-
u x D —signal of the discontinuous part of the control.
Again, to determine the equivalent control, the derivative of the sliding variable and the discontinuous control are compared to zero. Additionally, signal determination is based on the system of Equation (5):
s ˙ x = 0     x ¨ = x ¨ d +   λ x e ˙ x ,
substituting from the system of Equation (5):
  F z m · s α s φ + c α s θ c φ T x = x ¨ d +   λ x e ˙ x .
In the discussed case, the linear position controller’s main purpose is to generate desired value of the proper angular position signal. Based on this information, it is possible to assume that, in this case,
α = α d = u x e q ,
which leads to the following form:
s α d s φ + c α d s θ c φ = x ¨ d +   λ x e ˙ x + T x m F z .
As the force in the Z axis, we assume the equivalent control signal generated by the altitude controller (Equation (23)):
s α d s φ + c α d s θ c φ = x ¨ d +   λ x e ˙ x + T x m m c α d c θ T z + g + z ¨ d + λ z e ˙ z .
Based on this, the following equation was obtained:
s α d s φ + c α d s θ c φ c α d c θ = x ¨ d +   λ x e ˙ x + T x T z + g + z ¨ d + λ z e ˙ z ,
which allows for obtaining the following:
t a n α d = x ¨ d +   λ x e ˙ x + T x T z + g + z ¨ d + λ z e ˙ z t a n θ c φ c θ s φ .
Finally, it is possible to obtain the following equivalent control law, for  φ k π , k Z :
α d = u x e q = a r c t a n x ¨ d +   λ x e ˙ x + T x T z + g + z ¨ d + λ z e ˙ z t a n θ c φ c θ s φ .
The form of modified discontinuous control contains a variable amplitude, which allows for chattering phenomena impact reduction and improved control quality [13,25,31,32,33,34,35]:
u x D = s x μ a x s g n s x ,
where
-
a x —positive sliding variable coefficient;
-
μ —power exponent parameter for discontinuous variable gain.
The following form of the Lyapunov function is proposed to investigate the stability of the discussed system:
V x = 1 2 s x 2 ,
where
-
V x —Lyapunov function.
The system derivative of this Lyapunov function is determined:
V ˙ x = s x s ˙ x = s x x ¨ d x ¨ +   λ x e ˙ x .
For the case where  u x = u x e q , the following relation is obtained:
V ˙ x = s x s ˙ x = 0 .
Hence, the system is stable in the sense of Lyapunov. As mentioned earlier, a similar analysis was conducted for the Y-axis position case.

8. Simulation Tests of the Implemented Linear Positioning Systems

Tests of the linear positioning control systems were performed in a similar manner to the angular positioning case. The same disturbance signal was applied to the system (Figure 3). A proposed control task could be described as an attempt to perform a flight of the quadcopter in a previously precisely planned movement trajectory.
In Figure 9 and Figure 10, the same quadcopter desired trajectory is visible. In order to enable the quadcopter to maneuver freely in the X and Y axes, it is necessary for it to reach a certain set altitude at very beginning of the test; hence, the drone takes off at the beginning of the test and lands at the very end, after completing the planned movements in the other axes.
The results of linear positioning control system tests are visible in Figure 11 and Figure 12. The control task goals are accomplished for both used methods. In the case of PID cascade control system, noticeable overshoots are visible for X and Y axes’ positioning. Detailed observations and conclusions based on the measured values are presented in the next section.
An additional, very important issue is the operation of the system in the steady state. This mainly refers to the resistance of the system to external disturbances, model inaccuracies and measurement noise. In order to verify the system in the steady state, additional control measures were measured. The linear position courses in the Z axis are presented in Figure 13 and Figure 14 for both controllers in the range of data allowing for noticing the disturbances and comparing them. The main observation based on these graphics leads to the conclusion that, according to the theory of Variable Structure Control systems, the sliding mode control algorithms provide system robustness to a wide range of disturbances.

9. Comparative Analysis of the Results of Simulation of Classic and Sliding Mode Control Systems

Selected control measures, which were used to examine the operation of individual controllers, are Integral of Squared Error (ISE) and Integral of Absolute Error (IAE).
Table 1 presents the values of control measures for both controllers in the case of angular positioning system tests. It is evident that the sliding mode controllers allow to improve the quality of the control process and provide greater robustness to applied disturbances. Increasing the gain of the interference signal has a significant impact on the operation of the PID controller. In the case of sliding mode controllers, the increase in this gain has a much smaller impact on the quality of the regulation.
In Figure 15, Figure 16 and Figure 17, combined results of logging control measures is presented. One can see that sliding mode control algorithms ensure better control quality and, what is most important, provide the system with robustness to the applied disturbances, which becomes significantly more visible with the increase in the amplification of these disturbances. Figure 18 shows a percentage drop of control quality based on logged control measures. Sliding mode controllers, proposed in this paper, are burdened with a smaller negative impact of increased interference gain than classical methods based on PID controllers.
Table 2 presents logged control measures for the case of the linear positioning test. This table is analogous to Table 1 but contains an additional series of data which describe the system control quality for the steady state. The visualization of the collected data is presented below in the appropriate bar charts.
Figure 19, Figure 20 and Figure 21 shows linear positioning control system performance based on calculated control measures logged during simulation tests. It is clearly visible that the proposed sliding mode control algorithm allows for obtaining much better results in the case of X and Y linear position value control. However, the analysis of quality measures shows that the results for altitude control are visibly, although slightly, better for the case of classical PID controllers. This is due to the fact that the equivalent control of the altitude controller is also used as a component of the equivalent control of the X and Y linear position controllers; this causes the work of the algorithms to influence each other, which is visible in the form of small overshoots in dynamic states.
In Figure 22, one can see that the quality control does not deteriorate in any significant way in the case of sliding mode control, in contrast to PID control, for which the altitude control does not deteriorate either, but for X and Y linear position control, it becomes much less effective.
Due to the mentioned dependencies of equivalent control signals in the case of sliding mode control, the mentioned small amplitude overshoots in dynamic states appeared. Therefore, in order to fully test the quality of the regulation of the proposed controllers, quality measured for the steady-state test was collected. These data were measured after the quadcopter had previously risen to the set altitude. The measured data are presented in both Table 2 and Figure 23; it can be seen that, in accordance with the observations in Figure 13 and Figure 14, the sliding mode control algorithms provide significantly better results, especially by ensuring the system with robustness to external factors as well as model inaccuracies.
The remaining issue to be discussed is the influence of the introduced variable amplitude discontinuous control on the system, especially on the chattering phenomenon. Additional tests were performed to show the influence of the µ value on the presence of high-frequency oscillations caused by the use of the signum function in the control law. Control measures were collected for the steady-state case of the quadrotor linear position using different values of the µ parameter.
Table 3 shows the control measures collected for the steady-state case of the quadcopter altitude signal. Depending on the used value of the µ parameter, it is possible to obtain significantly different results; for µ = 0, a case with classic discontinuous control with constant amplitude was obtained. Increasing the µ parameter leads to a decrease in the influence of chattering on the system. A comparison is shown in Figure 24. The higher the µ value, the better the quality of the control in the steady state. The waveforms presenting the chattering occurring on the quadcopter altitude signal are presented below.
Figure 25, Figure 26 and Figure 27 presents quadcopter steady-state altitude and setpoint signal waveforms. Using classical approach of implementing discontinuous control with constant amplitude leads to visible chattering phenomenon occurrence. High-frequency oscillations related to the drone’s position are undesirable and can even be dangerous. Increasing the µ parameter leads to significant reduction in the impact of chattering, which is visible for cases when µ = 0.25 and µ = 1. The last mentioned value was used in the previous, main studies conducted for the purposes of this work (Figure 19, Figure 20, Figure 21, Figure 22 and Figure 23).
Finally, to check whether the introduced changes do not deprive the system of its robustness related to the Variable Structure System property, an additional experiment was conducted, the aim of which was to introduce a strong, extreme disturbance. This disturbance (signal waveform presented in Figure 28) is a modeled strong wind, the value of which changes almost abruptly, which is to imitate the situation of a quadcopter leaving a wind shield (e.g., flying out from behind a building wall). In Figure 29, quadcopter linear positions are shown. It is very visible that the introduced extreme disturbance affects the system, but does not cause its stability to be lost. The control system quickly brings the position values back to the correct steady state. There were small and momentary overshoots, which are completely acceptable in the event of this type of disturbance. The proposed method is therefore highly robust to interference and, at the same time, ensures a significant reduction in the impact of the chattering phenomenon.

10. Conclusions

The presented method of synthesis of sliding mode controllers as a control system for a quadrotor achieves better results than classical controllers for both control structures: angular and linear positioning systems. It is largely based on the dynamics of the model; hence, it is necessary to estimate the parameters of the model with appropriate accuracy, which especially matters in the case of the outer loop control method, for which complex control laws are proposed. The presented results also confirm that SMC controllers better reduce the negative impact of external interference and delays in the measurement path, providing the control system with high level of robustness. The advantages of this method of control are more evident in the case of highly nonlinear objects, such as the discussed drones. Although classic control algorithms for quadrotor allow for achieving the expected results, it is worth developing new, progressive control methods, especially in the field of glide control.

Author Contributions

Formal analysis, P.C.; Investigation, A.S.; Methodology, A.S. and P.C.; Project administration, K.T.; Resources, A.S.; Software, A.S.; Supervision, P.C. and K.T.; Validation, A.S.; Writing—original draft, A.S.; Writing—review and editing, A.S., P.C. and K.T. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data presented in this study are available on request from the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Hoffmann, G.M.; Huang, H.; Waslander, S.L.; Tomlin, C.J. Quadrotor Helicopter Flight Dynamics and Control: Theory and Experiment. In Proceedings of the AIAA Guidance, Navigation and Control Conference and Exhibit, Hilton Head, SC, USA, 20–23 August 2007; pp. 1–4. [Google Scholar]
  2. Ma, L.; Zhu, F. Human-in-the-loop formation control for multi-agent systems with asynchronous edge-based event-triggered communications. Automatica 2024, 167, 111744. [Google Scholar] [CrossRef]
  3. Wang, Y.; Lu, J.; Liang, J. Security Control of Multiagent Systems Under Denial-of-Service Attacks. IEEE Trans. Cybern. 2022, 52, 4323–4333. [Google Scholar] [CrossRef] [PubMed]
  4. Carney, R.; Chyba, M.; Gray, C.; Wilkens, G.; Corey, S. Multi-agent systems for quadcopters. J. Geom. Mech. 2022, 14, 1–28. [Google Scholar] [CrossRef]
  5. Almakhles, D.J. Robust Backstepping Sliding Mode Control for a Quadrotor Trajectory Tracking Application. IEEE Access 2019, 8, 5515–5524. [Google Scholar] [CrossRef]
  6. Argentim, L.M.; Rezende, W.C.; Santos, P.E.; Aguiar, R.A. PID, LQR and LQR-PID on a Quadcopter Platform. In Proceedings of the 2013 International Conference of Informatics, Electronics and Vision (ICIEV), Dhaka, Bangladesh, 17–18 May 2013; pp. 1–2. [Google Scholar]
  7. Bao, N.; Ran, X.; Wu, Z.; Xue, Y.; Wang, K. Research on attitude controller of quadcopter based on cascade PID control algorithm. In Proceedings of the 2017 IEEE 2nd Information Technology, Networking, Electronic and Automation Control Conference (ITNEC), Chengdu, China, 15–17 December 2017; pp. 1493–1496. [Google Scholar]
  8. Hoang, V.T.; Phung, M.D.; Ha, Q.P. Adaptive Twisting Sliding Mode Control for Quadrotor Unmanned Aerial Vehicles. In Proceedings of the 2017 11th Asian Control Conference (ASCC), Gold Coast, QLD, Australia, 17–20 December 2017; pp. 671–674. [Google Scholar]
  9. Labbadi, M.; Cherkaoui, M. Adaptive Fractional-Order Nonsingular Fast Terminal Sliding Mode-Based Robust Tracking Control of Quadrotor UAV With Gaussian Random Disturbances and Uncertainties. IEEE Trans. Aerosp. Electron. Syst. 2021, 57, 2265–2277. [Google Scholar] [CrossRef]
  10. Yih, C. Flight Conttrol of a Tilt-Rotor Quadcopter via Sliding Mode. In Proceedings of the 2016 International Automatic Control Conference (CACS), Taichung, Taiwan, 9–11 November 2016; pp. 65–70. [Google Scholar]
  11. Cheng, X.; Liu, Z. Robust Tracking Control of a Quadcopter Via Terminal Sliding Mode Control Based on Finite-time Disturbance Observer. In Proceedings of the 2019 14th IEEE Conference on Industrial Electronics and Applications (ICIEA), Xi’an, China, 19–21 June 2019; pp. 1217–1218. [Google Scholar]
  12. Elhennawy, A.M.; Habib, M.K. Nonlinear Robust Control of a Quadcopter: Implementation and Evaluation. In Proceedings of the IECON 2018—44th Annual Conference of the IEEE Industrial Electronics Society, Washington, DC, USA, 21–23 October 2018; pp. 3782–3784. [Google Scholar]
  13. Eltayeb, A.; Rahmat, M.F.; Basri, M.A.M.; Eltoum, M.A.M.; El-Ferik, S. An Improved Design of an Adaptive Sliding Mode Controller for Chattering Attenuation and Trajectory Tracking of the Quadcopter UAV. IEEE Access 2020, 8, 205968–205979. [Google Scholar] [CrossRef]
  14. Mustapa, Z.; Saat, S.; Husin, S.H.; Zaid, T. Quadcopter Psyhical Parameter Identification and Altitude System Analysis. In Proceedings of the 2014 IEEE Symposium on Industrial Electronics & Applications (ISIEA), Kota Kinabalu, Malaysia, 28 September–1 October 2014; p. 130. [Google Scholar]
  15. Nemati, H.; Montazeri, A. Output Feedback Sliding Mode Control of Quadcopter Using IMU Navigation. In Proceedings of the 2019 IEEE International Conference on Mechatronics (ICM), Ilmenau, Germany, 18–20 March 2019; pp. 634–636. [Google Scholar]
  16. Sadigh, R.S.M. Optimizing PID Controller Coefficients Using Fractional Order Based on Intelligent Optimization Algorithms for Quadcopter. In Proceedings of the 2018 6th RSI International Conference on Robotics and Mechatronics (IcRoM), Tehran, Iran, 23–25 October 2018; pp. 146–147. [Google Scholar]
  17. Thanh, H.L.N.N.; Hong, S.K. Quadcopter Robust Adaptive Second Order Sliding Mode Control Based on PID Sliding Surface. IEEE Access 2018, 6, 66850–66854. [Google Scholar] [CrossRef]
  18. Paing, H.S.; Schagin, A.V.; Win, K.S.; Linn, Y.H. New Designing Approaches for Quadcopter Using 2D Model Modelling a Cascaded PID Controller. In Proceedings of the 2020 IEEE Conference of Russian Young Researchers in Electrical and Electronic Engineering (EIConRus), St. Petersburg, Russia; Moscow, Russia, 27–30 January 2020; pp. 2370–2372. [Google Scholar]
  19. Pratama, B.; Muis, A.; Subiantoro, A. Quadcopter Trajectory Tracking and Attitude Control Based on Euler Angle Limitation. In Proceedings of the 2018 6th International Conference on Control Engineering & Information Technology (CEIT), Istanbul, Turkey, 25–27 October 2018; pp. 1–3. [Google Scholar]
  20. Castillo-Zamora, J.J.; Camarillo-Gomez, K.A.; Perez-Soto, G.I.; Rodriguez-Resendiz, J. Comparision of PD, PID and Sliding-Mode Position Controllers for V-tail Quadcopter Stability. IEEE Access 2018, 6, 38092–38093. [Google Scholar] [CrossRef]
  21. Prakosa, J.A.; Samokvalov, D.V.; Ponce, G.R.V.; Al-Mahturi, F.S. Speed Control of Brushless DC Motor for Quad Copter Drone Ground Test. In Proceedings of the 2019 IEEE Conference of Russian Young Researches in Electrical and Electronic Engineering (EIConRus), St. Petersburg, Russia; Moscow, Russia, 28–31 January 2019; pp. 644–645. [Google Scholar]
  22. Fetan, M.; Sefidgari, B.L.; Barenji, A.V. An Adaptive Neuro PID for Controlling the Altitude of Quadcopter Robot. In Proceedings of the 2013 18th International Conference on Methods & Models in Automation & Robotics (MMAR), Międzyzdroje, Poland, 26–29 August 2013; pp. 662–663. [Google Scholar]
  23. Bari, S.; Hamdani, S.S.Z.; Khan, H.U.; Rehman, M.U.; Khan, H. Artificial Neural Network Based Self-Tuned PID Controller for Flight Control of Quadcopter. In Proceedings of the 2019 International Conference on Engineering and Emerging Technologies (ICEET), Lahore, Pakistan, 21–22 February 2019; pp. 1–2. [Google Scholar]
  24. Bartoszewicz, A. Conventional Sliding Modes in Continuous and Discrete Time Domains. In Proceedings of the 2017 18th International Carpathian Control Conference (ICCC), Sinaia, Romania, 28–31 May 2017; pp. 588–590. [Google Scholar]
  25. Utkin, V.; Lee, H. Chattering Problem in Sliding Mode Control Systems. In Proceedings of the International Workshop on Variable Structure Systems, Alghero, Italy, 5–7 June 2006; pp. 346–350. [Google Scholar]
  26. Abrougui, H.; Hachicha, S.; Zaoui, C.; Dallagi, H.; Nejim, S. Flight Controller Design Based on Sliding Mode Control for Quadcopter Waypoints Tracking. In Proceedings of the 2020 4th International Conference on Advanced Systems and Emergent Technologies (IC_ASET), Hammamet, Tunisia, 15–18 December 2020; pp. 13–20. [Google Scholar]
  27. Utkin, V.; Shi, J. Integral Sliding Mode in Systems Operating under Uncertainy Conditions. In Proceedings of the 35th IEEE Conference on Decision and Control, Kobe, Japan, 11–13 December 1996; pp. 4591–4593. [Google Scholar]
  28. Katiar, A.; Rashdi, R.; Ali, Z.; Baig, U. Control and stability analysis of quadcopter. In Proceedings of the 2018 International Conference on Computing, Mathematics and Engineering Technologies (iCoMET), Sukkur, Pakistan, 3–4 March 2018; p. 4. [Google Scholar]
  29. Tripathi, V.K.; Behera, L.; Verma, N. Design of Sliding mode and Backstepping Controllers for a Quadcopter. In Proceedings of the 2015 39th National Systems Conference (NSC), Greater Noida, India, 14–16 December 2015; pp. 1–6. [Google Scholar]
  30. Chen, J.; Jiang, D. Study on Modeling and Simulation on Non-grid-connected Wind Turbine. In Proceedings of the 2009 World Non-Grid-Connected Wind Power and Energy Conference, Nanjing, China, 24–26 September 2009; pp. 1–2. [Google Scholar]
  31. Leng, J.; Ma, C. Sliding Mode Control for PMSM Based on A Novel Hybrid Reaching Law. In Proceedings of the 37th Chinese Control Conference, Wuhan, China, 25–27 July 2018; pp. 3006–3009. [Google Scholar]
  32. Xi, L.; Dong, H.; Yang, S.; Qi, X. Terminal Sliding Mode Control for Robotic Manipulator Based on Combined Reaching Law. In Proceedings of the 2019 International Conference on Computer Network, Electronic and Automation (ICCNEA), Xi’an, China, 27–29 September 2019; pp. 436–439. [Google Scholar]
  33. Li, Y.; Liu, L. The research of the sliding mode control method based on improved double reaching law. In Proceedings of the 2018 Chinese Control and Decision Conference (CCDC), Shenyang, China, 9–11 June 2018; pp. 672–674. [Google Scholar]
  34. Mozayan, S.M.; Saad, M.; Vahedi, H.; Fortin-Blanchette, H.; Soltani, M. Sliding Mode Control of PMSG Wind Turbine Based on Enhanced Exponential Reaching Law. IEEE Trans. Ind. Electron. 2016, 63, 6148–6159. [Google Scholar] [CrossRef]
  35. Sawiński, A.; Chudzik, P.; Tatar, K. SMC Algorithms in T-Type Bidirectional Power Grid Converter. Energies 2024, 17, 2970. [Google Scholar] [CrossRef]
Figure 2. Proposed control system schematic diagram for angular positioning.
Figure 2. Proposed control system schematic diagram for angular positioning.
Sensors 25 00883 g002
Figure 3. The waveform of the modeled external interference signal.
Figure 3. The waveform of the modeled external interference signal.
Sensors 25 00883 g003
Figure 4. Waveforms of the angular position of the roll and the setpoint value (PID, interference gain: 1, measurement delay: 0.001 s).
Figure 4. Waveforms of the angular position of the roll and the setpoint value (PID, interference gain: 1, measurement delay: 0.001 s).
Sensors 25 00883 g004
Figure 5. Waveforms of pitch angular position and setpoint (PID, interference gain: 1, measurement delay: 0.001 s).
Figure 5. Waveforms of pitch angular position and setpoint (PID, interference gain: 1, measurement delay: 0.001 s).
Sensors 25 00883 g005
Figure 6. Waveforms of the angular position of the roll and the setpoint value (SMC, interference gain: 1, measurement delay: 0.001 s).
Figure 6. Waveforms of the angular position of the roll and the setpoint value (SMC, interference gain: 1, measurement delay: 0.001 s).
Sensors 25 00883 g006
Figure 7. Waveforms of pitch angular position and setpoint (SMC, interference gain: 1, measurement delay: 0.001 s).
Figure 7. Waveforms of pitch angular position and setpoint (SMC, interference gain: 1, measurement delay: 0.001 s).
Sensors 25 00883 g007
Figure 8. Proposed control system schematic diagram for linear positioning.
Figure 8. Proposed control system schematic diagram for linear positioning.
Sensors 25 00883 g008
Figure 9. Planned linear trajectory of the quadcopter movement—2D view.
Figure 9. Planned linear trajectory of the quadcopter movement—2D view.
Sensors 25 00883 g009
Figure 10. Planned linear trajectory of the quadcopter movement—3D view.
Figure 10. Planned linear trajectory of the quadcopter movement—3D view.
Sensors 25 00883 g010
Figure 11. Waveforms of linear position signals and setpoint signals (PID+PID, interference gain: 1, delay: 0.001 s).
Figure 11. Waveforms of linear position signals and setpoint signals (PID+PID, interference gain: 1, delay: 0.001 s).
Sensors 25 00883 g011
Figure 12. Waveforms of linear position signals and setpoint signals (SMC+SMC, interference gain: 1, delay: 0.001 s).
Figure 12. Waveforms of linear position signals and setpoint signals (SMC+SMC, interference gain: 1, delay: 0.001 s).
Sensors 25 00883 g012
Figure 13. Waveforms of measured altitude and setpoint signal (PID+PID).
Figure 13. Waveforms of measured altitude and setpoint signal (PID+PID).
Sensors 25 00883 g013
Figure 14. Waveforms of measured altitude and setpoint signal (SMC+SMC).
Figure 14. Waveforms of measured altitude and setpoint signal (SMC+SMC).
Sensors 25 00883 g014
Figure 15. Bar charts presenting collected control measures—angular positioning case; ideal model used.
Figure 15. Bar charts presenting collected control measures—angular positioning case; ideal model used.
Sensors 25 00883 g015
Figure 16. Bar charts presenting collected control measures—angular positioning case; disturbance applied (100% gain).
Figure 16. Bar charts presenting collected control measures—angular positioning case; disturbance applied (100% gain).
Sensors 25 00883 g016
Figure 17. Bar charts presenting collected control measures—angular positioning case; disturbance applied (150% gain).
Figure 17. Bar charts presenting collected control measures—angular positioning case; disturbance applied (150% gain).
Sensors 25 00883 g017
Figure 18. Bar charts presenting change in the control quality—angular positioning case; comparing two cases: 100% and 150% disturbance gains.
Figure 18. Bar charts presenting change in the control quality—angular positioning case; comparing two cases: 100% and 150% disturbance gains.
Sensors 25 00883 g018
Figure 19. Bar charts presenting collected control measures—linear positioning case; ideal model used.
Figure 19. Bar charts presenting collected control measures—linear positioning case; ideal model used.
Sensors 25 00883 g019
Figure 20. Bar charts presenting collected control measures—linear positioning case; disturbance applied (100% gain).
Figure 20. Bar charts presenting collected control measures—linear positioning case; disturbance applied (100% gain).
Sensors 25 00883 g020
Figure 21. Bar charts presenting collected control measures—linear positioning case; disturbance applied (150% gain).
Figure 21. Bar charts presenting collected control measures—linear positioning case; disturbance applied (150% gain).
Sensors 25 00883 g021
Figure 22. Bar charts presenting change in the control quality—linear positioning case; comparing two cases: 100% and 150% disturbance gains.
Figure 22. Bar charts presenting change in the control quality—linear positioning case; comparing two cases: 100% and 150% disturbance gains.
Sensors 25 00883 g022
Figure 23. Bar charts presenting collected control measures—linear positioning steady-state case.
Figure 23. Bar charts presenting collected control measures—linear positioning steady-state case.
Sensors 25 00883 g023
Figure 24. Bar charts presenting collected control measures—parameter µ influence.
Figure 24. Bar charts presenting collected control measures—parameter µ influence.
Sensors 25 00883 g024
Figure 25. Waveforms of measured altitude and setpoint signal for µ = 0.
Figure 25. Waveforms of measured altitude and setpoint signal for µ = 0.
Sensors 25 00883 g025
Figure 26. Waveforms of measured altitude and setpoint signal for µ = 0.25.
Figure 26. Waveforms of measured altitude and setpoint signal for µ = 0.25.
Sensors 25 00883 g026
Figure 27. Waveforms of measured altitude and setpoint signal for µ = 1.
Figure 27. Waveforms of measured altitude and setpoint signal for µ = 1.
Sensors 25 00883 g027
Figure 28. The waveform of the modeled external extreme interference signal.
Figure 28. The waveform of the modeled external extreme interference signal.
Sensors 25 00883 g028
Figure 29. Waveforms of linear position signals and setpoint signals in case of extreme disturbance presence in the system.
Figure 29. Waveforms of linear position signals and setpoint signals in case of extreme disturbance presence in the system.
Sensors 25 00883 g029
Table 1. Summary of the obtained values of control measures for each angular position control test case.
Table 1. Summary of the obtained values of control measures for each angular position control test case.
Types and Parameters of ControllerIdeal Model CaseDisturbance (100% Gain)Disturbance (150% Gain)
PIDRoll ISE0.0001475700.0218000000.041800000
Roll IAE0.0287000000.7619000001.046600000
Pitch ISE0.0001475700.0216000000.041600000
Pitch IAE0.0287000000.7507000001.035100000
Yaw ISE0.0000039430.0004795000.000478460
Yaw IAE0.0048000000.1396000000.139500000
SMCRoll ISE0.0000124440.0022000000.003900000
Roll IAE0.0211000000.2805000000.370600000
Pitch ISE0.0000068520.0022000000.004000000
Pitch IAE0.0120000000.2799000000.372500000
Yaw ISE0.0000000890.0006901700.000686050
Yaw IAE0.000865770.1608000000.160200000
Table 2. Summary of the obtained values of control measures for each linear position control test case.
Table 2. Summary of the obtained values of control measures for each linear position control test case.
Types and Parameters of ControllerIdeal Model CaseDisturbance (100% Gain)Disturbance (150% Gain)Steady State
PIDX ISE0.32060.33960.36010.0032
X IAE2.92613.34823.73190.1615
Y ISE0.45920.45850.46270.0018
Y IAE3.84884.08414.35350.1409
Z ISE0.06970.05710.04761.48 × 10−4
Z IAE1.06531.07441.07840.0443
SMCX ISE0.03940.03620.0364.05 × 10−6
X IAE0.84650.81030.8150.0083
Y ISE0.0590.05470.05464.97 × 10−6
Y IAE1.00090.9630.9680.0089
Z ISE0.10610.10690.10684.16 × 10−13
Z IAE2.19992.2022.20122.39 × 10−6
Table 3. Control measures of altitude control test case for different µ parameter values.
Table 3. Control measures of altitude control test case for different µ parameter values.
µZ ISEZ IAE
00.0002985339577620.060149331846856
0.250.0001729762983460.021814947905653
0.50.0001798347159960.015723003012009
0.750.0001629669654240.014817696593609
10.0001128085233730.012217696398422
1.250.0000833587880500.012133886733481
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

Sawiński, A.; Chudzik, P.; Tatar, K. Cascade Sliding Mode Control for Linear Displacement Positioning of a Quadrotor. Sensors 2025, 25, 883. https://doi.org/10.3390/s25030883

AMA Style

Sawiński A, Chudzik P, Tatar K. Cascade Sliding Mode Control for Linear Displacement Positioning of a Quadrotor. Sensors. 2025; 25(3):883. https://doi.org/10.3390/s25030883

Chicago/Turabian Style

Sawiński, Albert, Piotr Chudzik, and Karol Tatar. 2025. "Cascade Sliding Mode Control for Linear Displacement Positioning of a Quadrotor" Sensors 25, no. 3: 883. https://doi.org/10.3390/s25030883

APA Style

Sawiński, A., Chudzik, P., & Tatar, K. (2025). Cascade Sliding Mode Control for Linear Displacement Positioning of a Quadrotor. Sensors, 25(3), 883. https://doi.org/10.3390/s25030883

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