Next Article in Journal
Tug-of-War-Style High-Force Fluidic Actuation for Small Diameter Steerable Instruments
Previous Article in Journal
Attack Reconstruction and Attack-Resilient Consensus Control for Fuzzy Markovian Jump Multi-Agent Systems
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Attitude Control System for Quadrotor Using Robust Monte Carlo Model Predictive Control

by
Kai Masuda
* and
Kenji Uchiyama
Department of Aerospace Engineering, College of Science and Technology, Nihon University, Chiba 274-8501, Japan
*
Author to whom correspondence should be addressed.
Actuators 2024, 13(11), 443; https://doi.org/10.3390/act13110443
Submission received: 11 October 2024 / Revised: 30 October 2024 / Accepted: 4 November 2024 / Published: 5 November 2024
(This article belongs to the Section Aerospace Actuators)

Abstract

:
Monte Carlo Model Predictive Control (MCMPC) is a kind of non-linear Model Predictive Control (MPC) that determines control inputs using the Monte Carlo method. The Monte Carlo method used in MCMPC can handle discontinuous phenomena, and there have been reports of its application in control systems for quadrotors, where the objective is to maintain the stability of the attitude during collisions. However, as with conventional MPC, concerns remain about control performance degradation due to modeling errors and external disturbances such as unexpected wind gusts. In this study, we propose a novel Robust Monte Carlo Model Predictive Control (RMCMPC), which improves the robustness of MCMPC by considering the hypersurface known from the Sliding Mode Control (SMC) theory. The proposed RMCMPC is applied to a quadrotor attitude control system, and its effectiveness is validated through numerical simulations.

1. Introduction

With significant advancements in computational performance in recent years, numerous studies have reported the application of Model Predictive Control (MPC) to aircraft systems [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]. MPC enables the determination of optimal control inputs based on an objective function using an ideal dynamic model of the control target. It explicitly handles constraints for both system state variables and actuators. These advantages make MPC well suited for an aircraft control system, as it can enable fuel-efficient flight and a reduction in arrival time under various constraints, such as flight speed and altitude. Additionally, applications have been reported for scenarios such as the landing [7] of Unmanned Aerial Vehicles (UAVs) and formation flights [8].
Monte Carlo Model Predictive Control (MCMPC) is a type of MPC that derives control inputs from the evaluation function using the Monte Carlo method [16,17,18,19,20]. Unlike general solution methods for non-linear MPC, such as the C/GMRES method [21], MCMPC does not require the evaluation function to be continuous. This characteristic makes MCMPC suitable for systems that involve discontinuous phenomena, such as collisions. A previous study reported that applying MCMPC to the control system of a quadrotor demonstrated superior control performance compared to conventional MPC in scenarios involving collisions with walls [18]. However, like conventional MPC, MCMPC predicts the system’s response to control inputs based on an internal model, leading to concerns about control performance degradation in environments with disturbances, such as modeling errors or unknown forces. One approach to mitigate the influence of these unknown disturbances is to predict the system’s response by introducing random perturbations into the internal model parameters. This method allows for the determination of effective control inputs in models with disturbances, but the computational load increases dramatically, making real-time implementation challenging even with high-performance computing resources.
In response to these challenges, this study proposes a novel Robust Monte Carlo Model Predictive Control (RMCMPC) that improves the robustness of MCMPC by constraining the state variables of control objects to a hypersurface in the phase space. In Sliding Mode Control (SMC), it is well known that constraining the state variables to a hyperplane suppresses the effects of disturbances that satisfy the matching condition [22,23,24,25,26,27,28]. By applying this theory to MCMPC, we aim to mitigate the degradation of controller performance under the influence of disturbances, such as unknown forces and modeling errors that satisfy the matching condition. This method introduces an evaluation function that accounts for the convergence of state variables to a hypersurface. Compared to traditional MCMPC, the increase in computational load is limited to calculating predicted values for the switching function that ensures the convergence of state variables to the hypersurface, thus enhancing robust performance without increasing theoretical complexity. In other words, this approach can be easily applied to issues such as flight control systems designed for the attitude stabilization of quadrotors during collisions, as investigated in previous studies. We expect that this approach will contribute substantially to research fields focused on these types of control challenges.
The control performance of the proposed RMCMPC under the influence of disturbances is validated through numerical simulations. In these simulations, the controller targets the non-linear rotational dynamics of a quadrotor, applying both the proposed RMCMPC and the conventional MCMPC. For each controller, input disturbances satisfy matching conditions, including constant values, periodic disturbances with trigonometric functions, and square wave disturbances. Furthermore, the performance is compared when the control target values are constant and when the target values change over time to evaluate the control performance under disturbance conditions. Control performance is assessed using three indices, Integral Square Error (ISE), Integral Time Absolute Error (ITAE), and Integral Time Absolute Error (IAE), based on the difference between the target value and the state variables.

2. Problem Statement and Disturbance Suppression Method

The proposed Robust Monte Carlo Model Predictive Control (RMCMPC) method focuses on affine systems, described by the following state equation:
x ˙ = f x + g x u
where u R m is the input vector, and x R n is the state vector. m is the dimension of the input, n is the dimension of the state variables, and R denotes the set of real numbers. In practical applications, systems often face problems due to uncertainties such as modeling errors, parameter variations, and disturbances. To account for these uncertainties, the system described by Equation (1) is reformulated as follows:
x ˙ = f x + g x u + h x ,   t
In this equation, h x , t represents external forces such as disturbances, which are assumed to vary based on the state variables and time t . It is assumed that
h x , t r a n g e g
This assumption implies that h x , t resides within the range space of the input matrix g x , meaning that disturbances act through the same channels as the inputs. Therefore, the external force h x , t , due to disturbances, can be expressed as follows using the input vector u h R m :
h x , t = g x u h
In other words, the disturbances in the control target system are assumed to satisfy the matching condition.
It is well known in SMC theory that by constraining the system’s state variables to a hypersurface in the phase space, SMC can achieve high robustness against disturbances that satisfy the matching condition. One such type of SMC is the Integral Sliding Mode Control (ISMC) [26], proposed by Utkin [24,25]. Unlike conventional SMC, ISMC determines the control input based on two types of inputs with different purposes, as shown below:
u = u n + u s
where u n R m is the input that determines the response based on an ideal system model without disturbances, and u s R m is the input that constrains the system’s state variables to the hypersurface.
The switching function s x is defined as follows [26]:
s x = s n x z x
The first term s n is the coefficient matrix of the switching hypersurface and can be designed similarly to conventional SMC to determine the motion characteristics of the system when constrained to the hypersurface. However, unlike conventional SMC, the hypersurface in ISMC determines the behavior of the error state variables, which are the differences between the state variables of the ideal model and the practical system, including disturbances. The second term z x is defined by the following equation [26]:
z ˙ = s n f x + g x u n
The initial value of z 0 is given by
z 0 = s n x 0
where x 0 = x 0 . Considering the system where the state variables are constrained to the hypersurface using the defined input and switching function, the switching function becomes 0 when the state is constrained to the hypersurface, and its time derivative also becomes 0. Thus, the switching function can be expressed as
s x = s ˙ x = 0
Therefore, with the state variables constrained to the hypersurface, the switching function defined in Equation (6) can be rewritten as
s n x ˙ z ˙ x = 0
By substituting the system with uncertainty expressed in Equation (2) and the control input defined in Equation (5) into the above equation, we obtain
s n f x + g x u n + g x u s + h x ,   t s n f x + g x u n = 0
Simplifying the above equation gives
u s = u h
This indicates that when the state variables are constrained to the hypersurface, the input u s cancels out the external input u h caused by disturbances. Substituting the result obtained from Equation (12) back into Equation (2) yields
x ˙ = f x + g x u n + u s + u h = f x + g x u n
This indicates that when the state variables are constrained to the hypersurface, the system’s dynamic characteristics are determined solely by the input u n without being affected by disturbances. This characteristic gives ISMC superior robustness against uncertainties, such as modeling errors and disturbances, which satisfy the matching condition. However, ISMC and SMC face the issue of chattering, which occurs due to the frequent switching of inputs near the hypersurface due to sign functions being used to constrain the state variables. Ideally, the switching frequency of the control input would be infinite when sign functions are employed. However, achieving such ideal behavior in practical systems is impossible due to actuator limitations. To address this, methods utilizing sigmoid or saturation functions have been proposed. Nevertheless, these approaches involve a trade-off between chattering suppression and system robustness. The RMCMPC proposed in this paper aims to improve robustness by constraining the state variables to a hypersurface, similar to ISMC. Unlike SMC or ISMC, the proposed RMCMPC does not use sign functions to calculate the input and thus has no chattering problem. ISMC also requires the use of a separate controller, such as PID control, to determine the response to an ideal motion model, whereas RMPC can determine the optimal value of the input u n for an ideal system based on an evaluation function.

3. Robust Monte Carlo Model Predictive Control

This section details the calculation method for control inputs in RMCMPC. MCMPC is a sample-based MPC approach in which multiple input samples are used to predict responses using an internal model and the optimal input is selected based on these predictions. In conventional MCMPC, the optimal input is determined solely based on the difference between the target trajectory and the state variables. However, in the proposed RMCMPC, in addition to computing the optimal input u n for the target trajectory, another input u s is simultaneously determined to constrain the state variables on the switching hypersurface by evaluating the switching function.
First, define H as the prediction horizon of the RMCMPC at a given time step k . Prepare P samples of two types of input u n and u s for each time step across H prediction steps. Let p represent a sample index; the vectors U n p and U s p representing the control inputs u n p and u s p for the p -th sample over H prediction steps are shown in the following equations.
U n p k = u n p k u n p k + 1 u n p k + H 1
U s p k = u s p k u s p k + 1 u s p k + H 1
Also, define the optimal input vectors U n * and U s * as those obtained by RMCMPC at time step k .
U n * k = u n * k u n * k + 1 u n * k + H 1
U s * k = u s * k u s * k + 1 u s * k + H 1
The control input vectors for the p -th sample, U n p and U s p , are determined based on a normal distribution with standard deviation σ as follows:
U n p k = N U μ n * k ,   σ 2
U s p k = N U μ s * k ,   σ 2
where N μ , σ 2 denotes a normal distribution with mean μ and variance σ 2 . The mean input vectors U μ n * and U μ s * are set using the optimal input vectors computed in the previous time step:
U μ n * k = u n * k 1 u n * k u n * k + H 2 u n * k + H 2
U μ s * k = u s * k 1 u s * k u s * k + H 2 u s * k + H 2
Since the inputs for the final step of the current prediction horizon cannot be obtained from the previous time step, the input for the final prediction step is set to be equal to the inputs of the prediction step one step before the final prediction step. Additionally, the initial values of the mean input vectors U μ n * 0 and U μ s * 0 are set to
U μ n * 0 = U μ s * 0 = 0 m × H
0 m × H represents an m × H zero matrix. The dynamical model in Equation (1) is in continuous time, while RMCMPC requires state variables at each time step in discrete time. Therefore, the state variables at each time step are computed by integrating Equation (1) over an interval of sampling time Δ t , with the input as a zero-order hold. From the state variables at time step k + i and the input samples, the state variables at the next time step k + i + 1 are computed as follows:
x p k + i + 1 = x p k + i + 0 Δ t f x p k + i + g x p k + i u n p k + i d t
where x p is the state variable of the system when the p -th sample’s control input u n p is applied. Various numerical methods can be used for integration in the second term, such as the Euler method and Simpson’s rule. In this study, a fourth-order Runge–Kutta method is employed. At time i = 0 , i.e., at time step k , x p k is assigned the current state x k of the system under consideration, which is assumed to be obtained from a sensor or an observer. That is, at each time step k , the response to the sample input is predicted from the current state variables. Next, using the predicted state variables, the evaluation function J n p is calculated using the following equations.
J n p k = i = 0 H 1 x p k + i x c k + i T Q n x p k + i x c k + i + u n p k + i T R n u n p k + i
where x c is the target value of the state variables, and Q n and R n are weight matrices used to adjust the convergence of the state variables and the magnitude of the control inputs, respectively. The weight matrices Q n and R n are diagonal matrices, and by adjusting the magnitude of their diagonal elements, it is possible to control both the speed of convergence of the state variables and the magnitude of the control input. For example, increasing the diagonal elements of Q n raises the sensitivity of the evaluation function to errors in state variables, thereby accelerating state convergence. Similarly, by setting larger diagonal elements for R n , the sensitivity of the evaluation function to the input is increased, which enables the suppression of the controller’s input. The values of these weight matrices are fine-tuned through numerical simulations, during which the system response is monitored and adjusted accordingly. The input samples U n p are ranked based on their evaluation function values, and the top P * samples U n p * are selected. The optimal control input vector U n * is then determined using the following weighted average:
U n * k = p = 1 P * e J n p k λ k U n p * k / p = 1 P * e J n p k λ k
λ is a normalization factor for the evaluation function J n p , calculated as
λ k = p = 1 P * J s p k
The evaluation function for determining J s p is defined as
J s p k = i H 1 s p k + i T Q s s p k + i + u s p k + i T R s u s p k + i
The weight matrices Q s and R s included in the evaluation function are used to adjust the convergence properties of the switching function and the magnitude of the control inputs, respectively. The matrices Q s and R s are also diagonal matrices. Adjusting the magnitude of their diagonal components allows for control over the speed of convergence to the hyperplane and the input magnitude in the same way as Q n and R n . The switching function value s p can be calculated using Equation (6) as
s p k + i = s n x s p k + i x n k + i
where x s p represents the predicted state variable when the optimal control input vector u n * obtained from Equation (25) and the input sample u s p are applied. This predicted state variable is calculated as follows:
x s p k + i + 1 = x s p k + i + 0 Δ t f x s p k + i + g x s p k + i u n * k + i + u s p k + i d t
Similarly to Equation (23), the initial sample x s p k for the state variable at i = 0 is set to the current state variable x k of the control object. In Equation (28), x n indicates the predicted state variable corresponding to the optimal control input vector u n * obtained from Equation (25).
x n k + i + 1 = x n k + i + 0 Δ t f x n k + i + g x n k + i u n * k + i d t
At the time step k , the state variable x n k is determined using the input u n k 1 from the previous control step as
x n k = x n k 1 + 0 Δ t f x n k 1 + g x n k 1 u n k 1 d t
Additionally, the state variable x n is set to x n 0 = x 0 at the initial time, allowing the state variable to be constrained on the hypersurface from the beginning of the control. In conventional SMC, the system’s robustness decreases in the reaching mode, where the state variables move toward the sliding surface, as external disturbances cannot be effectively suppressed. However, in RMCMPC, the reaching mode can be avoided, or its duration can be shortened, by appropriately setting the initial state x n 0 . The numerical integration for Equations (29) to (31) is performed using a fourth-order Runge–Kutta method, similar to Equation (23). Using the predicted state variables and the evaluation function obtained above, the input samples U s p are ranked based on their evaluation function values, and the top P * samples U s p * are selected. The optimal control input vector U s * is then determined using the following weighted average:
U s * k = p = 1 P * e J s p k λ k U s p * k / p = 1 P * e J s p k λ k
Finally, the optimal control input vector U n * k and U s * k calculated above are used to determine the RMCMPC input at time step k :
u k = u n * k + u s * k
Based on the above calculations, the control input for RMCMPC is determined. Table 1 provides an overview of the general procedure for calculating the control input.

4. Rotational Dynamics of a Quadrotor

This section describes the rotational dynamics of the quadrotor used in this study. The coordinate definitions, state variables, and input definitions for the quadrotor are shown in Figure 1.
The body-fixed coordinate system of the quadrotor is defined by its origin o at the center of mass of the vehicle, where the x -axis points forward and the z -axis points downward. The angular velocities of each axis of the body-fixed coordinate system are denoted as ω x , ω y , and ω z , and the moments generated around each axis by the four rotors are denoted as τ x , τ y , and τ z . In practice, to achieve the desired moments around each axis, the input moments are decoupled to determine the rotational speeds of each rotor. However, for the sake of simplification, the motion model used in this study treats the moments directly as inputs. The attitude of the quadrotor is expressed using Euler angles in the Z Y X sequence, where the roll, pitch, and yaw angles are denoted as ϕ , θ , and ψ , respectively. Based on the above definitions, the state vector is defined as x = ϕ θ ψ ω x ω y ω z T . The rotational dynamics of the quadrotor are given by the following equations:
ϕ ˙ = ω x + ω y sin ϕ tan θ + ω z cos ϕ tan θ
θ ˙ = ω y cos ϕ ω z sin ϕ
ψ ˙ = ω y sin ϕ cos θ + ω z cos ϕ cos θ
ω ˙ x = j y y j z z ω y ω z j x x + τ x j x x
ω ˙ y = j z z j x x ω x ω z j y y + τ y j y y
ω ˙ z = j x x j y y ω x ω y j z z + τ z j z z
where j x x , j y y , and j z z are the moments of inertia around the x , y , and z axes of the body-fixed coordinate system, respectively. In addition, considering the time delay in the moments generated by the thrust forces of each rotor, the moment input commands τ x c , τ y c , τ z c and the corresponding input moments τ x , τ y , τ z are assumed to have the following time-delay relationship:
τ ˙ x = τ x T a + τ x c T a
τ ˙ y = τ y T a + τ y c T a
τ ˙ z = τ z T a + τ z c T a
where T a is the time constant of the actuator. In the numerical simulations presented in the next section, the control inputs u = τ x c τ y c τ z c T are determined by the controller for the system represented by Equations (34) to (42).

5. Numerical Simulation

In this section, the proposed RMCMPC and the conventional MCMPC are applied to the control system for the rotational dynamics of the quadrotor, as described in Section 4, to evaluate their control performance. RMCMPC and MCMPC, like standard MPC, can incorporate input constraints and state variable constraints. For example, they can be implemented by including an expression in the evaluation function that penalizes states deviating from the constraints. However, since the focus of this study is on improving the robustness of MCMPC and ensuring that the effectiveness of the proposed method is clearly demonstrated, no constraints are imposed in this simulation.
Table 2 summarizes the simulation settings, including the parameters of each controller and those of the quadrotor. In the table, I 3 and 0 3 denote the 3 × 3 identity matrix and the 3 × 3 zero matrix, respectively. The target quadrotor in this study is modeled with a mass M of 1 kg and a distance L of 0.3 m from the center of mass to each rotor, from which the moment of inertia is derived. To ensure fair comparison and avoid parameter bias between controllers, common parameters such as the weight matrices Q n and R n , prediction horizon H , input sample count P , and selected sample count P * are set to the same values for both controllers. Since these parameters need to be adjusted according to the characteristics of the vehicle, they were fine-tuned by verifying the control response through numerical simulations against the specified vehicle parameters. When the vehicle’s structure affects its inertia, the time response speed also changes. Therefore, it is essential to configure the controller’s sampling time and prediction horizon to match the desired response rate. For instance, in the case of a smaller vehicle with a small moment of inertia, a faster response is anticipated, suggesting the need for a shorter sampling time than that used in this simulation. Additionally, when the moment of inertia is small, the sensitivity to input increases, which may lead to excessively large control inputs. Therefore, it is anticipated that adjustments to increase the values in the weight matrices R n and R s for control inputs will be necessary to mitigate this effect.
In this study, the performance of RMCMPC and MCMPC is compared under eight different initial conditions and disturbance types, as shown in Table 3. The disturbance types listed in Table 3 include a constant disturbance h c , a periodic disturbance h p , and a square wave disturbance h s , which are defined by Equations (43), (44), and (45), respectively.
h c = d x d y d z T
h p t = d x sin ω d t d y cos ω d t d z cos ω d t
h s t = d x sgn sin ω d t d y sgn cos ω d t d z sgn cos ω d t
where sgn · represents the sign function; d x , d y , and d z are the magnitudes of the disturbances along each axis; and ω d is the angular frequency of the disturbance. The target value x c t of the time-varying state variable is expressed as
x c t t = ϕ c θ c ψ c 0 0 0 = Φ sin ω c t Θ cos ω c t Ψ cos ω c t 0 0 0
ϕ c , θ c , and ψ c are the target Euler angles for roll, pitch, and yaw, respectively. Φ , Θ , and Ψ are the amplitudes of the target angle variations, and ω c is the angular frequency of the target angles. In conditions 1 to 4, the initial Euler angles ϕ 0 , θ 0 , and ψ 0 are set to 40°, −30°, and 20°, respectively. In conditions 5 to 8, they are all set to 0°. The initial angular velocities are set to 0°/s in all conditions. Under the simulation conditions described above, the performance of each controller is evaluated using three performance indices: ISE (Integral Squared Error), ITAE (Integral Time Absolute Error), and IAE (Integral Absolute Error). The equations for these indices are shown below.
i s e = 0 T e l 2 d t
i t a e = 0 T t e l d t
i a e = 0 T e l d t
In these indices, T is the end time of the numerical simulation, and e l   l = ϕ , θ , ψ represents the error between the target Euler angle and the attitude angle of the quadrotor.
Figure 2 and Figure 3 show the time histories of the state variables of the quadrotor for conditions 1 to 4 and conditions 5 to 8, respectively. In Figure 2, the target attitude angles for the quadrotor are set to 0°, and the response is shown for initial Euler angles, where ϕ 0 is 40°, θ 0 is −30°, and ψ 0 is 20°. In the figure, the black dashed line represents the target attitude angle (0°), while the solid red, green, and blue lines correspond to the roll angle ϕ , pitch angle θ , and yaw angle ψ of the quadrotor, respectively. Figure 3 illustrates the response when the initial Euler angles ϕ 0 , θ 0 , and ψ 0 are all set to 0° and the target values vary over time according to Equation (46). The solid line definitions in Figure 3 follow those in Figure 2, where the red, green, and blue dashed lines indicate the time-varying target attitude angles. First, in conditions without disturbances, shown in Figure 2a,b and Figure 3a,b (conditions 1 and 5), it can be confirmed that both the MCMPC and the proposed RMCMPC controllers converge to the target attitude angles whether the target Euler angle is fixed at 0° or varied over time. In fact, there is no significant difference when comparing the three indices shown in Table 4. On the other hand, in the disturbed conditions where the target Euler angle is fixed at 0° (conditions 2 to 4), the time responses shown in Figure 2c–h indicate that while the proposed RMCMPC converges to the target Euler angle, the conventional MCMPC exhibits a steady-state error and oscillations around the target Euler angle. Thus, it can be concluded that the conventional MCMPC is affected by constant disturbances, periodic disturbances, and square wave disturbances, whereas the proposed RMCMPC demonstrates robustness against such disturbances. Furthermore, in the conditions with disturbances where the target Euler angle is varied over time (conditions 5 to 8), the time responses shown in Figure 3c–h illustrate that the proposed RMCMPC closely follows the target attitude angle. In contrast, it is evident that the traditional MCMPC does not adequately track the target value represented by the dotted line in the figures. Additionally, the indices presented in Table 4 indicate that the RMCMPC consistently exhibits smaller errors compared to the MCMPC across all disturbance conditions. Figure 4 and Figure 5 show the time histories of control inputs for each controller under conditions 1 through 4 and conditions 5 through 8, respectively. In Figure 4 and Figure 5, the solid red, green, and blue lines represent the moments τ x , τ y , and τ z generated around the body axes, respectively. For each controller, the maximum control input remains below 0.2 Nm, demonstrating that the proposed RMCMPC achieves effective control without significant increases in input compared to the MCMPC.

6. Conclusions

In this study, we proposed a novel RMCMPC that enhances the robustness of MCMPC. The proposed RMCMPC and MCMPC were applied to the control system for the rotational motion of a quadrotor, and the control performance was validated through numerical simulations under various target values and disturbance conditions. The simulation results confirmed that the proposed RMCMPC demonstrates superior control performance under disturbance conditions compared to the conventional MCMPC. In future work, we plan to expand the scope of application of the proposed controller to include the translational motion of quadrotors and to propose a more realistically feasible control system by adding input and state variable constraints. Additionally, we intend to demonstrate real-time execution using GPUs and conduct flight tests using an actual quadrotor.

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. 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]
  2. 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]
  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. Morari, M.; Lee, J.H. Model Predictive Control: Past, Present and Future. J. Comput. Appl. Chem. Eng. 1999, 23, 667–682. [Google Scholar] [CrossRef]
  5. 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]
  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. 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]
  8. 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. 2016-0515. [Google Scholar] [CrossRef]
  9. 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]
  10. 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; p. 2020-2071. [Google Scholar] [CrossRef]
  11. Masuda, K.; Uchiyama, K. Simply Robust Control Strategy Based on Model Predictive Control. In Proceedings of the SICE International Symposium on Control Systems (ISCS), Tokushima, Japan, 3–5 March 2020; pp. 99–106. [Google Scholar] [CrossRef]
  12. 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]
  13. Lin, P.; Chen, S.; Liu, C. Model Predictive Control-Based Trajectory Planning for Quadrotors with State and Input Constraints. In Proceedings of the International Conference on Control, Automation and Systems (ICCAS), Gyeongju, Republic of Korea, 16–19 October 2016; pp. 1618–1623. [Google Scholar] [CrossRef]
  14. Shekhar, R.C.; Kearney, M.; Shames, I. Robust Model Predictive Control of Unmanned Aerial Vehicles Using Waysets. AIAA J. Guid. Control Dyn. 2015, 38, 1898–1907. [Google Scholar] [CrossRef]
  15. Bouffard, P.; Aswani, A.; Tomlin, C. Learning-Based Model Predictive Control on a Quadrotor: Onboard Implementation and Experimental Results. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), St Paul, MN, USA, 14–18 May 2012; pp. 279–284. [Google Scholar] [CrossRef]
  16. Qiu, Y.; Date, H. Obstacle-aided Locomotion for Underwater Snake Robot using Monte Carlo Model Predictive Control and Curvature Derivative Control. In Proceedings of the Annual Conference of the Society of Instrument and Control Engineers (SICE), Tsu, Japan, 6–9 September 2023; pp. 690–695. [Google Scholar] [CrossRef]
  17. Toda, T.; Nakatani, S.; Date, H. Clustering Method for Monte Carlo Model Predictive Control. IFAC-PapersOnLine 2021, 54, 251–256. [Google Scholar] [CrossRef]
  18. Kato, M.; Date, H.; Nakatani, S.; Ohya, A. Control of Quadcopter Considering Collision with Wall Utilizing Monte Carlo Model Predictive Control. Trans. Soc. Instrum. Control Eng. 2021, 57, 379–390. (In Japanese) [Google Scholar] [CrossRef]
  19. Nakatani, S.; Date, H. Swing up Control of Inverted Pendulum on a Cart with Collision by Monte Carlo Model Predictive Control. In Proceedings of the Annual Conference of the Society of Instrument and Control Engineers (SICE), Hiroshima, Japan, 10–13 September 2019; pp. 1050–1055. [Google Scholar] [CrossRef]
  20. Magni, L.; Raimondo, D.M.; Allgower, F. Nonlinear Model Predictive Control: Towards New Challenging Applications, 1st ed.; Springer: Berlin, Germany, 2009; pp. 263–273. [Google Scholar]
  21. Ohtsuka, T. A Continuation/GMRES Method for Fast Computation of Nonlinear Receding Horizon Control. IFAC Autom. 2004, 40, 563–574. [Google Scholar] [CrossRef]
  22. Halbe, O.; Hajek, M. Robust Helicopter Sliding Mode Control for Enhanced Handling and Trajectory Following. AIAA J. Guid. Control Dyn. 2020, 43, 1805–1821. [Google Scholar] [CrossRef]
  23. Bluman, J.E.; Kang, C.; Shtessel, Y. Control of a Flapping-Wing Micro Air Vehicle: Sliding-Mode Approach. AIAA J. Guid. Control Dyn. 2018, 41, 1219–1225. [Google Scholar] [CrossRef]
  24. 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]
  25. Utkin, V.I. Sliding Modes in Control and Optimization, 1st ed.; Springer: Berlin, Germany, 1992; pp. 1–73. [Google Scholar]
  26. 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]
  27. Kawai, Y.; Uchiyama, K. Modified Integral Sliding Mode Controller with Saturation Function. In Proceedings of the International Conference on Mechanical and Aerospace Engineering (ICMAE), London, UK, 18–20 July 2016; pp. 358–362. [Google Scholar] [CrossRef]
  28. 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]
Figure 1. Coordinate definition of the quadrotor.
Figure 1. Coordinate definition of the quadrotor.
Actuators 13 00443 g001
Figure 2. Time history of the attitude of the quadrotor in conditions 1 to 4 (black dotted line: target attitude; red solid line: ϕ ; green solid line: θ ; blue solid line: ψ ). (a) RMCMPC (condition 1). (b) MCMPC (condition 1). (c) RMCMPC (condition 2). (d) MCMPC (condition 2). (e) RMCMPC (condition 3). (f) MCMPC (condition 3). (g) RMCMPC (condition 4). (h) MCMPC (condition 4).
Figure 2. Time history of the attitude of the quadrotor in conditions 1 to 4 (black dotted line: target attitude; red solid line: ϕ ; green solid line: θ ; blue solid line: ψ ). (a) RMCMPC (condition 1). (b) MCMPC (condition 1). (c) RMCMPC (condition 2). (d) MCMPC (condition 2). (e) RMCMPC (condition 3). (f) MCMPC (condition 3). (g) RMCMPC (condition 4). (h) MCMPC (condition 4).
Actuators 13 00443 g002
Figure 3. Time history of the attitude of the quadrotor in conditions 5 to 8 (dotted line: target attitude; solid line: quadrotor attitude; red: ϕ ; green: θ ; blue: ψ ). (a) RMCMPC (condition 5). (b) MCMPC (condition 5). (c) RMCMPC (condition 6). (d) MCMPC (condition 6). (e) RMCMPC (condition 7). (f) MCMPC (condition 7). (g) RMCMPC (condition 8). (h) MCMPC (condition 8).
Figure 3. Time history of the attitude of the quadrotor in conditions 5 to 8 (dotted line: target attitude; solid line: quadrotor attitude; red: ϕ ; green: θ ; blue: ψ ). (a) RMCMPC (condition 5). (b) MCMPC (condition 5). (c) RMCMPC (condition 6). (d) MCMPC (condition 6). (e) RMCMPC (condition 7). (f) MCMPC (condition 7). (g) RMCMPC (condition 8). (h) MCMPC (condition 8).
Actuators 13 00443 g003
Figure 4. Time history of the input of the quadrotor in conditions 1 to 4 (red: τ x ; green: τ y ; blue: τ z ). (a) RMCMPC (condition 1). (b) MCMPC (condition 1). (c) RMCMPC (condition 2). (d) MCMPC (condition 2). (e) RMCMPC (condition 3). (f) MCMPC (condition 3). (g) RMCMPC (condition 4). (h) MCMPC (condition 4).
Figure 4. Time history of the input of the quadrotor in conditions 1 to 4 (red: τ x ; green: τ y ; blue: τ z ). (a) RMCMPC (condition 1). (b) MCMPC (condition 1). (c) RMCMPC (condition 2). (d) MCMPC (condition 2). (e) RMCMPC (condition 3). (f) MCMPC (condition 3). (g) RMCMPC (condition 4). (h) MCMPC (condition 4).
Actuators 13 00443 g004
Figure 5. Time history of the input of the quadrotor in conditions 5 to 8 (red: τ x ; green: τ y ; blue: τ z ). (a) RMCMPC (condition 5). (b) MCMPC (condition 5). (c) RMCMPC (condition 6). (d) MCMPC (condition 6). (e) RMCMPC (condition 7). (f) MCMPC (condition 7). (g) RMCMPC (condition 8). (h) MCMPC (condition 8).
Figure 5. Time history of the input of the quadrotor in conditions 5 to 8 (red: τ x ; green: τ y ; blue: τ z ). (a) RMCMPC (condition 5). (b) MCMPC (condition 5). (c) RMCMPC (condition 6). (d) MCMPC (condition 6). (e) RMCMPC (condition 7). (f) MCMPC (condition 7). (g) RMCMPC (condition 8). (h) MCMPC (condition 8).
Actuators 13 00443 g005
Table 1. General procedure for calculating the control input of Robust Monte Carlo Model Predictive Control.
Table 1. General procedure for calculating the control input of Robust Monte Carlo Model Predictive Control.
StepDescription
Step 0Set Initial Optimal Inputs U n * 0 and U s * 0 :
Initialize the initial values for the optimal input vectors, U n * 0 and U s * 0 . In this study, these initial values are set to 0.
Step 1Determine Sample Inputs U n p and U s p :
Use the previous optimal inputs (for the first control cycle, the initial values from Step 0) as references for setting sample input values.
Step 2Calculate Predicted State Variables x p :
Compute the predicted states x p based on the sample input U n p
Step 3Evaluate the Function J n p :
Compute the evaluation function J n p using the predicted states x p and the sample input vector U n p .
Step 4Reorder U n p Based on Evaluation J n p :
Arrange P * sample inputs U n p in order of performance and select the optimal sample subset U n p * based on the evaluation J n p .
Step 5Determine Optimal Input U n * :
Using the evaluation J n p , calculate the weighted average of U n p * to set the optimal input U n * .
Step 6Calculate Predicted State Variables x s p :
Compute the predicted states x s p based on the optimal input U n * and the sample input U s p .
Step 7Calculate Predicted State Variables x n :
Compute the predicted state x n for the optimal input U n * .
Step 8Evaluate the Function J s p :
Calculate the evaluation function J s p using the predicted states x p , x n , and the input U s p .
Step 9Reorder U s p Based on Evaluation J s p :
Arrange P * sample inputs U s p in order of performance and select the optimal sample subset U s p * based on the evaluation J s p .
Step 10Determine Optimal Input U s * :
Using the evaluation J s p , calculate the weighted average of U s p * to set the optimal input U s * .
Step 11Synthesize Inputs U n * and U s * :
Combine the one-step optimal inputs U n * and U s * to determine the control input u . Return to Step 1 for the next control cycle.
Table 2. The parameters for controllers and the simulation settings.
Table 2. The parameters for controllers and the simulation settings.
Physical SignificanceSymbolValue
sampling time s t 0.002
simulation time s T 30
magnitudes of the disturbances N m d x d y d z 0.05 0.05 0.05
angular frequency of the disturbance r a d / s ω d π
amplitudes of the target angles ° Φ Θ Ψ 40 30 20
angular frequency of the target angles r a d / s ω c π / 3
mass of quadrotor k g M 1.0
distance from the center of mass to each rotor m L 0.3
moments of inertia k g m 2 j x x j y y j z z 0.010 0.011 0.015
time constant of the actuator s T a 0.02
variance of input sample σ 2 0.01
prediction horizon H 100
sample count P 500
selected sample count P * 10
weight matrix for the state variable x Q n 10 3 I 3 0 3 0 3 I 3
weight matrix for the switching function s Q s I 3
weight matrix for the input u n R n 10 3 I 3
weight matrix for the input u s R s 10 I 3
coefficient matrix of the hypersurface s n 10 I 3 8 I 3
Table 3. The simulation conditions.
Table 3. The simulation conditions.
ConditionDisturbance TypeTarget State Variable
1no disturbance 0 0 0 0 0 0 T
2constant disturbance h c 0 0 0 0 0 0 T
3periodic disturbance h p 0 0 0 0 0 0 T
4square wave disturbance h s 0 0 0 0 0 0 T
5no disturbance x c t
6constant disturbance h c x c t
7periodic disturbance h p x c t
8square wave disturbance h s x c t
Table 4. Error evaluation values of the Euler angles in each controller.
Table 4. Error evaluation values of the Euler angles in each controller.
ConditionStateRMCMPCMCMPC
ISEITAEIAEISEITAEIAE
1 ϕ 26.16107.1572.9228.33121.3878.45
θ 12.87113.9255.2613.96104.3958.31
ψ 4.95114.1143.165.40141.4247.84
2 ϕ 28.76108.6077.5584.8212,601.74911.76
θ 14.97120.3860.7283.1113,685.93979.18
ψ 5.81128.7547.3969.9614,085.28977.67
3 ϕ 27.00551.48103.0655.048376.26618.75
θ 14.64614.5791.8750.068511.98632.62
ψ 5.87873.5595.7044.509888.68698.65
4 ϕ 29.34941.49131.7485.5812,285.39891.45
θ 15.711050.72121.4378.7012,515.80907.93
ψ 7.101480.15137.0979.3014,098.14987.69
5 ϕ 1.20778.2263.751.52736.9765.00
θ 27.14665.94113.7229.09627.41116.22
ψ 14.59905.01113.9415.77876.35118.16
6 ϕ 0.92801.9463.6764.5912,866.03905.57
θ 25.42708.52111.76129.4011,639.63959.80
ψ 13.43849.39106.3286.9012,029.31875.41
7 ϕ 1.16931.9573.7129.388497.76581.48
θ 26.01888.27125.8656.257111.15572.83
ψ 13.67955.12114.8850.749069.23648.64
8 ϕ 1.601314.1997.9059.6312,307.91856.30
θ 26.191305.95151.4798.8510,552.91851.71
ψ 14.401568.45151.0393.9612,718.20924.67
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. Attitude Control System for Quadrotor Using Robust Monte Carlo Model Predictive Control. Actuators 2024, 13, 443. https://doi.org/10.3390/act13110443

AMA Style

Masuda K, Uchiyama K. Attitude Control System for Quadrotor Using Robust Monte Carlo Model Predictive Control. Actuators. 2024; 13(11):443. https://doi.org/10.3390/act13110443

Chicago/Turabian Style

Masuda, Kai, and Kenji Uchiyama. 2024. "Attitude Control System for Quadrotor Using Robust Monte Carlo Model Predictive Control" Actuators 13, no. 11: 443. https://doi.org/10.3390/act13110443

APA Style

Masuda, K., & Uchiyama, K. (2024). Attitude Control System for Quadrotor Using Robust Monte Carlo Model Predictive Control. Actuators, 13(11), 443. https://doi.org/10.3390/act13110443

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