Next Article in Journal
Improvement of Cooperative Localization for Heterogeneous Mobile Robots
Previous Article in Journal
PowerLine-MTYOLO: A Multitask YOLO Model for Simultaneous Cable Segmentation and Broken Strand Detection
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Robust Predictive Functional Control for Quadrotor Flight Systems

Department of Aerospace Engineering, College of Science and Technology, Nihon University, Chiba 274-8501, Japan
*
Author to whom correspondence should be addressed.
Drones 2025, 9(7), 506; https://doi.org/10.3390/drones9070506
Submission received: 31 May 2025 / Revised: 16 July 2025 / Accepted: 16 July 2025 / Published: 18 July 2025

Abstract

Predictive Functional Control (PFC) has a control structure similar to Model Predictive Control (MPC), determining control inputs by predicting future states using a motion model. However, PFC does not require solving a quadratic programming problem for every control loop like MPC. This feature enables PFC to be implemented in small-scale systems such as actuators, where embedding a high-performance computer is difficult. However, similar to MPC, there are concerns with PFC regarding control performance degradation due to incorrect predictions of future states in environments affected by modeling errors and disturbances. Therefore, in this study, we propose a novel method that employs robustness, Robust Predictive Functional Control (RPFC). The proposed RPFC method was applied to a quadrotor flight control system, and its effectiveness was verified through numerical simulations. Specifically, the control performance of RPFC under disturbance conditions was compared with that of conventional PFC, demonstrating the advantages of the proposed approach.

1. Introduction

Model Predictive Control (MPC) is a control strategy that predicts future system states using a dynamic motion model [1,2,3,4,5,6,7,8,9,10]. It determines optimal control inputs by minimizing a predefined evaluation function, which typically includes terms representing tracking errors relative to a reference trajectory, as well as control effort. Unlike classical control methods, MPC is expected to see expanded use in industrial systems [1,2,3] owing to its ability to handle constraints on actuators and system states while enabling the intuitive design of transient responses in the time domain. However, a well-known drawback of MPC lies in its control structure, which requires solving sequential optimization problems and results in a significantly higher computational load than conventional controllers such as PID. This issue is not critical in applications such as chemical plants, where system dynamics evolve slowly and sufficient computation time is available. However, it poses a significant challenge for systems with stringent real-time requirements, such as aircraft. For instance, although Unmanned Aerial Vehicle (UAV) applications of MPC have been explored [6,7,8], validation has been limited to numerical simulations. In [9,10], flight experiments were conducted by computing the control inputs on a desktop personal computer using telemetry data from a UAV. However, this approach limits the operational flight area due to the communication range and makes it difficult to maintain flight if communication failures occur. Furthermore, in low-level control systems where control inputs must be computed onboard, such as actuator-level servo control in cascade control architectures, implementing MPC remains difficult. Therefore, applying high computational load controllers like MPC to low-level control systems, such as those for aircraft and actuators, presents unresolved challenges. To address this limitation, Predictive Functional Control (PFC) [11,12,13,14,15,16,17,18] has been proposed as an alternative approach that reduces the computational load associated with MPC.
While MPC determines control inputs to minimize the error between the reference trajectory and the predicted trajectory over a predefined prediction horizon from the current time, PFC determines inputs to minimize the error at a specific coincidence point between the reference and predicted trajectories. Due to its control structure, PFC inherits similar advantages to MPC, such as intuitive adjustment of transient responses, while keeping a low computational load. As a result, it is expected to replace the PID control and is applicable in systems such as linear servo systems [16,17]. However, PFC predicts future states based on internal motion models like MPC, raising concerns about potential deterioration in control performance due to disturbances such as modeling errors and unexpected external forces. To address this problem, methods involving the introduction of a disturbance observer [16,17,18] have been proposed, leading to improvements in control performance under the influence of disturbances. This approach requires a separate design for both PFC and a disturbance observer, complicating the control system’s structure.
To address the limitations of conventional approaches, this study proposes a novel control method that incorporates the concept of Sliding Mode Control (SMC) [19,20,21,22,23,24,25]. SMC is a control strategy that constrains system states to a hypersurface in phase space using a switching function. Due to its simple structure and strong robustness against model uncertainties and external disturbances, SMC has been combined with MPC in several previous studies [26,27,28,29,30]. Among the various types of SMC, Integral Sliding Mode Control (ISMC) is particularly suitable for combination with MPC. By constraining the system states to a hypersurface, ISMC allows the dynamics of a disturbed system to approximate that of a nominal system. Even under the influence of disturbances, ISMC can reduce the discrepancy between the predicted future states in MPC and the actual system states, thereby mitigating the degradation of control performance typically observed in MPC under such conditions. Accordingly, several approaches combining ISMC and MPC have been proposed [26,27]. Moreover, various robust predictive control approaches that incorporate SMC concepts have been proposed. For example, in Model Predictive Sliding Mode Control (MPSMC) [28,29,30], the switching function is predicted based on an internal model, and the control input is determined through an evaluation function. Similarly, Extended Model Predictive Control (EMPC) [31,32] and Robust Monte Carlo Model Predictive Control (RMCMPC) [33] employ predictive models that simultaneously estimate the switching function and nominal system states to determine control actions. These controllers have demonstrated excellent robustness, but as with general MPC, the computational load remains a non-negligible issue. To address this challenge, we propose a new control method called Robust Predictive Functional Control (RPFC), which simultaneously achieves robustness and low computational load. The RPFC determines the control input by minimizing the prediction error at specific coincidence points between the reference trajectory and the predicted system states, as well as between the hypersurface and the predicted switching function. The control input can be computed through matrix addition, subtraction, and inner products, and the coefficient matrices required for input computation can be calculated offline. Therefore, as with PFC, RPFC is particularly well suited for systems with limited computational resources or those requiring short control cycles. While retaining the advantages of PFC, RPFC enhances robustness by constraining the system states toward a hyperplane in a manner comparable to techniques such as EMPC and RMCMPC. Unlike conventional disturbance observers that require information such as the frequency characteristics of the disturbance for controller design, the proposed control structure enables the design process without relying on such information. Furthermore, RPFC evaluates the state variables in the phase space, enabling the system to maintain its dynamic behavior close to the nominal performance even under the influence of disturbances. This is in contrast to conventional PID control, where external disturbances can affect transient response. The proposed RPFC is expected to improve tracking performance under such conditions due to its ability to preserve nominal-like transient characteristics despite the presence of disturbances. The combination of low computational load, robustness against unknown disturbances, and improved tracking under disturbance conditions makes RPFC a promising solution for control systems in UAVs such as quadrotors. In this study, the proposed RPFC is applied to the flight control system of a quadrotor to evaluate its effectiveness. We provide a detailed explanation of how RPFC and conventional PFC are implemented in the quadrotor system. Performance evaluation is conducted through numerical simulations, in which the control performance of both controllers is compared under nominal conditions and various types of disturbances.

2. Control Theory

This section provides a detailed explanation of both conventional Predictive Functional Control (PFC) and the Robust Predictive Functional Control (RPFC) proposed in this study. First, the following subsection defines the dynamic system.

2.1. Problem Statement

Conventional PFC is designed for discrete-time, linear time-invariant systems, which can be represented by the following equations [1,11,12].
x k + 1 = A x k + B u k
y k = C x k
This system is an m -input, m -output, n -dimensional state-space system, in which the dimensions of the input and output are identical. k represents a specific time step; u k R m denotes the input vector at time step k ; y k R m represents the output vector; and x k R n is the state vector, where R is a set consisting of the whole real numbers. Matrices A R n × n , B R n × m , and C R m × n are coefficient matrices.
In practice, however, modeling errors, parameter variations, and external disturbances can affect the system, causing deviations from the nominal model in Equation (1). Considering such disturbances, the system can be rewritten as
x k + 1 = A + A k x k + B + B k u k + d x , k
where Δ A k R n × n and Δ B k R n × m represent parameter variations in matrices A and B , respectively, while d x , k R n denotes the disturbance vector. It is assumed that all parameter variations and disturbances can be additively applied to the input. These effects can be expressed using virtual inputs as follows:
A k x k = B u A k
B k u k = B u B k
d x , k = B u d x , k
u A k and u B k represent virtual inputs that account for variations in system matrices A k and B k , respectively, while u d x , k denotes a virtual input that represents the force of external disturbances. The combined force of these virtual inputs is defined as u h x , k , which is denoted by
u h x , k = u A k + u B k + u d x , k
Then, the state equation represented by Equation (3) becomes
x k + 1 = A x k + B u k + B u h x , k
In other words, the parameter variations and input disturbances of the system in Equation (3) are assumed to satisfy matching conditions. This study proposes a robust controller for systems with parameter variations and external forces that satisfy these matching conditions, as represented by Equation (3).

2.2. Predictive Functional Control (PFC)

Similarly to MPC, PFC is a control method that predicts future outputs based on a dynamical model of the target system and determines control inputs accordingly. In general, when no estimator is used, such as a disturbance observer, the disturbance term represented by Equation (8) is unknown. Therefore, the internal model used for prediction is typically based on the ideal, disturbance-free system described in Equation (1). For this ideal model, the predicted state vector, x ^ k + i k , at step i from the current time step, k , is expressed as
x ^ k + i k = A i x k + A i 1 B A i 2 B B u ^ k k u ^ k + 1 k u ^ k + i 1 k
where u ^ represents the future input. Based on Equation (2), the predicted output y ^ k + i k is denoted by
y ^ k + i k = C x ^ k + i k
Substituting the predicted state vector, x ^ k + i k , provided in Equation (9), we obtain the predicted output using the following equation.
y ^ k + i k = C A i x k + C A i 1 B C A i 2 B C B u ^ k k u ^ k + 1 k u ^ k + i 1 k
PFC utilizes this prediction equation and expresses the terms related to the control input using basis functions
j = 1 i C A j 1 B u ^ k + j 1 k = β 0 i μ 0 k + β 1 i μ 1 k + β 2 i μ 2 k
The first term on the right-hand side of Equation (12) corresponds to the zeroth-order input with respect to time, the second term corresponds to the first-order input, and the third to the second-order input. The terms μ 0 k , μ 1 k , and μ 2 k are unknown input coefficients. The input matrices β 0 i , β 1 i , and β 2 i , corresponding to the i -th prediction from time step k , are denoted by
β 0 i = C A i 1 B C A i 2 B C B I m I m I m
β 1 i = C A i 1 B C A i 2 B C B 0 m t I m i 1 t I m
β 2 i = C A i 1 B C A i 2 B C B 0 m t 2 I m i 1 t 2 I m
where t denotes the sampling time, 0 m is the m × m zero matrix, and I m is the m × m identity matrix. Consequently, when the control input is represented using basis functions, the predicted output, y ^ k + i k , at the i -th step from time k becomes
y ^ k + i k = C A i x k + β 0 i μ 0 k + β 1 i μ 1 k + β 2 i μ 2 k
Next, the reference trajectory, r , in PFC is defined as follows:
r k + i = y c k y k λ i
In this equation, y c k is the command value, and λ i is defined as
λ i = 1 e Δ t / T i
The function λ i determines the time response of the deviation and can be freely designed by the control engineer as a tunable parameter within the controller design process [11,12]. This study adopts an exponential function of time, which is commonly used. In Equation (18), T is the time constant, which serves as a design parameter for adjusting the response of the system to the command value. Assuming that the predicted output and the predicted switching function coincide with their respective reference trajectories at three points, the following equation can be formulated:
r k + i 1 r k + i 2 r k + i 3 = C A i 1 C A i 2 C A i 3 x k + β i 1 , i 2 , i 3 μ 0 k μ 1 k μ 2 k y k y k y k
where i 1 , i 2 , and i 3 represent the number of samples from time step k to the i 1 , i 2 , and i 3 -th coincidence point between the ideal model and reference trajectory, β i 1 , i 2 , i 3 are expressed as follows:
β i 1 , i 2 , i 3 = β 0 i 1 β 1 i 1 β 2 i 1 β 0 i 2 β 1 i 2 β 2 i 2 β 0 i 3 β 1 i 3 β 2 i 3
In this study, the number of coincidence points in the PFC is set to three, but it is also possible to select a different number. Increasing the number of coincidence points provides more locations at which the error between the reference and predicted trajectory is evaluated. This leads to a higher-order control input and potentially improves control accuracy. However, it also increases the computational burden. Therefore, in this study, the number of coincidence points is set to three as a compromise between control performance and computational complexity.
Using Equation (19) and solving for the unknown input coefficients, we derive the following equation.
μ 0 k μ 1 k μ 2 k = β 1 i 1 , i 2 , i 3 r k + i 1 r k + i 2 r k + i 3 C A i 1 C A i 2 C A i 3 x k + y k y k y k
In this formulation, it is necessary to compute the inverse of matrix β , which must be a nonsingular matrix. Matrix β is determined by the selection of coincidence points i 1 , i 2 , and i 3 ; system matrices A , B , and C ; and the sampling time, Δ t . In other words, the computation of β , the verification of its rank, and the calculation of its inverse can all be performed offline in advance. As observed from the block structure of Equation (20), if i 1 = i 2 = i 3 (or i 1 = i 2 i 3 , i 1 i 2 = i 3 , i 1 = i 3 i 2 ), the row elements of the block matrix corresponding to each coincidence point become identical, resulting in a rank-deficient β . In such a case, β becomes singular, and its inverse does not exist. Therefore, it is essential to ensure that the coincidence points are selected such that i 1 i 2 i 3 to maintain the regularity of β . Based on the above discussion, once the matrix β has been appropriately defined and its inverse computed, Equation (21) can be calculated to determine the basis function input coefficients μ 0 k , μ 1 k , and μ 2 k . The input becomes 0 for the first- and second-order terms with respect to time at time step k . The control input can be represented solely by the zeroth-order terms, μ 0 k , as follows:
u k = I m 0 m 0 m μ 0 k μ 1 k μ 2 k = I u μ 0 k μ 1 k μ 2 k
where I u is the input coefficient matrix used to extract the zeroth-order terms μ 0 k . Finally, the block diagram of the PFC is shown in Figure 1.

2.3. Robust Predictive Functional Control (RPFC)

In this subsection, we will explain Robust Predictive Functional Control (RPFC) in detail. RPFC improves robustness while maintaining the simple control structure of PFC. The proposed RPFC determines the control input using the following equation.
u k = u 0 k + u 1 k
where u 0 k is the control input for the ideal system without disturbances, as denoted by the equation.
x k + 1 = A x k + B u 0 k
The input u 1 k in Equation (23) is the control input to suppress disturbances and determine the input to constrain the system’s state variables to a hypersurface. In this way, RPFC improves the robustness of PFC by constraining the state variables to a designed hypersurface similar to SMC [19,20,21,22,23,24,25,26].
First, the switching function, σ k , used in RPFC is defined with the following structure, similar to ISMC [21,22,23].
σ k = S x k z k
where S R m × n represents the coefficient matrix of switching hypersurface S x k , and z k is defined as follows:
z k + 1 = z k + S A I n x k + B u 0 k
I n is an n × n identity matrix. In conventional SMC, the switching function is composed solely of switching hypersurface S x k , but in RPFC, similar to ISMC, an auxiliary variable, z k , is introduced in the switching function. The initial value of the auxiliary variable, z 0 , is set to S x 0 . The design of the switching hypersurface can be achieved using methods proposed in conventional SMC, such as eigenvalue placement [24] or optimal hypersurface design techniques that minimize a quadratic evaluation function [25].
Next, we consider the case where the switching function defined by Equation (25) is 0 , in other words, where the state variables of the system are bound by the hypersurface. This condition can be expressed as
σ k = σ k + 1 = 0
Substituting Equation (25) into Equation (27), we obtain
σ k + 1 σ k = S x k + 1 z k + 1 S x k + z k = 0
When the control input provided by Equation (23) is applied to the system with disturbances described in Equation (8), Equation (28) becomes
S A x k + B u 0 k + B u 1 k + B u h x , k z k S A I n x k + B u 0 k S x k + z k = 0
Rearranging, we obtain the relationship
u 1 k = u h x , k
For the system defined by Equation (8), when the control input from Equation (23) is applied to the equation
x k + 1 = A x k + B u 0 k + B u 1 k + B u h x , k
and the relational expression derived from Equation (30) is substituted, the equation becomes
x k + 1 = A x k + B u 0 k
Thus, if the state variables of the system are constrained to the hypersurface and the relationship described by Equation (30) is satisfied, the system behaves identically to the ideal system described by Equation (24). By converging the switching function to 0 , the influence of disturbances, u h x , k , can be suppressed, and the system can approach the ideal response under the influence of disturbance. The characteristics obtained from this approach are the same as those of ISMC in discrete time; however, the RPFC proposed in this study differs from ISMC in how control input u 0 , which determines the ideal response, and control input u 1 , which suppresses disturbances, are determined. In RPFC, inputs u 0 and u 1 are determined by predicting the response based on the model of the control system. By contrast, in general SMC and ISMC, the control input is determined using a sign function, which leads to the issue of input oscillation, commonly known as chattering. RPFC avoids chattering by not using a sign function in input determination. Furthermore, because the response can be shaped by the reference trajectory in the time domain without being influenced by the switching hypersurface, the transient response can be designed intuitively. The next paragraph will provide a detailed explanation of the methods used to determine inputs u 0 and u 1 in RPFC.
In RPFC, similar to PFC, the system response is predicted based on the model, and in addition to determining the input that realizes the ideal response, the input required to make the switching function converge to 0 is also determined. For this purpose, the output, y , and the switching function, σ , are predicted based on the ideal model. Firstly, the predicted future output, y ^ k + i k , from time step k to k + i is expressed as
y ^ k + i k = C A i x k + C A i 1 B C A i 2 B C B u ^ 0 k k u ^ 0 k + 1 k u ^ 0 k + i 1 k
The prediction of the output, y ^ , is based solely on the future control inputs, u ^ 0 , applied to the ideal model, assuming that input u 1 effectively suppresses disturbances, resulting in the system response provided by Equation (24), where u 1 does not influence the transient response. Next, the prediction of the switching function, σ , is explained. The predicted value of σ , denoted as σ ^ , can be expressed using Equation (25) as
σ ^ k + i k = S x ^ k + i k z ^ k + i k
where x ^ denotes the predicted state vector of the ideal system described by Equation (8), where the disturbance input is set to u h x , k = 0 . This predicted state corresponds to the response when the future control input, u ^ 0 , which determines the transient response, and the future control input, u ^ 1 , which suppresses disturbances, are applied.
x ^ k + i k = A i x k + A i 1 B A i 2 B B u ^ 0 k k u ^ 0 k + 1 k u ^ 0 k + i 1 k + A i 1 B A i 2 B B u ^ 1 k k u ^ 1 k + 1 k u ^ 1 k + i 1 k
Additionally, z ^ is derived from Equation (26) as
z ^ k + i k = z k + S A i I n x k + S A i 1 B S A i 2 B S B u ^ 0 k k u ^ 0 k + 1 k u ^ 0 k + i 1 k
The initial value of z 0 is S x 0 , and from the next control loop onwards, z k is determined using control input u 0 , determined by the following equation and the previous control loop.
z k = z k 1 + S A I n x k 1 + B u 0 k 1
Using Equations (35) and (36), the predicted value, σ ^ k + i k , of the switching function is calculated as
σ ^ k + i k = S x k z k + S A i 1 B S A i 2 B S B u ^ 1 k k u ^ 1 k + 1 k u ^ 1 k + i 1 k
RPFC utilizes the prediction equation defined by Equations (33) and (38) to express the terms related to the input of the controller using basis functions.
j = 1 i C A j 1 B u ^ 0 k + j 1 k = β 0 i μ 0 k + β 1 i μ 1 k + β 2 i μ 2 k
j = 1 i S A j 1 B u ^ 1 k + j 1 k = γ 0 i ν 0 k + γ 1 i ν 1 k + γ 2 i ν 2 k
The terms on the right-hand side of Equations (39) and (40) represent the zeroth-order input term, first-order input term, and second-order input term, where μ 0 k , μ 1 k , μ 2 k , ν 0 k , ν 1 k , and ν 2 k are unknown input coefficients. The input matrices β 0 i , β 1 i , and β 2 i from time step k to the i -th future step are defined in the same manner as in conventional PFC (as shown in Equations (13)–(15)). The input matrices γ 0 i , γ 1 i , and γ 2 i are provided by Equations (41)–(43).
γ 0 i = S A i 1 B S A i 2 B S B I m I m I m
γ 1 i = S A i 1 B S A i 2 B S B 0 m t I m i 1 t I m
γ 2 i = S A i 1 B S A i 2 B S B 0 m t 2 I m i 1 t 2 I m
In RPFC, the reference trajectory, r , for the output of the ideal model is defined in the same way as in PFC, as denoted by Equation (17). The reference trajectory for the switching function is
r σ k + i = σ k λ σ i
where λ σ i is a function that determines the response of the switching function. Similarly to the deviation response function, λ i , it can be freely designed by the control engineer. In this study, we adopt an exponential function with respect to time for λ σ i , just as in the case of PFC.
λ σ i = 1 e Δ t / T σ i
In this equation, T σ is the time constant used to adjust the response speed of the sliding function. Assuming that the predicted output and the predicted switching function coincide with their respective reference trajectories at three points, similar to PFC, the following equation can be formulated
r k + i 1 r k + i 2 r k + i 3 r σ k + i σ 1 r σ k + i σ 2 r σ k + i σ 3 = C A i 2 C A i 2 C A i 3 S S S x k + β i 1 , i 2 , i 3 0 3 m 0 3 m γ i σ 1 , i σ 2 , i σ 3 μ 0 k μ 1 k μ 2 k ν 0 k ν 1 k ν 2 k y k y k y k z k z k z k
0 3 m denotes a 3 m × 3 m zero matrix. Similarly to the PFC case, i 1 , i 2 , and i 3 represent the number of samples from time step k to the i 1 -, i 2 -, and i 3 -th coincidence points between the ideal model and reference trajectory, and matrix β denotes the input matrix, as defined in Equation (20). i σ 1 , i σ 2 , and i σ 3 represent the number of samples from time step k to the i σ 1 -, i σ 2 -, and i σ 3 -th coincidence points between the switching function and reference trajectory, and input matrix γ is expressed as follows:
γ = γ 0 i σ 1 γ 1 i σ 1 γ 2 i σ 1 γ 0 i σ 2 γ 1 i σ 2 γ 2 i σ 2 γ 0 i σ 3 γ 1 i σ 3 γ 2 i σ 3
As in the case of PFC, the proposed RPFC employs three coincidence points for both the state variables and the switching function, but the number of points can be adjusted according to design requirements.
Using Equation (46) and solving for the unknown input coefficients, we derive the following equation.
μ 0 k μ 1 k μ 2 k ν 0 k ν 1 k ν 2 k = β 1 i 1 , i 2 , i 3 0 3 m 0 3 m γ 1 i σ 1 , i σ 2 , i σ 3 r k + i 1 r k + i 2 r k + i 3 r σ k + i σ 1 r σ k + i σ 2 r σ k + i σ 3 C A i 1 C A i 2 C A i 3 S S S x k + y k y k y k z k z k z k
In this formulation, it is necessary to compute the inverse of matrices β and γ , which must be a nonsingular matrix. Similarly to matrix β described in Section 2.2 for PFC, matrix γ is determined by the selection of coincidence points i σ 1 , i σ 2 , and i σ 3 (or i σ 1 = i σ 2 i σ 3 , i σ 1 i σ 2 = i σ 3 , i σ 1 = i σ 3 i σ 2 ); system matrices A , B , and S ; and the sampling time, t . This implies that, as with β , both the rank verification and the computation of the inverse of γ can be performed offline in advance. To ensure the regularity of γ , the coincidence points must be chosen such that i σ 1 i σ 2 i σ 3 , as is the case for β . Based on the above discussion, once matrices β and γ are properly defined, and their inverses are computed, the basis function input coefficients μ 0 k , μ 1 k , and μ 2 k and ν 0 k , ν 1 k , and ν 2 k can be obtained by calculating Equation (48). At time step k , the first- and second-order terms of the input are 0 . Therefore, control inputs u 0 k and u 1 k can be represented solely by the zeroth-order input coefficients, μ 0 k and ν 0 k .
u 0 k = I u μ 0 k μ 1 k μ 2 k
u 1 k = I u ν 0 k ν 1 k ν 2 k
From Equation (48), it is apparent that RPFC can determine the control input without requiring iterative calculations needed for solving optimization problems as in MPC. Therefore, RPFC potentially reduces computational costs compared with a general MPC.
Finally, a block diagram of RPFC is shown in Figure 2.

2.4. Stability of RPFC

This subsection discusses the stability of the proposed RPFC. As shown in Equation (48), the control input in RPFC is computed without iterative optimization. Consequently, RPFC can be regarded as a time-invariant linear controller similar to state feedback control, allowing for the evaluation of system stability through eigenvalue analysis, such as pole placement. The proposed controller determines the control input based not only on the system state variables but also on the switching function. As described in Equation (25), the switching function is composed of the state variable, x , and an auxiliary variable, z . In regulatory control scenarios, where the goal is to drive the system state to the equilibrium point x = 0 , the switching function, σ , must also converge to 0 . This requires that the auxiliary variable, z , also converges to 0 . Therefore, system stability can be assessed by confirming that both x and z converge to 0 , which can be verified by analyzing the pole locations of the closed-loop system. Using the nominal system dynamics from Equation (1) and the auxiliary variable dynamics from Equation (37), the augmented system state equation, in which x and z are treated as state variables, can be expressed as follows:
x k + 1 z k + 1 = A 0 n × m S A I n I m x k z k + B B S B 0 m u 0 k u 1 k = A e x k z k + B e u 0 k u 1 k
where 0 n × m denotes an n × m zero matrix. Assuming the command, value y c k = 0 , from Equation (48) can be rewritten as
u 0 k u 1 k = I u 0 m × 3 m 0 m × 3 m I u β 1 i 1 , i 2 , i 3 0 3 m 0 3 m γ 1 i σ 1 , i σ 2 , i σ 3 C 1 λ i 1 I n A i 1 0 m C 1 λ i 2 I n A i 2 0 m C 1 λ i 3 I n A i 3 0 m 1 + λ σ i σ 1 S 1 + λ σ i σ 1 I m 1 + λ σ i σ 2 S 1 + λ σ i σ 2 I m 1 + λ σ i σ 3 S 1 + λ σ i σ 3 I m x k z k
where 0 m × 3 m is a zero matrix with m rows and 3 m columns. By defining the coefficient matrix of the augmented state vector, x T k z T k T , as the input gain matrix, Fe, the above equation can be rewritten as follows:
u 0 k u 1 k = F e x k z k
Thus, the closed-loop system dynamics can be represented as
x k + 1 z k + 1 = A e + B e F e x k z k
This implies that the stability of the proposed RPFC can be evaluated by examining the eigenvalues of the closed-loop system matrix, A e + B e F e . Since the system under consideration is a discrete-time system, the stability condition requires that the absolute value of all eigenvalues lies strictly within the unit circle, i.e., less than one. Additionally, since the proposed RPFC determines the control input using the gain matrix, F e , examining the magnitude of its elements provides insight into the expected scale of the control input.

3. Flight Control System Design

This section describes the methodology for applying the proposed RPFC to the flight control system of a quadrotor. In the next subsection, we begin by presenting the nonlinear equations of motion that describe the dynamics of the quadrotor.

3.1. Nonlinear Dynamics of a Quadrotor

Figure 3 shows the body-fixed coordinate system, state variables, and control inputs used in this study to model the quadrotor. In the body-fixed coordinate system, the translational velocities along the X , Y , and Z axes are denoted by U , V , and W , respectively, and the angular velocities around these axes by P , Q , and R . The quadrotor is assumed to generate thrust in the direction normal to the X - Y plane of the body frame. The angular velocities of the four rotors, which generate this thrust, are denoted by Ω 1 , Ω 2 , Ω 3 , and Ω 4 . The distance from the quadrotor’s center of mass to where each rotor’s thrust force acts is represented by L .
The dynamics of the quadrotor consist of translational and rotational motion and are described by the following equations.
V ˙ = Ω ~ V + 1 M F
Ω ˙ = J 1 Ω ~ J Ω + J 1 M
M is the mass of the quadrotor, and J is the inertia tensor, denoted by
J = J X X 0 0 0 J Y Y 0 0 0 J Z Z
In Equations (55) and (56), V = U V W T and Ω = P Q R T denote the velocity vector and angular velocity vector in the body-fixed coordinate system. Ω ~ is the skew-symmetric matrix of angular velocities, defined as
Ω ~ = 0 R Q R 0 P Q P 0
The force vector, F , and moment vector, M , act on the quadrotor and can be expressed as
F = F x F y F z = F p + F d
M = M x M y M z = M p + M d
where F p and M p represent the force vector and moment vector generated by the propellers, defined by
F p = 0 0 C L Ω 1 2 + Ω 2 2 + Ω 3 2 + Ω 4 2
M p = L C L Ω 4 2 Ω 2 2 L C L Ω 1 2 Ω 3 2 C D Ω 1 2 Ω 2 2 + Ω 3 2 Ω 4 2
Thrust and counter-torque are proportional to the square of the propeller speeds. The constants C L and C D depend on the aerodynamic characteristics of the propeller blades, which, in turn, depend on their geometry. Although the quadrotor is subject to gyroscopic moments induced by the rotating propellers, these effects are relatively minor and, therefore, neglected in this study. The second terms, F d and M d , in Equations (55) and (56) represent external disturbances such as wind gusts.
Let the position of the quadrotor in the inertial frame be defined as ζ = x y z T and its attitude be represented using Euler angle η = Φ Θ Ψ T . Then, the translational and rotational motion can be rewritten using the velocity vector, V , and the angular velocity vector, Ω , in the body-fixed coordinate system as
ζ ¨ = R ˙ t η , η ˙ V + R t η V ˙
η ¨ = R ˙ r η , η ˙ Ω + R r η Ω ˙
where R t η and R r η are the coordinate transformation matrices from the body-fixed coordinate system to the inertial coordinate system, defined as
R t η = cos Ψ cos Θ cos Ψ sin Θ sin Φ sin Ψ cos Φ cos Ψ sin Θ cos Φ + sin Ψ sin Φ sin Ψ cos Θ sin Ψ sin Θ sin Φ + cos Ψ cos Φ sin Ψ sin Θ cos Φ cos Ψ sin Φ sin Θ cos Θ sin Φ cos Θ cos Φ
R r η = 1 sin Φ tan Θ cos Φ tan Θ 0 cos Φ sin Φ 0 sin Φ / cos Θ cos Φ / cos Θ
As shown above, the coordinate transformation matrix, R r η , becomes singular at Θ = ± π / 2 . This singularity can be avoided by using a quaternion representation. However, since this study is limited to normal flight conditions that do not involve acrobatic maneuvers, it is assumed that Θ remains within the range that avoids the singularity.
Using the above definitions, the equations of motion in the inertial frame can be rewritten as
ζ ¨ = g + R ˙ t η , η ˙ V R t η Ω ~ V + R t η 1 M F
η ¨ = R r η ˙ Ω R r η J 1 Ω ~ J Ω + R r η J 1 M
The influence of gravity is considered in the translational equation of motion shown in Equation (67) by adding the gravitational acceleration vector, g = 0 0 g T , as the first term on the right-hand side, where g denotes the gravitational acceleration.
Lastly, assuming that each rotor follows first-order lag dynamics, the propeller angular velocities, Ω 1 , Ω 2 , Ω 3 , and Ω 4 , follow the propeller commands Ω c 1 , Ω c 2 , Ω c 3 , and Ω c 4 according to
Ω ˙ 1 Ω ˙ 2 Ω ˙ 3 Ω ˙ 4 = Ω 1 / T Ω + Ω c 1 / T Ω Ω 2 / T Ω + Ω c 2 / T Ω Ω 3 / T Ω + Ω c 3 / T Ω Ω 4 / T Ω + Ω c 4 / T Ω
where T Ω is the time constant that characterizes the propeller dynamics.

3.2. Linearization of Equations of Motion

As described in Section 2, the proposed RPFC and conventional PFC are designed for linear systems. Therefore, the nonlinear dynamics derived in the previous subsection cannot be directly used. In this subsection, we introduce a method for linearizing the quadrotor dynamics to enable the application of RPFC and PFC. The nonlinear equations of motion, as expressed in Equations (67) and (68), include terms accounting for centripetal acceleration, the product of inertia, and other dynamic effects, making the model complex. In this study, we assume the quadrotor operates near hovering with small deviations in attitude. The following assumptions are made:
Assumption 1: The variations in Euler angles are small, allowing the coordinate transformation matrix, R r η , and the time derivatives of R t η and R r η to be approximated as
R r η I 3
R ˙ t η , η ˙ = R ˙ r η , η ˙ 0 3
where 0 3 and I 3 denote the 3 × 3 zero and identity matrices, respectively.
Assumption 2: The effects of centripetal acceleration are negligible:
Ω ~ V 0 0 0
Assumption 3: The effects of the inertial cross-coupling are negligible:
Ω ~ J Ω 0 0 0
Using these assumptions, we linearize Equations (67) and (68). First, we define a new input vector, f , as the transformation of the force vector, F , in the body-fixed coordinate system into the inertial coordinate system.
f = f x f y f z = R t η F
Thus, f represents the force vector in the inertial coordinate system. Applying Assumptions 1 and 2 shown in Equations (71) and (72), the translational dynamics become
ζ ¨ = g + 1 M f
We then define a new control input, f u , by
f = f u M g
In this equation, f u is the control input determined by the controller, while M g is the constant input that cancels out the effect of gravity. Substituting this input, f , into the equation obtains
ζ ¨ = 1 M f u
Letting the state vector for translational motion be x t = ζ T ζ ˙ T T and the output be y t = ζ , we can represent the system in state-space
d x t d t = 0 3 I 3 0 3 0 3 x t + 0 3 1 / M I 3 f u
y t = I 3 0 3 x t
Consequently, the system is square and linear, with a six-dimensional state vector, three inputs, and three outputs, which enables the application of both PFC and RPFC.
Next, we linearize the rotational dynamics expressed in Equation (68). By applying Assumptions 1 and 3 shown in Equations (70), (71) and (73), the rotational dynamics can be simplified to
η ¨ = J 1 M
Letting the state vector for rotational motion be x r = η T η ˙ T T and the output be y r = η , the corresponding state-space representation becomes
d x r d t = 0 3 I 3 0 3 0 3 x r + 0 3 J 1 M
y r = I 3 0 3 x r
As in the linearized translational case, the linearized rotational dynamics is square and linear, with a six-dimensional state vector, three inputs, and three outputs, which enables the application of both PFC and RPFC.
Finally, since the linearized translational and rotational equations of motion described above represent continuous-time systems, discretization is required to apply PFC and RPFC. In this study, the systems provided in Equations (78) and (81) were discretized using a zero-order hold (ZOH) method [34], assuming that the control inputs remain constant over each sampling time, t .

3.3. Flight Control System of the Quadrotor

The RPFC and PFC determine the translational control input, f u , and the rotational control input, M , using the discretized version of the linearized motion models described in Equations (78) and (81). The translational controller receives the position command ζ c = x c y c z c T in the inertial coordinate system and generates input f u , which guides the quadrotor to the desired position. It is important to note that input f u in the linearized translational motion equation represents force in the inertial coordinate system. Since the direction of thrust for a quadrotor is fixed along the body’s vertical axis, the generated force cannot be directly applied in horizontal directions when the quadrotor is hovering. Thus, to produce a horizontal force, the quadrotor must change its attitude to tilt the thrust direction. In this way, the quadrotor generates the required force for horizontal movement and achieves the desired flight control.
The total thrust, F z , of the quadrotor is determined as the Euclidean norm of the force vector, f , in the inertial frame:
F z = f 2 = f x 2 + f y 2 + f z 2
Assuming that the yaw angle, Ψ , is controlled to be 0 degrees ( Ψ = 0 ), the relationship between the total thrust, F z , and the inertial input, f , can be expressed using the coordinate transformation matrix R r η as
sin Θ cos Φ sin Φ cos Θ cos Φ F z = f x f y f z
The commanded roll, Φ c , and pitch, Θ c , angles for the rotational controller are then derived as follows:
Φ c = sin 1 f y / F z
Θ c = tan 1 f x / f z
Since the yaw angle, Ψ , is assumed to be 0 degrees, the commanded yaw angle, Ψ c , is also set to 0 degrees. The commanded attitude, η c , in Euler angles is expressed as
η c = Φ c Θ c Ψ c = Φ c Θ c 0
Figure 4 is a block diagram of the proposed flight control system for the quadrotor. In the proposed flight control system, the translational controller determines the control input, f u , in the inertial coordinate system. Then, the Euler angle command generator calculates the attitude command by considering both the gravity-compensated input, f , and the total thrust, F z . The rotational controller then tracks the commanded attitude angles, η c , to ensure the quadrotor follows the desired orientation.
Finally, in the input mixing block shown in Figure 4, the angular velocity commands of the propellers, Ω c 1 , Ω c 2 , Ω c 3 , and Ω c 4 , are determined using the total thrust, F z , provided by the translational controller and the control moment, M , provided by the rotational controller, according to the following equation:
Ω c 1 2 = F z 4 C L + M y 2 L C L + M z 4 C D
Ω c 2 2 = F z 4 C L M x 2 L C L M z 4 C D
Ω c 3 2 = F z 4 C L M y 2 L C L + M z 4 C D
Ω c 4 2 = F z 4 C L + M x 2 L C L M z 4 C D

4. Numerical Simulation

In this section, the control performance of the proposed RPFC is evaluated and compared with that of conventional PFC using the quadrotor flight control system described in Section 3. The proposed flight controller consists of two components, namely, the translational controller and the rotational controller. The comparison is conducted by applying either RPFC or PFC to both components of the system. It is also assumed that all state variables are fully observable.
Table 1 details the simulation settings, including the quadrotor parameters. Table 2 and Table 3 list the parameters used for the translational and rotational controllers, respectively. As discussed in Section 3, a key feature of the proposed flight control system is that attitude control is directly achieved via propeller thrusts in the rotational controller, while translational control is indirectly realized by tilting the attitude to generate forces in the translational directions. Therefore, the translational controller’s performance depends on the responsiveness of the rotational controller, and a slower response in the translational controller is preferred. Accordingly, the time constants, T and T σ , of the reference trajectories in Equations (18) and (45) are set such that the translational controller’s time constant is greater than that of the rotational controller.
Next, the position command, ζ c k , for the translational controller is provided by the following equation.
ζ c k = c x sin ω c k t c y cos ω c k t c z
Additionally, external force disturbances, F d , and moment disturbances, M d , are applied under three conditions, as shown in Table 4. Condition 1 assumes a nominal state without disturbances; Condition 2 introduces constant disturbances, which are intended to represent parameter uncertainties such as mass and moments of inertia, or steady wind forces; and Condition 3 considers periodically varying disturbances, representing external forces caused by events such as gusts of wind. Under these three conditions, where the position command, ζ c ; force disturbance, F d ; and moment disturbance, M d , are applied, the performance of flight control systems using RPFC and PFC is evaluated.
In this study, quantitative metrics are used to evaluate both the tracking performance and the magnitude of the control input. First, the tracking performance is assessed using the Integral of Squared Error (ISE), which is defined as follows:
i s e = k = 0 n k 1 e l 2
where e l ( l = x , y , z , Φ , Θ , Ψ ) denotes the tracking error for each output variable.
Next, the control input is evaluated using the mean squared value (MSV) of the propeller rotational speeds, defined as
m s v = 1 n k k = 0 n k 1 Ω l 2
where Ω l ( l = 1 , 2 , 3 , 4 ) denotes the rotational speed of each propeller.
Figure 5, Figure 6 and Figure 7 show the time responses of the position and attitude of the quadrotor under Conditions 1 to 3. In these figures, the black dashed lines represent the command values for both translational and rotational controllers, while the red solid lines denote the output responses. The initial state of the quadrotor is assumed to be a hovering condition with an initial position of ζ 0 = 0 0 0 T and an initial attitude of η 0 = 0 0 0 T .
In Condition 1 (Figure 5), where no disturbances are applied, both PFC and the proposed RPFC successfully track the position commands. Attitude commands generated by the translational controller are also well tracked. Although the ISE values shown in Table 5 indicate a slightly higher value for RPFC in relative terms, the absolute differences are small, and no significant performance gap can be observed between the controllers.
Condition 2 (Figure 6) includes constant disturbances, and the PFC shows degradation in position tracking performance compared with the nominal case. The rotational controller also exhibits steady-state errors in attitude tracking. By contrast, the proposed RPFC demonstrates robust tracking performance, maintaining almost the same performance as in the nominal case. This is also supported by the ISE values in Table 5, which show that RPFC achieves lower ISE values than PFC, indicating improved performance under constant disturbances.
Condition 3 (Figure 7) includes periodic disturbances, and PFC fails to track the reference trajectories accurately. Although RPFC is also affected by the disturbances, it maintains a trajectory closer to the reference. The ISE values confirm that RPFC consistently outperforms PFC under all outputs, indicating its superior performance under periodic disturbances. Figure 8 illustrates the time history of the rotor speeds. It shows that RPFC achieves effective control without significantly increasing control effort compared with PFC. The MSV of the propeller speeds shown in Table 6 also indicates no noticeable difference under nominal conditions (Condition 1). A slight increase in input magnitude is observed only under disturbed conditions (Conditions 2 and 3), confirming that the proposed controller effectively suppresses the influence of disturbances.
These results verify that the proposed RPFC achieves higher robustness than conventional PFC in quadrotor flight control systems. However, the ISE (Integral of Squared Error) values also indicate that the increase in error under disturbances is larger in the translational control system than in the rotational control system. The linearized model used for controller design in this study features an equal number of inputs and degrees of freedom, which ensures that the matching conditions are satisfied even under parameter variations and external forces such as wind gusts. In practice, however, actuator delays exist and make it difficult to fully meet this condition.
Focusing on how control inputs are generated, rotational motion is directly driven by changing the propeller speeds, which produce torque directly. Since the propeller response is significantly faster than the overall system dynamics, the effect of actuator delays is relatively small. On the other hand, translational motion is indirectly controlled by tilting the body to change the direction of the thrust vector. Therefore, the control input applied to the translational control system can only be regarded as pseudo-fully actuated. This difference in input mechanism is the reason why the rotational controller demonstrated better performance than the translational controller under disturbance conditions.

5. Conclusions

This study proposed a novel Robust Predictive Function Control (RPFC) method aimed at improving the robustness of conventional Predictive Function Control (PFC). The proposed RPFC and the conventional PFC were implemented in a quadrotor flight control system, and their performance was verified under constant and periodically varying disturbance conditions through numerical simulations. The results demonstrated that RPFC achieves superior control performance compared with PFC in the presence of disturbances. Future work will focus on applying the proposed controller to an actual quadrotor and validating its effectiveness through flight experiments.

Author Contributions

Conceptualization, K.M.; methodology, K.M.; software, K.M.; validation, K.M.; formal analysis, K.M.; investigation, K.M.; resources, K.M.; data curation, K.M.; writing—original draft preparation, K.M.; writing—review and editing, K.U.; visualization, K.M.; supervision, K.M.; project administration, K.M.; funding acquisition, K.M. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by JSPS KAKENHI under grant number JP21K14189.

Data Availability Statement

The data are contained within the article.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Maciejowski, J.M. Predictive Control: With Constraints; Prentice Hall Press: Hoboken, NJ, USA, 2000. [Google Scholar]
  2. Morari, M.; Lee, J.H. Model Predictive Control: Past, Present and Future. J. Comput. Appl. Chem. Eng. 1999, 23, 667–682. [Google Scholar] [CrossRef]
  3. Qin, S.J.; Badgwell, T.A. A Survey of Industrial Model Predictive Control Technology. IFAC Control. Eng. Pract. 2003, 11, 733–764. [Google Scholar] [CrossRef]
  4. Nguyen, H.; Kamel, M.; Alexis, K.; Siegwart, R. Model Predictive Control for Micro Aerial Vehicles: A Survey. In Proceedings of the European Control Conference (ECC), Delft, The Netherlands, 29 June–2 July 2021; pp. 1556–1563. [Google Scholar] [CrossRef]
  5. Eren, U.; Prach, A.; Kocer, B.B.; Rakovic, S.V.; Kayacan, E.; Acikmese, B. Model Predictive Control in Aerospace Systems: Current State and Opportunities. AIAA J. Guid. Control. Dyn. 2017, 40, 1541–1566. [Google Scholar] [CrossRef]
  6. Oh, D.D.; Byun, J.; Lee, D. Real-Time Trajectory Generation of a Quadrotor UAV with Load Suspended from a Pulley. In Proceedings of the International Conference on Control, Automation and Systems (ICCAS), Jeju, Republic of Korea, 27 November–1 December 2022; pp. 1309–1314. [Google Scholar] [CrossRef]
  7. Islam, M.; Idres, M.M. Dynamics and Control of Quadcopter Using Linear Model Predictive Control Approach. IOP Conf. Ser. Mater. Sci. Eng. 2017, 270, 012007. [Google Scholar] [CrossRef]
  8. Koo, S.; Kim, S.; Suk, J. Model Predictive Control for UAV Automatic Landing on Moving Carrier Deck with Heave Motion. IFAC-PapersOnLine 2015, 48, 59–64. [Google Scholar] [CrossRef]
  9. Romero, A.; Sun, S.; Foehn, P.; Scaramuzza, D. Model Predictive Contouring Control for Time-Optimal Quadrotor Flight. IEEE Trans. Robot. 2022, 38, 3340–3356. [Google Scholar] [CrossRef]
  10. Mao, S.; Tan, W.K.; Low, K.H. Autonomous Formation Flight of Indoor UAVs Based on Model Predictive Control. In Proceedings of the AIAA Science and Technology (SciTech) Forum, San Diego, CA, USA, 3–7 January 2016; p. 0515. [Google Scholar] [CrossRef]
  11. Richalet, J.; Ata-Doss, S.E.; Arber, C.; Kuntze, H.; Jacubasch, A.; Schill, W. Predictive Functional Control-Application to Fast and Accurate Robots. IFAC Proc. Vol. 1987, 20, 251–258. [Google Scholar] [CrossRef]
  12. Richalet, J.; O’Donovan, D. Predictive Functional Control: Principles and Industrial Applications, 2009th ed.; Springer: Berlin, Germany, 2009. [Google Scholar]
  13. Vivas, A.; Poignet, P. Model Based Predictive Control of a Fully Parallel Robot. In Proceedings of the 7th IFAC Symposium on Robot Control, Wroclaw, Poland, 1–3 September 2003; pp. 279–284. [Google Scholar] [CrossRef]
  14. Hashimoto, Y.; Satoh, T.; Nagase, J.; Saga, N. Comparison between PFC and PID Control Systems for a Pneumatic Cylinder. IEEJ Trans. Electr. Electron. Eng. 2015, 10, 605–607. [Google Scholar] [CrossRef]
  15. Nagase, J.; Satoh, T.; Saga, N.; Suzumori, K. Predictive Functional Control of Tendon-Driven Actuator Using Pneumatic Balloon. J. Adv. Mech. Des. Syst. Manuf. 2013, 7, 752–762. [Google Scholar] [CrossRef]
  16. Satoh, T.; Kaneko, K.; Saito, N. Performance Improvement of Predictive Functional Control: A Disturbance Observer Approach. In Proceedings of the 37th Annual Conference of the IEEE Industrial Electronics Society, Victoria, Australia, 7–10 November 2011; pp. 279–284. [Google Scholar] [CrossRef]
  17. Hara, H.; Satoh, T.; Saito, N.; Nagase, J.; Saga, N. Disturbance Observer-Based Predictive Functional Control Using Zero Phase Error Tracking Controller. In Proceedings of the World Congress on Industrial Control Systems Security, London, UK, 14–16 December 2015; pp. 19–20. [Google Scholar] [CrossRef]
  18. Zhang, Y.; Yang, H.; Jiang, Z.; Hu, F.; Zhang, W. Robust Predictive Functional Control for Flight Vehicles Based on Nonlinear Disturbance Observer. Int. J. Aerosp. Eng. 2015, 2015, 1–16. [Google Scholar] [CrossRef]
  19. Utkin, V.I. Sliding Mode Control in Mechanical Systems. In Proceedings of the Annual Conference of IEEE Industrial Electronics, Bologna, Italy, 5–9 September 1994; pp. 1429–1431. [Google Scholar] [CrossRef]
  20. Utkin, V.I. Sliding Modes in Control and Optimization, 1st ed.; Springer: Berlin, Germany, 1992; pp. 1–73. [Google Scholar]
  21. Utkin, V.I. Integral Sliding Mode in Systems Operating under Uncertainty Conditions. In Proceedings of the IEEE Conference on Decision and Control (CDC), Kobe, Japan, 11–13 December 1996; pp. 4591–4596. [Google Scholar] [CrossRef]
  22. Rubagotti, M.; Estrada, A.; Castanos, F.; Ferrara, A.; Fridman, L. Integral Sliding Mode Control for Nonlinear Systems With Matched and Unmatched Perturbations. IEEE Trans. Autom. Control. 2011, 56, 2699–2704. [Google Scholar] [CrossRef]
  23. Pan, Y.; Yang, C.; Pan, L.; Yu, H. Integral Sliding Mode Control: Performance, Modification, and Improvement. IEEE Trans. Ind. Inform. 2018, 14, 3087–3096. [Google Scholar] [CrossRef]
  24. Woodham, C.A.; Zinober, A.S.I. Eigenvalue Placement in a Specified Sector for Variable Structure Control Systems. Int. J. Control. 1993, 57, 1021–1037. [Google Scholar] [CrossRef]
  25. Castillo, I.; Fridman, L. MATLAB Toolbox for Singular LQ Based Sliding Mode Control Design. In Proceedings of the IEEE Conference on Decision and Control, Firenze, Italy, 10–13 December 2013; pp. 4242–4247. [Google Scholar] [CrossRef]
  26. Bhattacharjee, D.; Subbarao, K. Robust Control Strategy for Quadcopters using Sliding Mode Control and Model Predictive Control. In Proceedings of the AIAA Science and Technology (SciTech) Forum, Orlando, FL, USA, 6–10 January 2020; pp. 2020–2071. [Google Scholar] [CrossRef]
  27. Rubagotti, M.; Raimondo, D.M.; Ferrara, A.; Magni, L. Robust Model Predictive Control With Integral Sliding Mode in Continuous-Time Sampled-Data Nonlinear Systems. IEEE Trans. Autom. Control. 2011, 56, 556–570. [Google Scholar] [CrossRef]
  28. Xiao, H.; Zhao, D.; Gao, S.; Spurgeon, S.K. Sliding Mode Predictive Control: A Survey. Annu. Rev. Control. 2022, 54, 148–166. [Google Scholar] [CrossRef]
  29. Wang, Y.; Chen, W.; Tomizuka, M.; Alsuwaidan, B.N. Model Predictive Sliding Mode Control: For Constraint Satisfaction and Robustness. In Proceedings of the Dynamic Systems and Control Conference, Palo Alto, CA, USA, 21–23 October 2013. [Google Scholar] [CrossRef]
  30. Zhou, J.; Liu, Z.; Pei, R. Sliding Mode Model Predictive Control with Terminal Constraints. In Proceedings of the 3rd World Congress on Intelligent Control and Automation, Hefei, China, 26 June–2 July 2000; pp. 2791–2795. [Google Scholar] [CrossRef]
  31. Masuda, K.; Uchiyama, K. Extended Model Predictive Control: Robust Controller with Matching Condition. Trans. JSME 2020, 86, 19-00300. (In Japanese) [Google Scholar] [CrossRef]
  32. Masuda, K.; Uchiyama, K. Control System Design by using Extended Model Predictive Control for The Quadrotor. In Proceedings of the AIAA Science and Technology (SciTech) Forum, San Diego, CA, USA, 3–7 January 2022; p. 2022-0753. [Google Scholar] [CrossRef]
  33. Masuda, K.; Uchiyama, K. Attitude Control System for Quadrotor Using Robust Monte Carlo Model Predictive Control. Actuators 2024, 13, 443. [Google Scholar] [CrossRef]
  34. Franklin, G.F.; Powell, J.D.; Workman, M.L. Digital Control of Dynamic Systems, 3rd ed.; Prentice Hall Press: Hoboken, NJ, USA, 1997. [Google Scholar]
Figure 1. Block diagram of Predictive Functional Controller.
Figure 1. Block diagram of Predictive Functional Controller.
Drones 09 00506 g001
Figure 2. Block diagram of Robust Predictive Functional Controller.
Figure 2. Block diagram of Robust Predictive Functional Controller.
Drones 09 00506 g002
Figure 3. Coordinate definition of the quadrotor.
Figure 3. Coordinate definition of the quadrotor.
Drones 09 00506 g003
Figure 4. Block diagram of the proposed flight control system of the quadrotor.
Figure 4. Block diagram of the proposed flight control system of the quadrotor.
Drones 09 00506 g004
Figure 5. Time histories of the position and attitude of the quadrotor in Condition 1 (black dotted line: command value; red solid line: output). (a) RPFC (trajectory). (b) PFC (trajectory). (c) RPFC (position). (d) PFC (position). (e) RPFC (attitude). (f) PFC (attitude).
Figure 5. Time histories of the position and attitude of the quadrotor in Condition 1 (black dotted line: command value; red solid line: output). (a) RPFC (trajectory). (b) PFC (trajectory). (c) RPFC (position). (d) PFC (position). (e) RPFC (attitude). (f) PFC (attitude).
Drones 09 00506 g005aDrones 09 00506 g005b
Figure 6. Time histories of the position and the attitude of the quadrotor in Condition 2 (black dotted line: command value; red solid line: output). (a) RPFC (trajectory). (b) PFC (trajectory). (c) RPFC (position). (d) PFC (position). (e) RPFC (attitude). (f) PFC (attitude).
Figure 6. Time histories of the position and the attitude of the quadrotor in Condition 2 (black dotted line: command value; red solid line: output). (a) RPFC (trajectory). (b) PFC (trajectory). (c) RPFC (position). (d) PFC (position). (e) RPFC (attitude). (f) PFC (attitude).
Drones 09 00506 g006aDrones 09 00506 g006b
Figure 7. Time histories of the position and the attitude of the quadrotor in Condition 3 (black dotted line: command value; red solid line: output). (a) RPFC (trajectory). (b) PFC (trajectory). (c) RPFC (position). (d) PFC (position). (e) RPFC (attitude). (f) PFC (attitude).
Figure 7. Time histories of the position and the attitude of the quadrotor in Condition 3 (black dotted line: command value; red solid line: output). (a) RPFC (trajectory). (b) PFC (trajectory). (c) RPFC (position). (d) PFC (position). (e) RPFC (attitude). (f) PFC (attitude).
Drones 09 00506 g007aDrones 09 00506 g007b
Figure 8. Time histories of the rotational speed of the propellers. (a) RPFC (Condition 1). (b) PFC (Condition 1). (c) RPFC (Condition 2). (d) PFC (Condition 2). (e) RPFC (Condition 3). (f) PFC (Condition 3).
Figure 8. Time histories of the rotational speed of the propellers. (a) RPFC (Condition 1). (b) PFC (Condition 1). (c) RPFC (Condition 2). (d) PFC (Condition 2). (e) RPFC (Condition 3). (f) PFC (Condition 3).
Drones 09 00506 g008aDrones 09 00506 g008b
Table 1. The parameters of the quadrotor and the simulation settings.
Table 1. The parameters of the quadrotor and the simulation settings.
Physical SignificanceSymbolValue
Mass of quadrotor k g M 0.5
Distance from the center of mass to each rotor m L 0.2
Moments of inertia k g m 2 J X X J Y Y J Z Z 0.008 0.009 0.015
Lift coefficient of the propellers C L 5.0 × 10 6
Drag coefficient of the propellers C D 5.0 × 10 7
Time constant of the propellers s T Ω 0.02
Sampling time s t 0.01
Simulation time s T e n d 100
Sample size n k 10,001
Amplitudes of the target position m c x c y c z 2.5 2.5 2
Angular frequency of the target position r a d / s ω c 2 π / T e n d
Magnitudes of the disturbances N d x d y d z 0.5 0.5 0.5
Magnitudes of the disturbances N m d P d Q d R 0.07 0.07 0.07
Angular frequency of the disturbance r a d / s ω d 2 π / 3
Table 2. The parameters for the translational controller.
Table 2. The parameters for the translational controller.
Physical SignificanceSymbolValue
Coincidence point for output i 1 i 2 i 3 80 90 150
Coincidence point for switching function i σ 1 i σ 2 i σ 3 100 110 200
Time constant of the reference trajectory s T 0.2
Time constant of the reference trajectory s T σ 0.5
Coefficient matrix of the hypersurface S I 3 10 I 3
Table 3. The parameters for the rotational controller.
Table 3. The parameters for the rotational controller.
Physical SignificanceSymbolValue
Coincidence point for output i 1 i 2 i 3 15 20 100
Coincidence point for switching function i σ 1 i σ 2 i σ 3 15 20 100
Time constant of the reference trajectory s T 0.05
Time constant of the reference trajectory s T σ 0.2
Coefficient matrix of the hypersurface S I 3 10 I 3
Table 4. The disturbance conditions in the simulation.
Table 4. The disturbance conditions in the simulation.
ConditionDisturbance F d Disturbance M d
1 F d = 0 0 0 T M d = 0 0 0 T
2 F d = d x d y d z T M d = d P d Q d R T
3 F d t = d x d y d z T cos ω d k t M d t = d P d Q d R T sin ω d k t
Table 5. ISE values of the position and the Euler angle in each controller.
Table 5. ISE values of the position and the Euler angle in each controller.
ConditionOutputRPFCDifference (vs. PFC)PFC
1 x 33.080+2.747%32.195
y 33.276+2.445%32.482
z 149.206+6.991%139.457
Φ 0.0000.000%0.000
Θ 0.051+65.273%0.031
Ψ 0.0000.000%0.000
2 x 32.633−50.616%66.080
y 33.429−45.906%61.798
z 152.078−23.536%198.890
Φ 0.635−96.716%19.341
Θ 0.449−97.058%15.249
Ψ 0.001−99.973%5.464
3 x 35.078−52.805%74.326
y 35.746−53.222%76.418
z 154.495−14.351%180.381
Φ 1.372−90.201%14.001
Θ 1.066−90.638%11.391
Ψ 0.008−99.718%2.732
Table 6. Mean squared values of the propeller speed in each controller.
Table 6. Mean squared values of the propeller speed in each controller.
ConditionInputRPFCDifference (vs. PFC)PFC
1 Ω 1 245,1670.0000%245,167
Ω 2 245,1670.0000%245,167
Ω 3 245,1670.0000%245,167
Ω 4 245,1670.0000%245,167
2 Ω 1 267,610+0.0035%267,601
Ω 2 267,607+0.0026%267,600
Ω 3 337,607+0.0022%337,599
Ω 4 197,604+0.0030%197,598
3 Ω 1 243,909+0.0064%243,893
Ω 2 243,901+0.0046%243,890
Ω 3 243,903+0.0057%243,890
Ω 4 243,897+0.0040%243,887
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

Masuda, K.; Uchiyama, K. Robust Predictive Functional Control for Quadrotor Flight Systems. Drones 2025, 9, 506. https://doi.org/10.3390/drones9070506

AMA Style

Masuda K, Uchiyama K. Robust Predictive Functional Control for Quadrotor Flight Systems. Drones. 2025; 9(7):506. https://doi.org/10.3390/drones9070506

Chicago/Turabian Style

Masuda, Kai, and Kenji Uchiyama. 2025. "Robust Predictive Functional Control for Quadrotor Flight Systems" Drones 9, no. 7: 506. https://doi.org/10.3390/drones9070506

APA Style

Masuda, K., & Uchiyama, K. (2025). Robust Predictive Functional Control for Quadrotor Flight Systems. Drones, 9(7), 506. https://doi.org/10.3390/drones9070506

Article Metrics

Back to TopTop