Design and Implementation of a Constrained Model Predictive Control Approach for Unmanned Aerial Vehicles

This paper designs and implements a robust and Time-varying Constrained Model Predictive Controller (TCMPC) for the translational and attitude control of a real quadrotor. The proposed approach considers online optimization to find solutions through the hard and soft constraints. All the controller parameters were derived from the experimental test setup and took into consideration the various restrictions and physical constraints associated with the hand-made quadrotor. The proposed controller can possibly linearize and discretize the nonlinear dynamic model of the quadrotor at every sampling time if all constraints and physical restrictions are considered. The performance of the proposed approach was assessed using both a simulation study and a practical implementation. The simulation study considered a quadrotor hovering mode in the presence of wind gusts and encompassed a comparison analysis with a well-tuned Proportional-Integral-Derivative (PID) controller, an Advanced Error model predictive control (AEMPC), and an Efficient MPC (EMPC) approach. For the real-time implementation, an online optimization algorithm was used and tested on the high clock processor ARM A53 on a new attitude test setup. The experimental results, showed that the proposed controller outperformed the unconstrained MPC, the well-tuned PID controller, and EMPC, especially in terms of rejecting the external wind disturbances. The proposed method real-time TCMPC) approach has the advantages of greater robustness and is not heavily dependent upon the accurate dynamics of the model.


I. INTRODUCTION
Over the past two decades, Unmanned Aerial Vehicles (UAVs) have received much attention from both academia and industry. This is mainly due to their broad applications, which include environmental monitoring [1], [2], cultural heritage frames [3], [4], rescuing [5], target tracking [6], pesticide spraying [7] and Value Added Internet of Thing The associate editor coordinating the review of this manuscript and approving it for publication was Qi Zhou. services (VAIOTs) from the sky [8], [9], [10]. Quadrotors, otherwise known as a type of UAVs, have some unique and inherent advantages which make them an important research topic in the field of control engineering. Among their advantages are a) simple mechanical structures, b) proper maneuverability, c) highly nonlinear dynamics of the model, d) low-cost structures, and e) many civil or defense applications. More importantly, their advantage of vertical take-off and hovering can enable quadrotors to maintain relative flexibility [11], [12], [13], [14], [15].
When the quadrotors are in their flight missions, they need to precisely follow the set trajectory. Hence, the attitude control of quadrotors plays a crucial role in UAVs when it comes to the accuracy, efficiency, and safety of mission execution. That is, the attitude subsystem of a quadrotor is the vital part of the flight control. There have been many researches into the methods used to control the nonlinear dynamics of the quadrotors. The well-tuned PID, also known as a commercial and popular method on UAVs, Efficient MPC [16], and Advance Error MPC [17], are all used as attitude controllers for quadrotors. However, a major drawback of the above@hyphementioned approaches is the fact that their performance decreases in the presence of disturbances such as wind gusts and parameter uncertainties.
Model Predictive Control (MPC) has proven to be a promising and powerful tool in controlling quadrotors [18], [19]. The remarkable success of MPC hinges on its capability to handle the constraints whilst systematically optimizing the performance in parallel [18], [19]. Moreover, it is capable of tackling problems associated with both the soft and hard constraints on outputs or inputs [17], [20]. MPC has been used to solve many problems pertaining to UAV control such as formation flight control [21], [22], [23], [24], [25], [26], path-planning [5], [27], [28], [29], and trajectory tracking [30], [31]. Nonetheless, standard MPC has high computational complexity [32], [33] since it can predict the future of system behavior [33]. The main advantage of the MPC controller compared to linear controllers is the tuning efficiency. MPC controller has a simpler setup, as object parameters are determined directly. The length of the prediction horizon and the control horizon in this case are determined depending on the time for which the parameter to be monitored must take a given value. While, when setting up the linear controllers, the object parameters are not explicitly taken into account [34].
In [16], the Efficient Model Predictive Control (EMPC) algorithm was used to establish the linear internal model with the dynamics of a quadrotor taken into account. This was to better reduce the prediction points. In the EMPC method, the future output of the quadrotor was calculated with a closed-loop prediction structure based on a linear internal model. Due to this linear structure, the computational time was reduced greatly for the standard MPC. This method was tested on a real quadrotor and demonstrated satisfactory tracking performance while the standard MPC, in contrast, failed to work [16]. Another method is the Advanced Errorbased MPC (AEMPC) presented in [17], which adopted an augmented model to remove the tracking error caused by external disturbances. To better reduce the computation time, the control input sequence in MPC was estimated with Laguerre function, which also helped to improve the closed-loop performance. As a result, AEMPC proved to be effective when it comes to disturbance rejection, trajectory fast tracking and quadrotor stability. Reference [30] introduced a high-level lateral-directional trajectory-tracking controller embedded in a nonlinear MPC (NMPC) structure for fixed-wing UAV trajectory tracking in wind and arbitrary path combinations. It was proven that the method could produce better results of trajectory tracking. In addition, [5] used NMPC for navigation and obstacle avoidance of an UAV. This method can also avoid dynamic obstacles. Besides, this method was designed to be compatible with a classification scheme that predicts the positions of possible obstacles. The study into the trajectory tracking of ducted fan aircrafts was conducted by [31]. This article proposed a Compound Flight Control (CFC) technique based on the concept of MPC for attitude control of ducted fan aircrafts. As a result, they achieved flight robustness and adequate tracking without compromising the nominal performance. In [35], the authors combined Gaussian Process (GP) with MPC to develop an accurate real-time feedback controller. The simulation results indicated significant reduction in trajectory tracking errors. A hybrid model was proposed by [36] so as to compensate residual and uncertain dynamics within the system. In comparison with the GP model, this hybrid model showed more accurate predictions of the quadrotor dynamics. The NMPC model in agile quadrotor flight was studied by [37], which proposed a hybrid adaptive NMPC, called L 1 -NMPC. This hybrid method can learn model uncertainties online and compensate them immediately, thereby resulting in more flexibility and robustness in comparison with non-adaptive NMPC.
Although these papers demonstrated very good simulation results in this regard, their efficiency in real world experiments are still vague, especially in the presence of external distances. These methods have limitations such as high computational time, the need for an accurate dynamic model of a drone, and the consideration given to the constraints of all motors and sensors. To better reduce these problems, several famous drone companies have managed to use well-tuned PID controllers as commercial flight controllers [38]. This paper presents a practical time varying constrained MPC control method.
The main contributions of this article are as follows: 1. Designing a time-varying model predictive controller with the consideration given to full input/ output constraints of the quadrotor with online optimization. 2. Designing a new attitude control test platform for quadrotors with the equality of rotation and mass center consideration. 3. Extraction of the dynamic model parameters of our handmade quadrotor through experimental and simulated tests. 4. Comparison analysis with EMPC, AEMPC and a welltuned PID.
The remainder of this paper is organized as follows. First, discussions on the nonlinear dynamics of the quadrotor are provided in Section 2. Section 3 deals primarily with the mathematical formulation of the specific controller, which was designed based on the concept of our proposed MPC. Section 4 includes simulation and experimental studies with multiple test cases involved to validate the effectiveness of the proposed method. Finally, the conclusion is drawn in Section 5.

II. DYNAMIC MODELING OF THE QUADROTOR
The hand-made quadrotor and its coordinate system are depicted in Fig1. This figure demonstrates the body-fixed frame (BFF) {X B , Y B , Z B }, quadrotor coordinate system, and Earth-fixed frame (EFF) E x , E y , E z . As shown in this figure, there is angle differences between the sensor coordinate frame and the body frame {X s , Y s , Z s }.
Considering the model dynamics of the quadrotor, some assumptions are made to simplify the dynamic equations: a) The structure of the quadrotor and propellers are rigid and symmetrical b) The quadrotor structure is balanced to match the center of mass with the center of rotation c) Each pair of motors with the same direction of rotation are aligned in one axis extending from the center of rotation. These assumptions lead to a nonlinear six degrees of freedom dynamic equation of the quadrotor model, which is expressed in Equation (1) [39]. In this Equation, m is the mass of the system, g the gravitational acceleration in local position, and U 1 the total thrust that the quadrotor can hover. U 2 , U 3 , and U 4 are the inputs of the roll, pitch, and yaw channels respectively. Moreover, u x and u y are sub-inputs to position channels, which are derived from Equation (2). Moreover, the disturbance vector 0 ω ϕ 0 ω θ 0 ω ψ 0ω z 0 ω x 0ω y , is considered and added to the model which could affect the rates of states φθψżẏẋ in attitude and position equations [39]. r is considered as a disturbance caused by the angular velocities of four motors, and other parameters are provided in Table 1.
Rotor rotation creates vertical forces corresponding to the thrust (T). In addition, each rotor produces a moment perpendicular to the plane of the propeller rotation leading to the horizontal movement (H). Aerodynamic forces like thrust and drag are proportional to the square of the propeller's speed. A full and detailed explanation of these forces can be found in [39]. To achieve the correct value of these parameters like moments of inertia, experimental tests were implemented and compared with Catia software calculation results. These experimental tests were repeated to show the repeatability of the achieved results.
The results of Catia's software calculation were almost the same as the experimental test results, thus, verifying the accuracy of the experimental tests. The achieved model parameters via experimental tests are illustrated in Table 1.
As it can be seen from Equation (1) [39], the attitude subsystem equations are nonlinear and continuous. To control the attitude sub-system by the MPC method, linearization and discretization are required according to the sampling rate (Ts).
The state-space representation is shown in Equation (4) [39], where the matrices B 6×4 and C 3×6 are derived from linearization and discretization, U is defined as U = [δu 1 δu 2 δu 3 δu 4 ] and r is a constant disturbance. The matrix A * j is discretized and linearized around the operating points 0φ • 0θ • 0ψ • and in every iteration (j), new state feedback updates A * j matrix which is a time-varying matrix. This time dependency helps the quadrotor to have high maneuverability and robustness against wind gusts.

III. THE PROPOSED METHOD
The proposed controller uses a time-varying linear model of the handmade drone, and considers the parameters generated in the previous section. The controller updates the nonlinear attitude subsystem at every sampling time around a new equilibrium point. This enables a time-varying model of the MPC to maintain high precision and stability thereby making it suitable for environments with disturbances and system constraints [40]. Moreover, this controller uses Hildreth as the online optimization method. This latter is considered as a powerful way of solving a large system of inequalities with sparse matrices without the involvement of any matrix inversion [41]. The online optimization algorithm is more complex because this algorithm requires a large amount of calculation so as to better solve time-varying systems with different types of constraints. The presented method can possibly augment the state-space matrices if the integrator effect is applied to do so. This enables the system to track the reference point more stably with approximately zero steady-state error.
The optimal control signal was achieved by optimizing the desired cost function. The presented controller was based on the MPC principle so required the nonlinear model of the quadrotor with real physical parameters. Nonlinear dynamic equations were converted to nonlinear state-space equations and then discretized. After discretization, the achieved model was linearized around the operating point with respect to the time. The state-space matrices were augmented and used to generate optimal control signals that restricts the quadrotor's motion. The whole process should be repeated in each iteration with respect to each sampling time (T s ). The augmented state-space composed from extracted matrices, A * j and B * j of the nonlinear model are shown in Equation (6).
where x(k) is the state vector, u(k) is control action rate defined as: The sets X and U specify possible state and input rate constraints. A * j , B * j , C * j specify the matrices which are linearized around the operating point 0,φ • , 0,θ • , 0,ψ • at instant kTs. In practice, many control algorithms exhibit decreased performance and even fail when considering quadrotor's mechanical and electrical restrictions. Hence, actuator saturation and restricted mechanical motions should be considered as constraints when deriving an optimal control input. In this pape, constraints on the quadrotor's output states, control effort signals and their variation have been illustrated in Eq. (9). The matrix C 9×12 consists of outputs that must be constrained. All constraints can be written in a more compact form All states and input constraints have been combined by using a set of Hi zeroed 2 × (m + n) matrices. m is number of state vector of x(k) and n is the number of control actions.
Some experimental tests are carried out to calculate the rotor torque. Then, the ranges of variation are determined for the system states, which are considered asoutputs of the system, and control effort signals as well. The proposed controller tries to minimize the cost function subject to the following constraints: We define the cost function J that reflects the control objective as Eq (10) where the first term reflects the consideration given to the size of U when the objective function J is made to be as small as possible and second term is linked to the objective of minimizing the errors between the predicted output and the set-point signal. E is a diagonal matrix that tuned for the desired close loop performance.
In every iteration, the cost function is minimized and the optimal u is calculated. There is a tradeoff between the set point tracking errors and the produced optimal control signals. The block diagram at Fig (3) shows the proposed controller functionality in more clear way.
where λ (N p ×n)×(N c ×m) is a parameter that can change the mentione trade-off. H (N p ×n)×(N c ×m) , f (N p ×n)×(N c ×m) are matrices including augmented matrices shown in Eq. (6). The number of approximations of the nonlinear model (j) depends on flight time (kT s ). Note that system stability when switching between linear models is not approved, but no stability issues were observed in any experimental tests.

IV. SETUP AND RESULTS
In this section, flight experiments and numerical simulations are explained to verify the performance of the TCMPC algorithm in quadrotor attitude and position tracking. The parameters of the hand-made quadrotor are taken from Tables 1 and 2.

A. SIMULATION RESULTS
The attitude, position model, and controllers of the quadrotor are implemented in MATLAB/Simulink. Then, the performance of the TCMPC is compared with AEMPC, EMPC, and PID methods. Since the quadrotor is an under-actuated system, the inner loop controller should be at least four times faster than the outer loop controller if the purpose is to better control the position of the quadrotor by attitude system (T sAttitude =0.02s, T sPosition = 0.2s). The constraints on the effort signals rate ( U i=1, The constraints are define in Equation (13): Regarding the EMPC method [16], this method uses the simple linear dynamic model of quadrotor, which changes during flight time to generate the prediction points without using an online optimization algorithm. The EMPC needs some prediction points while the TCMPC, in contrast, requires the first prediction point from the augmented model. Hence, the iteration time, otherwise known as the minimum time to generate each control signal, would be different in each method. Also, a comparison between the proposed MPC and EMPC approaches is illustrated in practice in the presence of wind gusts.
The Ziegler-Nichols oscillation method is commonly used for tuning the PID controller parameters of each channel (39). The common PID equation is shown in Equation (14).
where u is the control signal, ε is the error, K c , K i , K d are the gains for the PID controller, τ i is the parameter that scales the integral controller, τ d is the parameter that scales the derivative controller, t is the time taken for error measurement.
In the first step, the gains Ki and K d are equal to zero. The proportional gain, K c , is increased until it reaches the ultimate gain. This makes the output of the system oscillate constantly with period of Tu. By using T u and K c , all other parameters listed in Table were obtained. Then, the well-tuned gains are achieved by changing the gains around the obtained values experimentally. Table presents the obtained parameter value that are used as PID gains for each channel in practice. Following this, the TCMPC method is compared with AEMPC, EMPC and PID controller in simulation. The initial values of states are [0,0,0,0,0,0,0.05,0,1,0,1,0] in the simulation. The value of each parameter of algorithms is taken from Table 4.
Comparison between the effort signals of controllers are presented in Figs 5, 7, and 9. According to these figures, at the beginning, the quadrotor initial position changes instantly by consuming effort signals in a constrained way. Consequently, the TCMPC controller produces optimal effort signals to control the quadrotor while facing wind disturbance. Unconstrained rate of control signals ( U k=1,2,3,4 ) cause the sharp movements and high peaks at U k=1,2,3,4 signals when using the AEMPC, EMPC, PID methods as shown in   Figs 5, 7, and 9. In addition, the AEMPC, EMPC, and PID have sharper and higher overshoots in presence of wind, whereas the TCMPC shows a less disturbed reaction. Overall, the wind gust has effect on all methods during flight.
The results of the tracking reference signal by AEMPC, EMPC, and the proposed algorithm are depicted in Figs 4 and 6, respectively. The results confirm the ability of the two controllers to track the desired path well. The proposed method, however, shows less fluctuations at takeoff and achieves better performance than AEMPC and EMPC in the presence of disturbances. According to Fig 8, the Roll and Pitch channels change to reach the desired zero value and the Yaw channel tracks the pulse signal. The maximum domain of the pulse is ten degrees and the minimum value is zero.
Both methods start to control the quadrotor from the same initial point and our proposed method shows lower rise time compared to the PID. Fig 9 demonstrates the required energy for stabilizing the quadrotor at roll and pitch channels for both well-tuned PID and TCMPC. Note the large overshoots

B. SETUP AND EXPERIMENTAL RESULTS
In order to test whether the proposed controller can be implemented feasibly on the real quadrotor, the Gazebo simulator was used in the first stage (Fig 10). By using the AR.Drone2.0 on Gazebo7 simulator and writing the specific C++ node and topics, the proposed controller shows its ability to control the drone during hovering motion in this simulator. The tum-simulator package was used to communicate with the drone. Meanwhile, all physical parameters such as the momentum of inertia, mass, gravity, and the noise on the output of the IMU sensor were considered as well. ROS Indigo version was used, and a new launch file run in a virtual machine.
In the Gazebo simulator, the effort signals are published to the quadrotor, and feedback signals of the quadrotor are logged during hovering. Based on the flight scenario described in section 4.1, first, the quadrotor takes off to reach desire point (0, 0, 1) at space with respect to EEF coordinate. The TCMPC was applied to the real quadrotor and its controlling performance was compared to a well-tuned PID controller and EMPC method. This controller is a commercial method, which can be employed to demonstrate how the states and control signals affect performance. All the components and modules involved in the design of this quadrotor  are illustrated in Fig 13. LSM9DS1 was used as an Inertia Measurement Unit (IMU) sensor to produce angular rates and accelerations in three axes.
A Kalman filter was utilized to estimate the target variables such as roll, pitch, and yaw. In addition, the IMU sensor was calibrated, and the bias and scale factor were obtained by the least square algorithm. The accuracy of the obtained Euler angles was 0.1 degrees and Kalman filter initial covariance value was Q • = [0.0010; 00.0003] rad s . As the motors receive commands from an electronic speed controller (ESC), an interface board such as Arduino DEU is needed. This board produces pulse width modulation (PWM) to the ESC driver as controller command. The sensor output frequency was 100 Hz. The bandwidth was set to 100 Hz, which is two times more than the quadrotor dynamic range. The ESC driver rotor receives PWM signals with frequency of 250 Hz, and so both controllers were designed to operate at a frequency of 50 Hz. The other parameters of this controller are listed in Table 4. According to this table, the obtained state-space matrices are presented in Equation (16) Fig 14 demonstrates the new attitude test setup. This helps limit quadrotor motion to three degrees of freedom and only its attitude can be changed. Since the center of mass should be on the rotation center, four packs with the same weights should be added to the quadrotor setup. These packs can change the center of mass to model the dynamic equations accurately.
In order to exhibit how effectively constrains can be added to the controller, the performance of the quadrotor was compared with the normal MPC without constraints, well-tuned PID, and EMPC in a practical environment. Two different scenarios are considered in this regard: the first one is the same as flight scenario described at Section 4.1; the second one is sinusoidal tracking and disturbance rejection.
Regarding the first scenario, the specific command was sent to change the yaw channel of the quadrotor, as shown in Figs 14,17 and 19. This command in the Yaw channel had a 15-degree amplitude positive pulse with a period of 7 seconds. The frequency of the control loop and control parameters were found to be the same in all methods. Constraints were chosen according to Equations (18) and (19).
The experimental results are presented in Figs 15,17. According to these figures, three controllers could control the quadrotor from same initial position to the desired set point. The quadrotor's yaw channel tracks the input pulse command while the roll and pitch channels, in contrast, track zero input commands. The comparison indicates that the TCMPC method presents less overshoots and undershoots than the unconstrained MPC and well-tuned PID approaches.    To assess the performance of the TCMPC and the welltuned PID, the first scenario was applied in the presence of wind gusts. At the specific time, when the yaw command was received by the controller, a fan was placed at a distance of 0.8 m from the test platform to generate a wind gust. The wind blew in three directions to the quadrotor, BFF coordinate, and its speed was V B = [1.    EMPC controller signal efforts have more fluctuations than the TCMPC signal efforts during wind gusts.
As far as the second scenario is concerned, the attitude tracking results under the two algorithms are provided in Figs. 21 and 22. Noticeably, under the influence of sensor measurement noises, unmodeled uncertainties of the system, and wind gust as external disturbance, the two controllers seem to have different degrees of tracking errors. As can be seen from Fig 22, the fluctuation of control signals tend to increase after adding the wind to system. Hence, the tracking performance of TCMPC can possibly outperform the EMPC. The value of each parameter of algorithms is taken from Table 4.    According to Fig. 21, despite the wind disturbance, both methods converge to sinusoidal commands. To verify the tracking performance of the proposed attitude controller, we compared the RMS value of each method. Fig 23 exhibits that TCMPC has a smaller RMS value and achieves better performance in the second scenario. Based on the result of numerical simulation and practical tests, it can be concluded that the proposed controller improves the attitude tracking performance with/without presence of wind gust considered as external disturbance in comparison with AEMPC, EMPC, and well-tuned PID.

V. CONCLUSION
This paper proposed a Time-varying Constrained MPC (TCMPC) approach for the translation and attitude control of a real quadrotor in the presence of external disturbances. The proposed method can better update the nonlinear attitude subsystem at every sampling time around a new equilibrium point of the system for the provision of a time-varying model of the MPC designed with high precision and stability to occur. To better achieve the high tracking performance and robustness in the attitude control, the dynamic model parameters were extracted, and the equality of mass center with rotation center was considered as well. The proposed controller was tested and used to control a hand-made quadrotor with all restrictions and physical constraints of the real quadrotor taken into account. The comparison analysis and experimental results indicate that the proposed TCMPC outperforms the AEMPC, EMPC, and PID methods. The most important limitation of this method is that the parameters are derived from the experimental setting; hence, making this task is difficult and time-consuming for highly-complex multi-variable systems. Our future work will be a maneuver control of a practical quadrotor UAV by using the proposed method.

DATA AVAILABILITY STATEMENT
The data that support the findings of this study are available within the article.

CONFLICTS OF INTEREST
The authors declare that they have no conflict of interest.
MORTEZA ALIYARI received the B.Sc. degree in control engineering from the University of Zanjan, in 2015. He is currently pursuing the Ph.D. degree with the National Yunlin University of Science and Technology. He is also a Robotic Engineer and an Embedded System Developer with many hands-on experiences. He has done different projects in his interesting field, which is robotic, such as AGVs and UAVs, with different groups. His research interests include control theory, nonlinear systems, tracking of multi-agent, and teleoperation systems.
WING-KWONG WONG received the B.Sc. degree in computer science from the University of Toronto, Canada, in 1983, and the Ph.D. degree in computer science from The University of Texas at Austin, USA, in 1992. Since August 1993, he has been an Associate Professor with the Department of Electronic Engineering, National Yunlin University of Science and Technology (YunTech), Taiwan, where he is currently the Director of the Future Technology Research Center. His research interests include robotics, machine learning, the IoT, and E-learning.
YASSINE BOUTERAA (Member, IEEE) received the National Engineering degree in electrical engineering from the National Engineering School of Sfax, in June 2006, the Master of Science degree in control and computer science, in 2007, the Ph.D. degree in electrical and computer engineering from both the University of Orleans, France and the University of Sfax, in 2012, and the HDR (accreditation to supervise research) in electrical and computer engineering, from the University of Sfax in 2017. His research interests include robotics, embedded systems, and real time implementation. He is the author/coauthor of more than 50 scientific papers. He is a reviewer in some indexed journals and a TPC member of some international conferences. SEPIDEH NAJAFINIA received the master's degree in digital electronic major from Shahid Beheshti University. She is currently pursuing the Ph.D. degree with the National Yunlin University of Science and Technology. She gained many skills in VLSI and FPGA design, during her master's degree. At the same time, she worked as an Embedded System Developer and she did different projects, such as designing a flight control circuit for a quad-copter, implementing a logger circuit, and implementing compression and tension load cell amplifier circuit.
AFEF FEKIH (Senior Member, IEEE) received the B.Sc., M.Sc., and Ph.D. degrees in electrical engineering from the National Engineering School of Tunis, Tunisia, in 1995, 1998, and 2002, respectively. She is currently a Full Professor with the Department of Electrical and Computer Engineering and the Chevron Professor/a BORSF Professor in engineering with the University of Louisiana at Lafayette. Her research interests include control theory and applications, including nonlinear and robust control, optimal control, fault tolerant control with applications to power systems, wind turbines, unmanned vehicles, and automotive engines. She has authored or coauthored more than 200 publications in international journals, chapters, and conference proceedings. She is a member of the Editorial Board of the IEEE Conference on Control Technology and Applications, the IEEE TC on Education, and IFAC TC on Power and Energy Systems.
SALEH MOBAYEN (Senior Member, IEEE) is currently an Associate Professor with the National Yunlin University of Science and Technology (YunTech), Taiwan, and collaborated with the Future Technology Research Center (FTRC). He has published several articles in the national and international journals. He is an associate editor of several international scientific journals and has acted as the symposium co-chair/the track co-chair in numerous IEEE flagship conferences. He has been a world's top 2% scientist with Stanford University, since 2019, and has been ranked among 1% top scientists in the world in the broad field of electronics and electrical engineering. He is also recognized in the list of Top Electronics and Electrical Engineering Scientists in Iran. His research interests include control theory, sliding mode control, robust tracking, nonholonomic robots, and chaotic systems.