Next Article in Journal
On Minimal Hypersurfaces of a Unit Sphere
Next Article in Special Issue
Expect: EXplainable Prediction Model for Energy ConsumpTion
Previous Article in Journal
A Mixed Statistical and Machine Learning Approach for the Analysis of Multimodal Trail Making Test Data
Previous Article in Special Issue
Digital Identification Algorithms for Primary Frequency Control in Unified Power System
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Optimization of Sliding Mode Control to Save Energy in a SCARA Robot

by
Luis Arturo Soriano
1,
José de Jesús Rubio
2,*,
Eduardo Orozco
2,
Daniel Andres Cordova
2,
Genaro Ochoa
2,
Ricardo Balcazar
2,
David Ricardo Cruz
3,
Jesus Alberto Meda-Campaña
4,
Alejandro Zacarias
2 and
Guadalupe Juliana Gutierrez
2
1
Departamento de Ingeniería Mecánica Agrícola, Universidad Autónoma Chapingo, Km. 38.5 Carretera México-Texcoco, Texcoco 56235, Mexico
2
Sección de Estudios de Posgrado e Investigación, ESIME Azcapotzalco, Instituto Politécnico Nacional, Av. de Las Granjas No. 682, Col. Santa Catarina, Mexico City 02250, Mexico
3
Instituto Tecnológico de Tlalnepantla, Tecnológico Nacional de México, Av. Instituto Tecnológico s/n, Col. La Comunidad, Tlalnepantla de Baz 54070, Mexico
4
Sección de Estudios de Posgrado e Investigación, ESIME Zacatenco, Instituto Politécnico Nacional, Av. IPN s/n, Col. Lindavista, Gustavo A. Madero, Mexico City 07738, Mexico
*
Author to whom correspondence should be addressed.
Mathematics 2021, 9(24), 3160; https://doi.org/10.3390/math9243160
Submission received: 11 November 2021 / Revised: 3 December 2021 / Accepted: 6 December 2021 / Published: 8 December 2021
(This article belongs to the Special Issue Numerical Simulation and Control in Energy Systems)

Abstract

:
Sliding mode control is a robust technique that is used to overcome difficulties such as parameter variations, unmodeled dynamics, external disturbances, and payload changes in the position-tracking problem regarding robots. However, the selection of the gains in the controller could produce bigger forces than are required to move the robots, which requires spending a large amount of energy. In the literature, several approaches were used to manage these features, but some proposals are complex and require tuning the gains. In this work, a sliding mode controller was designed and optimized in order to save energy in the position-tracking problem of a two-degree-of-freedom SCARA robot. The sliding mode controller gains were optimized usinga Bat algorithm to save energy by minimizing the forces. Finally, two controllers were designed and implemented in the simulation, and as a result, adequate controller gains were found that saved energy by minimizing the forces.

1. Introduction

Sliding mode control (SMC) is a robust control technique that is used to command nonlinear systems, such as robots. SMC presents several advantages that can be employed in nonlinear systems due to its robustness against parametric variations, external disturbances, unmodeled dynamics, and uncertainties [1]. However, one of the major drawbacks in the control of robots with SMC is the use of big forces in the reaching law that is required to move the robots. During industrial operations, the big forces in the electric actuator control of the robots can result in spending large amounts of energy [2].
In order to save energy by minimizing the forces in the sliding mode control, several methods were proposed in the literature. In [3], the authors proposed a neuro-sliding mode controller in which discontinuous control was replaced by a neural network that was combined with an error estimator, and then the controller was applied to a two-degree-of-freedom (DOF) planar parallel manipulator. In [4], a method was presented and implemented using the current regulation of motor drives, and their results showed that the forces were minimized. In [5], cascaded control was used to manage a converter at the same time that the forces were minimized. In [6], integral sliding mode control was proposed to enforce the sliding mode robustness from the initial time instant. In [7], a robust controller as a combination of the super-twisting control algorithm and time delay estimation method was proposed for a robot with uncertain motion in order to save energy by minimizing the forces and to reduce the uncertainties and disturbances. In [8], the combination of an adaptation law, sliding mode disturbance observer, and a continuous nonsingular terminal sliding mode control was proposed to compensate for the uncertainty and external disturbance and to maintain the robustness; this combination resulted in the minimization of the forces. In [9], an artificial neuro-fuzzy system with sliding mode control applied to a two-DOF rigid robot manipulator was proposed to generate an adaptation control in order to increase the robustness against disturbances. Moreover, this controller was compared with a proportional integral derivative sliding mode control, and the gains were optimized using a particle swarm optimization algorithm; however, the complexity of the controller design increased due to the several gains that needed to be tuned. In [10], an adaptive neural gain scheduling sliding mode control method was presented to minimize the forces and it was applied to a quadcopter with external disturbances. In [11,12], adaptive robust controllers were introduced for high-precision tracking control problems of robots with output constraints. In [13,14], model-free finite-time terminal sliding mode control schemes of uncertain robots were discussed. In [15], a model-free high-order sliding-mode controller with a time-base generator was implemented to achieve finite-time convergence. Nevertheless, some of these mentioned approaches of the sliding mode control tended to result in big forces.
On the other hand, the Bat algorithm was applied for several control problems. In [16,17], the Bat algorithm was proposed. In [18], the combination of a proportional integral derivative (PID) controller and a Bat algorithm was introduced to obtain pulse-width modulation for converters. In [19], a fractional order PID controller that was based on the Bat algorithm was implemented to improve the performance of a distillation column process. In [20], the fusion of a modified Bat algorithm and an adaptive fuzzy controller was introduced for autonomous mobile robots. In [21], a fuzzy PID controller with a Bat algorithm was introduced for a wind turbine. In [22], a tracking technique that was based on a fuzzy controller and the Bat algorithm was created to desirably tune the control parameters. In [23], the design of a fuzzy PID controller with a Bat algorithm is presented for a brushless direct current drive. In [24], an adaptive fractional order PID controller using a Bat algorithm was proposed for a caterpillar robot manipulator. In [25], a PID controller using a Bat algorithm was proposed for the control of a MEMS gyroscope. In [26], a system for control of enumeration strategies that was based on a Bat algorithm is discussed. In [27], a fuzzy controller rule base using a Bat algorithm was addressed for a magnetic ball suspension system. The mentioned results presented the combination of a Bat algorithm, fuzzy controller, and PID controller; hence, it would be desirable to present the combination of the Bat algorithm and sliding mode controller.
In this work, the optimization of sliding mode controller gains using the Bat algorithm was proposed in order to save energy by minimizing the forces. This design includes a sliding mode control that is based on the reaching law with a constant rate, which was selected due to its simplicity. The optimization based on the Bat algorithm was proposed due to the small number of gains to be tuned, its flexibility, and its simplicity. The proposed control was designed to overcome the position-tracking problem in a two-DOF SCARA robot. The contributions of the proposed approach are described as follows: (a) the Bat algorithm was modified with four additional steps so that it can be applied to find the best gains to save energy by minimizing the forces of a two-DOF SCARA robot, (b) the Bat algorithm was modified with two additional steps so that its gains remain bounded, and (c) the best gains of the Bat algorithm are used to save energy by minimizing the forces of the sliding mode controller for the position-tracking problem in a two-DOF SCARA robot.
The organization of the paper is as follows: In Section 2, the dynamic model description of a two-DOF SCARA robot is presented, which is described using the Euler–Lagrange formulation and the data were based on a real robot presented in [28]. In Section 3, an SMC design for the position-tracking problem of a two-DOF SCARA robot is presented. In Section 4, the optimization of the SMC and an explanation about how the Bat algorithm works are presented, where the proposed algorithm optimized the gains of SMC in order to save energy by minimizing the forces. Finally, in Section 5, the simulation results of the SMC and SMC with the Bat algorithm are presented.

2. Dynamic Model of a Two-DOF SCARA Robot

According to [29], the dynamics of the robot in Figure 1 can be described using the Euler–Lagrange equation.
The Euler–Lagrange equation is shown as follows:
d d t [ L ( q ,   q ) q i ] L ( q ,   q ) q i = u i ,
where u i are the forces that are related to the energy; q , q , and q are the joint positions, joint velocities, and joint accelerations, respectively; and L ( q ,   q ) is the Lagrangian that is defined as the difference between the kinetic energy Ķ ( q ,   q ) and the potential energy Ņ ( q ,   q ) and is represented by the next equation:
L ( q ,   q ) = Ķ ( q ,   q ) Ņ ( q ,   q ) ,
The general dynamic model of a two-DOF SCARA robot can be described as
u = M ( q ) q + C ( q ,   q ) q + f ( q ) ,
where M ( q ) is a 2 × 2 matrix that represents the kinetic energy of system, C ( q ,   q ) is a 2 × 2 matrix that includes the Coriolis force and centrifugal force of the system, f ( q ) is a 2 × 1 vector that contains the static and Coulomb friction losses, and u is a 2 × 1 vector that contains the forces. Thus, the terms of the dynamic model can be rewritten in matrix form as
[ u 1 u 2 ] = [ M 11 ( q ) M 12 ( q ) M 21 ( q ) M 22 ( q ) ]   [ q 1 q 2 ] + [ C 11 ( q ,   q ) C 12 ( q ,   q ) C 21 ( q ,   q ) C 22 ( q ,   q ) ]   [ q 1 q 2 ] + [ f 1 ( q ) f 2 ( q ) ]   ,
where
M 11 ( q ) = 1.7277 + 0.1908 cos ( q 2 ) , M 12 ( q ) = 0.0918 + 0.0954 cos ( q 2 ) , M 21 ( q ) = 0.3340 + 0.3418 cos ( q 2 ) , M 22 ( q ) = 0.9184 , C 11 ( q ,   q ) = 31.8192 0.0954 sin ( q 2 ) q 2 , C 12 ( q ,   q ) = 0.0954 sin ( q 2 ) ( q 1 + q 2 ) , C 21 ( q ,   q ) = 0.34128 sin ( q 2 ) q 1 , C 22 ( q ,   q ) = 12.5783 , f 1 ( q ) = 1.0256 s i g n ( q 1 ) , f 2 ( q ) = 1.7842 s i g n ( q 2 ) ,
The values of the dynamic model that is presented in Equations (4) and (5) of the two-DOF SCARA robot were obtained from [28], which presented an approximation from real robot parameters. The dynamic model that is presented in Equations (4) and (5) can be rewritten in terms of acceleration as
[ q 1 q 2 ] = [ M 11 ( q ) M 12 ( q ) M 21 ( q ) M 22 ( q ) ] 1 ( [ u 1 u 2 ] [ C 11 ( q ,   q ) C 12 ( q ,   q ) C 21 ( q ,   q ) C 22 ( q ,   q ) ]   [ q 1 q 2 ] [ f 1 ( q ) f 2 ( q ) ] )  

3. Sliding Mode Controller Design

The proposed SMC controller for a two-DOF SCARA robot is shown in Figure 2. The design of this section is important because of the following two reasons: (1) the SMC will be used with the Bat algorithm in the next section, and (2) in the simulations, the SMC was compared with the SMC with the Bat algorithm in the next section.
Considering the SCARA robot dynamic model that is presented above, the proposed sliding mode controller was designed with the following sliding mode function:
s = β e + e ,
where β > 0 is a gain that must satisfy the Hurwitz condition. e is the position error, which is defined as the difference between the reference position and real position, i.e.,
e = q d q ,  
e is given as the difference between the derivatives of the reference position and the real position, i.e.,
e = q d q ,
Accordingly to Equations (7)–(9), the derivative of the above sliding mode function is
s . = β e . + e ,  
s = β ( q d q ) + ( q d q ) ,  
According to [30], there are several exponential reaching laws that help to save energy by minimizing the forces, but each one requires certain gains. The tuning process of the gains involves the knowledge of certain variables of the robot, or in other cases, this process is based on simulations. In this work, a conventional exponential reaching law was selected since it requires only one gain to be optimized in order to save energy by minimizing the forces and to reach the reference position in the system. Thus, the reaching law is
s = ξ sgn ( s ) ,  
where ξ > 0 . Therefore, relating Equations (11) and (12), the result is
ξ sgn ( s ) = β ( q d q ) + ( q d q ) ,  
Hence, Equation (3) can also be written as
u = M ( q ) q + C ( q ,   q ) q + f ( q ) ,  
M ( q ) q = u C ( q ,   q ) q f ( q ) ,  
q = M ( q ) 1 [ u C ( q ,   q ) q f ( q ) ] ,  
where u represents the forces. Substituting Equation (16) into Equation (13), we have
ξ sgn ( s ) = β ( q d q ) + ( q d q ) ,  
ξ sgn ( s ) = β ( q d q ) + ( q d M ( q ) 1 ( u C ( q ,   q ) q f ( q ) ) ) ,  
Thus, the design of the sliding mode control (SMC) is as follows [31,32,33,34]:
M ( q ) 1 ( u C ( q ,   q ) q f ( q ) ) = ξ sgn ( s ) + β ( q d q ) + q d ,  
u C ( q ,   q ) q f ( q ) = M ( q ) ( ξ sgn ( s ) + β ( q d q ) + q d ) ,  
u = M ( q ) ( ξ sgn ( s ) + β ( q d q ) + q d ) + C ( q ,   q ) q + f ( q ) , u = u e q + u s w , u e q = M ( q ) ( β ( q d q ) + q d ) + C ( q ,   q ) q + f ( q ) , u s w = M ( q ) ( ξ sgn ( s ) ) ,  
where u e q is the equivalent control, u s w is the switching control, β = d i a g ( β 1 ,   β 2 ) , and ξ = d i a g ( ξ 1 ,   ξ 2 ) . Moreover, Equation (21) can also be written in matrix terms as:
[ u 1 u 2 ] = [ M 11 ( q ) M 12 ( q ) M 21 ( q ) M 22 ( q ) ]   [ ξ 1 sgn ( s ) + β 1 ( q 1 d q 1 ) + q 1 d ξ 2 sgn ( s ) + β 2 ( q 2 d q 2 ) + q 2 d ] + [ C 11 ( q ,   q ) C 12 ( q ,   q ) C 21 ( q ,   q ) C 22 ( q ,   q ) ]   [ q 1 q 2 ] + [ f 1 ( q ) f 2 ( q ) ] ,
Equation (22) is important because it is used in the design of the next section. Substituting Equation (16) into Equation (11):
s = β ( q d q ) + q d M ( q ) 1 ( u C ( q ,   q ) q f ( q ) ) ,  
Now, substituting Equation (21) into Equation (23):
s = β ( q d q ) + q d M ( q ) 1 M ( q ) ( ξ sgn ( s ) + β ( q d q ) + q d + C ( q ,   q ) q + f ( q ) C ( q ,   q ) q f ( q ) ) ,
s = β ( q d q ) + q d ξ sgn ( s ) β ( q d q ) q d ,  
s = ξ sgn ( s ) ,  
This reaching law with the switching variable is used to achieve the switching manifolds. When ξ is too small, this results in big forces that require spending large amounts of energy, or when ξ is too big, this results in intense chattering.
Remark 1.
If Equation (12) is replaced with s = ξ 1 sgn ( s 1 ) ξ 2 sgn ( s 2 )   , where s 1 and s 2 are different sliding modes, discontinuous differential equation techniques would be used to frame this problem into more of a dynamical system setting [35,36]. It would be one alternative to show the applicability of the proposed approach to other more general and common real-world problems.

4. Optimization of SMC Using the Bat Algorithm

The SMC controller that was optimized with the Bat algorithm is shown in Figure 3. The algorithm considers the position regulation of a two-DOF SCARA robot in order to save energy by minimizing the forces that are required to move the two-DOF SCARA robot. From the SMC in Equation (21), one Bat algorithm adjusts the gains β = d i a g ( β 1 ,   β 2 ) and the other Bat algorithm adjusts the gains ξ = d i a g ( ξ 1 ,   ξ 2 ) .
Equations (27)–(36) describe the steps of the Bat algorithm that are used twice, one time to adjust the gains β = d i a g ( β 1 ,   β 2 ) and the other time to adjust the gains ξ = d i a g ( ξ 1 ,   ξ 2 ) .
Suppose there are two virtual bats that correspond to the two DOFs of a two-DOF SCARA robot; the information about bat i ( i = 1 ,   2 ) is
x i ,   t ,   v i ,   t ,   f r i ,   t ,   A i ,   t ,   r i ,   t  
where x i ,   t = ( x 1 ,   t ,   x 2 ,   t ) and v i ,   t = ( v 1 ,   t ,   v 2 ,   t ) are the position and velocity of bat i at time t , respectively, and the frequency f r i ,   t , loudness A i ,   t , and emission rate r i ,   t are three required parameters.
In the next generation, the velocity is updated as follows:
v i ,   t + 1 = v i ,   t + ( x i ,   t p t )   f r i ,   t
where p t is the best position that is found using
p t = i = 1 2 x i ,   t 2
Equation (28) can be viewed as a combination of the inertia part v i ,   t and the influence of p t . The frequency f r i ,   t is changed according to
f r i ,   t = f r min + ( f r max f r min )   rand i , 1
where f r max and f r min are the maximum and minimum values of the frequency, respectively, and rand i , 1 is a random number that is generated using a uniform distribution within [ 0 ,   1 ] .
To reflect the bat’s decision, the position is changed with some randomness. Let rand i , 2 be a random number that is generated with a uniform distribution within [ 0 ,   1 ] ; if rand i , 2 < r i ,   t is satisfied, bat i will undergo the following global search pattern:
x ¯ i ,   t + 1 = x i ,   t + v i ,   t + 1
Otherwise, the following local search pattern is adopted:
x ¯ i ,   t + 1 = p t + ε i A ¯ t
where ε i is a random number that is generated using a uniform distribution within [ 1 ,   1 ] and A ¯ t is the average loudness of all bats:
A ¯ t = i = 1 2 A i ,   t 2
After x ¯ i ,   t + 1 = ( x ¯ 1 i ,   t ,   x ¯ 2 i ,   t ) is obtained with Equations (31) and (32), then x i ,   t + 1 will update its position as follows:
x i ,   t + 1 = { x ¯ i ,   t + 1 ( rand i , 3 < A i ,   t )   a n d   ( g ( x ¯ i ,   t + 1 ) < g ( x i ,   t ) ) x i ,   t o t h e r w i s e  
Equation (34) implies that the position is updated only when the following two conditions are met: (a) it finds the better position, i.e., g ( x ¯ i ,   t + 1 ) < g ( x i ,   t ) , (b) with a probability rand i , 3 < A i ,   t , where rand i , 3 is a random number that is generated using a uniform distribution within [ 0 ,   1 ] . If the position of the bat is updated, the corresponding loudness A i ,   t + 1 and emission rate r i ,   t + 1 are also changed as follows:
A i ,   t + 1 = α A i ,   t
r i ,   t + 1 = r i ,   1 ( 1 e γ t )  
where α > 0 and γ > 0 are two predefined parameters and A i ,   1 and r i ,   1 are the initial values for the loudness and emission rate, respectively.
The following four additional steps are included in the Bat algorithm to obtain the values of the functions g ( x ¯ i ,   t + 1 ) and g ( x i ,   t ) for β = d i a g ( β 1 ,   β 2 ) and ξ = d i a g ( ξ 1 ,   ξ 2 ) .
For the gains β = d i a g ( β 1 ,   β 2 ) , these gains are equal to the positions of the Bat algorithm:
x 1 ,   t = β 1 ,   t x 2 ,   t = β 2 ,   t
g ( x ¯ i ,   t + 1 ) and g ( x i ,   t ) are updated as follows:
[ u β 1 ,   t + 1 u β 2 ,   t + 1 ] = [ M 11 ( q ) M 12 ( q ) M 21 ( q ) M 22 ( q ) ]   [ ξ 1 ,   1 sgn ( s ) + x ¯ 1 ,   t + 1 ( q 1 d q 1 ) + q 1 d ξ 2 ,   1 sgn ( s ) + x ¯ 2 ,   t + 1 ( q 2 d q 2 ) + q 2 d ] + [ C 11 ( q ,   q ) C 12 ( q ,   q ) C 21 ( q ,   q ) C 22 ( q ,   q ) ]   [ q 1 q 2 ] + [ f 1 ( q ) f 2 ( q ) ] , g ( x ¯ 1 ,   t + 1 ) = u β 1 ,   t + 1 2 g ( x ¯ 2 ,   t + 1 ) = u β 2 ,   t + 1 2
[ u β 1 ,   t u β 2 ,   t ] = [ M 11 ( q ) M 12 ( q ) M 21 ( q ) M 22 ( q ) ]   [ ξ 1 ,   1 sgn ( s ) + x 1 ,   t ( q 1 d q 1 ) + q 1 d ξ 2 ,   1 sgn ( s ) + x 2 ,   t ( q 2 d q 2 ) + q 2 d ] + [ C 11 ( q ,   q ) C 12 ( q ,   q ) C 21 ( q ,   q ) C 22 ( q ,   q ) ]   [ q 1 q 2 ] + [ f 1 ( q ) f 2 ( q ) ] , g ( x 1 ,   t ) = u β 1 ,   t 2 g ( x 2 ,   t ) = u β 2 ,   t 2
where ξ 1 ,   1 and ξ 2 ,   1 are the initial conditions of ξ 1 ,   t and ξ 2 ,   t , respectively.
For the gains ξ = d i a g ( ξ 1 ,   ξ 2 ) , these gains are equal to the positions of the Bat algorithm:
x 1 ,   t = ξ 1 ,   t x 2 ,   t = ξ 2 ,   t
g ( x ¯ i ,   t + 1 ) and g ( x i ,   t ) are updated as follows:
[ u ξ 1 ,   t + 1 u ξ 2 ,   t + 1 ] = [ M 11 ( q ) M 12 ( q ) M 21 ( q ) M 22 ( q ) ]   [ x ¯ 1 ,   t + 1 sgn ( s ) + β 1 ,   1 ( q 1 d q 1 ) + q 1 d x ¯ 2 ,   t + 1 sgn ( s ) + β 2 ,   1 ( q 2 d q 2 ) + q 2 d ] + [ C 11 ( q ,   q ) C 12 ( q ,   q ) C 21 ( q ,   q ) C 22 ( q ,   q ) ]   [ q 1 q 2 ] + [ f 1 ( q ) f 2 ( q ) ] , g ( x ¯ 1 ,   t + 1 ) = u ξ 1 ,   t + 1 2 g ( x ¯ 2 ,   t + 1 ) = u ξ 2 ,   t + 1 2
[ u ξ 1 ,   t u ξ 2 ,   t ] = [ M 11 ( q ) M 12 ( q ) M 21 ( q ) M 22 ( q ) ]   [ x 1 ,   t sgn ( s ) + β 1 ,   1 ( q 1 d q 1 ) + q 1 d x 2 ,   t sgn ( s ) + β 2 ,   1 ( q 2 d q 2 ) + q 2 d ] + [ C 11 ( q ,   q ) C 12 ( q ,   q ) C 21 ( q ,   q ) C 22 ( q ,   q ) ]   [ q 1 q 2 ] + [ f 1 ( q ) f 2 ( q ) ] , g ( x 1 ,   t ) = u ξ 1 ,   t 2 g ( x 2 ,   t ) = u ξ 2 ,   t 2
where β 1 ,   1 and β 2 ,   1 are the initial conditions of β 1 ,   t and β 2 ,   t , respectively.
The following two additional steps that are included in the Bat algorithm maintain the bounds of the values for β = d i a g ( β 1 ,   β 2 ) and ξ = d i a g ( ξ 1 ,   ξ 2 ) .
After x i ,   t + 1 = ( x 1 ,   t ,   x 2 ,   t ) is obtained with Equation (34) and using Equation (37) for the gains β = d i a g ( β 1 ,   β 2 ) , x i ,   t + 1 will update its position as follows:
x i ,   t + 1 = { x i ,   t ( β i ,   t < β i min )   o r   ( β i ,   t > β i max ) x i ,   t + 1 o t h e r w i s e  
where β i max and β i min are the maximum and minimum values that β i ,   t can take.
After x i ,   t + 1 = ( x 1 ,   t ,   x 2 ,   t ) is obtained with Equation (34) and using Equation (40) for the gains ξ = d i a g ( ξ 1 ,   ξ 2 ) , x i ,   t + 1 will update its position as follows:
x i ,   t + 1 = { x i ,   t ( ξ i ,   t < ξ i min )   o r   ( ξ i ,   t > ξ i max ) x i ,   t + 1 o t h e r w i s e  
where ξ i max and ξ i min are the maximum and minimum values that ξ i ,   t can take.
The steps of the Bat algorithm that are used to obtain the best values of the gains β = d i a g ( β 1 ,   β 2 ) are described by Equations (27)–(39), and (43).
The steps of the Bat algorithm that are used to obtain the best values of the gains ξ = d i a g ( ξ 1 ,   ξ 2 ) are described by Equations (27)–(36), (40)–(42), and (44).
The pseudocode of the Bat algorithmis as follows:
  • Generate the bat population x i ,   1 and initial velocity v i ,   1 , i = (1, 2).
  • Define the pulse frequency f r i ,   1 in x i ,   1 .
  • Initialize the values for the pulse rate r i ,   1 and loudness A i ,   1 .
  • While ( t < maximum iteration number):
  • Update frequency ( f r i ,   t + 1 ) and velocity ( v i ,   t + 1 ) according to Equations (28) and (30), respectively.
  • If ( rand i , 2 < r i ,   t ):
  • Update position ( x ¯ i ,   t + 1 ) according to Equation (31).
  • Otherwise, update position ( x ¯ i ,   t + 1 ) according to Equations (29), (32), and (33).
  • End If.
  • Determine the target functions g ( x ¯ i ,   t + 1 ) and g ( x i ,   t ) for β = d i a g ( β 1 ,   β 2 ) with Equations (37)–(39) or determine the target functions g ( x ¯ i ,   t + 1 ) and g ( x i ,   t ) for ξ = d i a g ( ξ 1 ,   ξ 2 ) with Equations (40)–(42).
  • If ( ( rand i , 3 < A i ,   t )   a n d   ( g ( x ¯ i ,   t + 1 ) < g ( x i ,   t ) )   ):
  • Accept the new result x i ,   t + 1 with Equation (34).
  • Decrease A i ,   t + 1 and increase r i ,   t + 1 according to Equations (35) and (36), respectively.
  • End If
  • If ( ( β i ,   t < β i min )   o r   ( β i ,   t > β i max )   ) or If ( ( ξ i ,   t < ξ i min )   o r   ( ξ i ,   t > ξ i max )   ):
  • Accept the past value of x i ,   t + 1 with Equation (43) or (44).
  • End If
The objective function g 0 that is used in the Bat algorithm to achieve this objective is given by
min g 0 = min ( u 1 2 + u 2 2 ) subject   to β min β t β max ξ min ξ t ξ max
As a comparison [37,38], the objective function g 0 that is considered in the Simplex algorithm to achieve this objective is given by
min g 0 = min ( u 1 + u 2 ) subject   to β min β t β max ξ min ξ t ξ max
Remark 2.
The proposed technique is applied to the SCARA robot with two DOFs; however, this technique could be applied to other more complicated robots, such as the Schoenflies-Motion Generator with four DOFs [39,40] or parallel robots with three DOFs by using the following steps: (1) the dynamic model of the SCARA robot (Equation (6)) would be changed by the dynamic model of the other robot, (2) the changed dynamic model would be used in the control design of Equations (18)–(26) to obtain a different SMC, and (3) the different SMC would be used in the Bat design of Equations (38)–(42).

5. Simulations

In order to demonstrate the effectiveness of the proposed controller, a position-tracking problem of the two-DOF SCARA robot that is described Equations (3)–(6) was considered. The purpose of the controllers was to save energy by minimizing the forces that are required to move the two-DOF SCARA robot. Please note that in all the simulations, the sat function was considered. This implies that the reaching law (Equation (12)) used the sat function instead of the sign function.
Under this scenario, the initial positions of articulations 1 and 2 were 0 and 0, respectively. The reference trajectory was proposed as a periodic form, as is shown in the next equation:
q d = [ q 1 d q 2 d ] = [ 0.5 sin ( 1.25 t ) 0.5 sin ( 1.25 t ) ]  
The physical restrictions should be considered at this point to select the β and ξ since they are critical for the speed and stability of system response, i.e., u u max . The reference trajectory (Equation (47)) was evaluated because it was evaluated by many previous studies and other reference trajectories that are different from Equation (47) could be evaluated with similar results.

5.1. Optimization of a Sliding Mode Controller for a Two-DOF SCARA Robot Using the Simplex Algorithm

As a comparison, the SMC with the Simplex algorithm of [37,38] is considered. In order to save energy by minimizing the forces in the proposed controller, optimization was carried out to find the values of the gains β = d i a g ( β 1 ,   β 2 ) and ξ = d i a g ( ξ 1 ,   ξ 2 ) using the Simplex algorithm. The optimization process for the proposed sliding mode controller was carried out offline. According to the description of the Simplex algorithm, the optimization started with the initial values of the gains as β 1 = d i a g ( 10 ,   10 ) and ξ 1 = d i a g ( 10 ,   10 ) and the parameters described in Table 1, which were evaluated using the SMC that is described by Equations (21) and (22). Hence, if the objective function was able to save energy by minimizing the forces with the Simplex algorithm that is described by Equation (46) for the gains β = d i a g ( β 1 ,   β 2 ) = d i a g ( x b 1 ,   x b 2 ) and with the Simplex algorithm that is described by Equation (46) for the gains ξ = d i a g ( ξ 1 ,   ξ 2 ) = d i a g ( x p 1 ,   x p 2 ) , then the best values were selected and stored. After using the Simplex algorithm, the best values of the gains β = d i a g ( β 1 ,   β 2 ) = d i a g ( x b 1 ,   x b 2 ) and ξ = d i a g ( ξ 1 ,   ξ 2 ) = d i a g ( x p 1 ,   x p 2 ) were used in the SMC that is described by Equations (21) and (22) for the position-tracking problem of the two-DOF SCARA robot that is described by Equations (3)–(6).

5.2. Optimization of a Sliding Mode Controller for a Two-DOF SCARA Robot Using the Bat Algorithm

The SMC with the Bat algorithm of this study is shown in Figure 3. In order to save energy by minimizing the forces in the proposed controller, optimization was carried to find the values of the gains β = d i a g ( β 1 ,   β 2 ) and ξ = d i a g ( ξ 1 ,   ξ 2 ) using the Bat algorithm. The optimization process for the proposed sliding mode controller was carried out offline. According to the description of the Bat algorithm, the optimization started with the initial values of the gains as β 1 = d i a g ( 10 ,   10 ) and ξ 1 = d i a g ( 10 ,   10 ) and the parameters described in Table 2, which were evaluated in the SMC that is described by Equations (21) and (22). Hence, if the objective function was able to save energy by minimizing the forces with the Bat algorithm that is described by Equations (27)–(39), and (43) for the gains β = d i a g ( β 1 ,   β 2 ) = d i a g ( x b 1 ,   x b 2 ) and with the Bat algorithm that is described by Equations (27)–(36), (40)–(42), and (44) for the gains ξ = d i a g ( ξ 1 ,   ξ 2 ) = d i a g ( x p 1 ,   x p 2 ) , then the best values were selected and stored. After using the Bat algorithm, the best values of the gains β = d i a g ( β 1 ,   β 2 ) = d i a g ( x b 1 ,   x b 2 ) and ξ = d i a g ( ξ 1 ,   ξ 2 ) = d i a g ( x p 1 ,   x p 2 ) were used in the SMC that is described by Equations (21) and (22) for the position-tracking problem of the two-DOF SCARA robot that is described by Equations (3)–(6).

6. Discussion

The evolution of the gain values of the SMC with the Simplex algorithm is shown in Figure 4, where the end values of the gains were β = d i a g ( x b 1 ,   x b 2 ) = d i a g ( 42.1275 ,   26.0464 ) and ξ = d i a g ( x p 1 ,   x p 2 ) = d i a g ( 40.0146 ,   69.9986 ) . The gains that were obtained from the optimization process of the Simplex algorithm were implemented in the SMC for a two-DOF SCARA robot. The response regarding the position-tracking problem of the SMC with the Simplex algorithm in Equation (46) for a two-DOF SCARA robot that is described by Equations (3)–(6), which is denoted as Simplex, is shown in Figure 5, Figure 6 and Figure 7 for the evolution of the forces u 1 and u 2 , the joint positions q 1 and q 2 , and the joint velocities q d 1 and q d 2 , respectively.
The evolution of the gain values of the SMC with the Bat algorithm is shown in Figure 4, where the end values of the gains were β = d i a g ( x b 1 ,   x b 2 ) = d i a g ( 16.5605 ,   17.4366 ) and ξ = d i a g ( x p 1 ,   x p 2 ) = d i a g ( 10.0112 ,   10.3736 ) . The gains that were obtained from the optimization process of the Bat algorithm were implemented in the SMC for a two-DOF SCARA robot. The response regarding the position-tracking problem of the SMC with the Bat algorithm that is described in Equations (21), (22), and (27)–(44) for a two-DOF SCARA robot that is described in Equations (3)–(6), which was denoted as Bat, is shown in Figure 5, Figure 6 and Figure 7 for the evolution of the forces u 1 and u 2 , the joint positions q 1 and q 2 , and the joint velocities q d 1 and q d 2 , respectively.
The RMSEs of the position errors e 1 and e 2 of Equation (48) and the forces u 1 and u 2 in Equation (48) for the position-tracking problem of the two-DOF SCARA robot that was solved using the SMC with the Simplex algorithm that is described in Equations (21), (22), and (46), which is denoted as Simplex, and by using the SMC with the Bat algorithm in Equations (21), (22), and (27)–(44), which is denoted as Bat, are shown in Table 3.
  R M S E e 1 = 1 10 e 1 2 d t R M S E e 2 = 1 10 e 2 2 d t R M S E u 1 = 1 10 u 1 2 d t R M S E u 2 = 1 10 u 2 2 d t
In some cases, the gains for the sliding mode controller were acquired according to the experience of controller designers and simulations. However, the tuning process is sometimes hard and complex due to certain processes, systems, or particular situations. Recent works that are discussed at the beginning of this work presented several techniques to save energy by minimizing the forces; however, they require the tuning of several gains. Thus, other advances proposed adaptation laws as a response to save energy by minimizing the forces in complicated processes with multiple conditions; however, they require that the process or system present motion or load changes throughout their operation since they start from certain initial gains. The magnitudes of the forces depend on a correct selection of sliding mode controller gains. Hence, the methodology that is presented in this paper helps to find the gains using the Bat algorithm, which requires few iterations and a small population, i.e., the required forces are minimized and energy is saved; moreover, it is simple, flexible, and easy to implement. The results show an improvement in the minimization of the forces. Although there were favorable results when using this methodology, it should be applied offline since this requires a minimum number of interactions to optimize. Finally, this feature can be considered as a disadvantage for some systems but an attractive solution for other systems.

7. Conclusions

The design of a sliding mode controller with a reaching law was proposed for a two-DOF SCARA robot. Sliding mode control is a robust control technique thatis used due to its resistance against parametric variation and external disturbances. However, the resulting big forces require high amounts of energy. In order to save energy by minimizing the forces, optimization of the sliding mode controller gains usingthe Bat algorithm was implemented. The SMC was simulated and the phase plane for the errors and their derivative positions of each link of a two-DOF SCARA robot was presented. In the simulation, the behavior of the forces was foundfor the position-tracking problem. Then, a simulation of the SMC that used the Bat algorithm for optimizationwas designed and implemented. Lastly, the simulation of the proposed controller showed an improvement with regard to saving energy by minimizing the forces in the position-tracking problem for a two-DOF SCARA robot. In the future, differential evolution or genetic algorithms will be compared with the Bat algorithm and experimental results will be shown.

Author Contributions

Investigation and formal analysis, L.A.S., J.d.J.R., E.O., and D.A.C.; software and validation, G.O., R.B., and D.R.C.; writing—original draft, review, and editing, J.A.M.-C., A.Z., and G.J.G. All authors have read and agreed to the published version of the manuscript.

Funding

This article received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Acknowledgments

The authors are grateful to the guest editor and reviewers for their valuable comments and insightful suggestions, which helped to significantly improve this article. The authors also thank the Instituto Politécnico Nacional, Secretaría de Investigación y Posgrado, Comisión de Operación y Fomento de Actividades Académicas, and Consejo Nacional de Ciencia y Tecnología for their support.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Benbouhenni, H.; Bizon, N. Improved Rotor Flux and Torque Control Based on the Third-Order Sliding Mode Scheme Applied to the Asynchronous Generator for the Single-RotorWind Turbine. Mathematics 2021, 9, 2297. [Google Scholar] [CrossRef]
  2. Solodusha, S.; Bulatov, M. Integral Equations Related to Volterra Series and Inverse Problems: Elements of Theory and Applications in Heat Power Engineering. Mathematics 2021, 9, 1905. [Google Scholar] [CrossRef]
  3. Le, T.D.; Kang, H.-J.; Suh, Y.-S. Chattering-Free Neuro-Sliding Mode Control of 2-DOF Planar Parallel Manipulators. Int. J. Adv. Robot. Syst. 2013, 10, 22. [Google Scholar] [CrossRef]
  4. Dal, M.; Teodorescu, R. Sliding Mode Controller Gain Adaptation and Chattering Reduction Techniques for DSP-Based PM DC Motor Drives. Turk. J. Electr. Eng. Comput. Sci. 2011, 19, 532–549. [Google Scholar]
  5. Swathi, K.; Kumar, G.V.N. Design of intelligent controller for reduction of chattering phenomenon in robotic arm: A rapid prototyping. Comput. Electr. Eng. 2019, 74, 483–497. [Google Scholar] [CrossRef]
  6. Ferrara, A.; Incremona, G.P.; Sangiovanni, B. Tracking control via switched Integral Sliding Mode with application to robot manipulators. Control. Eng. Pr. 2019, 90, 257–266. [Google Scholar] [CrossRef] [Green Version]
  7. Kali, Y.; Saad, M.; Benjelloun, K.; Khairallah, C. Super-twisting algorithm with time delay estimation for uncertain robot manipulators. Nonlinear Dyn. 2018, 93, 557–569. [Google Scholar] [CrossRef]
  8. Jing, C.; Xu, H.; Niu, X. Adaptive sliding mode disturbance rejection control with prescribed performance for robotic manipulators. ISA Trans. 2019, 91, 41–51. [Google Scholar] [CrossRef]
  9. Vijay, M.; Jena, D. PSO based neuro fuzzy sliding mode control for a robot manipulator. J. Electr. Syst. Inf. Technol. 2017, 4, 243–256. [Google Scholar] [CrossRef] [Green Version]
  10. Cibiraj, N.; Varatharajan, M. Chattering reduction in sliding mode control of quadcopters using neural networks. Energy Procedia 2017, 117, 885–892. [Google Scholar] [CrossRef]
  11. Ba, D.X.; Bae, J. A Precise Neural-Disturbance Learning Controller of Constrained Robotic Manipulators. IEEE Access 2021, 9, 50381–50390. [Google Scholar]
  12. Mobayen, S.; Mofid, O.; Din, S.U.; Bartoszewicz, A. Finite-Time Tracking Controller Design of Perturbed Robotic Manipulator Based on Adaptive Second-Order Sliding Mode Control Method. IEEE Access 2021, 9, 71159–71169. [Google Scholar] [CrossRef]
  13. Song, T.; Fang, L.; Wang, H. Model-free finite-time terminal sliding mode control with a novel adaptive sliding mode observer of uncertain robot systems. Asian J. Control 2021, in press. [Google Scholar] [CrossRef]
  14. Xu, Z.; Huang, W.; Li, Z.; Hu, L.; Lu, P. Nonlinear Nonsingular Fast Terminal Sliding Mode Control Using Deep Deterministic Policy Gradient. Appl. Sci. 2021, 11, 4685. [Google Scholar] [CrossRef]
  15. González-García, J.; Narcizo-Nuci, N.; García-Valdovinos, L.; Salgado-Jiménez, T.; Gómez-Espinosa, A.; Cuan-Urquizo, E.; Cabello, J. Model-Free High Order Sliding Mode Control with Finite-Time Tracking for Unmanned Underwater Vehicles. Appl. Sci. 2021, 11, 1836. [Google Scholar] [CrossRef]
  16. Yang, X.-S. A New Metaheuristic Bat-Inspired Algorithm. In Nature Inspired Cooperative Strategies for Optimization (NICSO 2010); Springer: Berlin/Heidelberg, Germany, 2010; pp. 65–74. [Google Scholar]
  17. Yang, X.-S.; He, X. Bat algorithm: Literature review and applications. Int. J. Bio-Inspired Comput. 2013, 5, 141–149. [Google Scholar] [CrossRef] [Green Version]
  18. Chen, S.-Y.; Yang, B.-C.; Pu, T.-A.; Chang, C.-H.; Lin, R.-C. Active Current Sharing of a Parallel DC-DC Converters System Using Bat Algorithm Optimized Two-DOF PID Control. IEEE Access 2019, 7, 84757–84769. [Google Scholar] [CrossRef]
  19. Haji, V.H.; Monje, C.A. Fractional-order PID control of a MIMO distillation column process using improved bat algorithm. Soft Comput. 2018, 23, 8887–8906. [Google Scholar] [CrossRef]
  20. Huang, H.-C. Fusion of Modified Bat Algorithm Soft Computing and Dynamic Model Hard Computing to Online Self-Adaptive Fuzzy Control of Autonomous Mobile Robots. IEEE Trans. Ind. Inform. 2016, 12, 972–979. [Google Scholar] [CrossRef]
  21. Maroufi, O.; Choucha, A.; Chaib, L. Hybrid fractional fuzzy PID design for MPPT-pitch control of wind turbine-based bat algorithm. Electr. Eng. 2020, 102, 2149–2160. [Google Scholar] [CrossRef]
  22. Pan, Z.; Quynh, N.V.; Ali, Z.; Dadfar, S.; Kashiwagi, T. Enhancement of maximum power point tracking technique based on PV-Battery system using hybrid BAT algorithm and fuzzy controller. J. Clean. Prod. 2020, 274, 123719. [Google Scholar] [CrossRef]
  23. Premkumar, K.; Manikandan, B. Bat algorithm optimized fuzzy PD based speed controller for brushless direct current motor. Eng. Sci. Technol. Int. J. 2016, 19, 818–840. [Google Scholar] [CrossRef] [Green Version]
  24. Rahmani, M.; Ghanbari, A.; Ettefagh, M.M. Robust adaptive control of a bio-inspired robot manipulator using bat algorithm. Expert Syst. Appl. 2016, 56, 164–176. [Google Scholar] [CrossRef]
  25. Rahmani, M.; Komijani, H.; Ghanbari, A.; Ettefagh, M.M. Optimal novel super-twisting PID sliding mode control of a MEMS gyroscope based on multi-objective bat algorithm. Microsyst. Technol. 2018, 24, 2835–2846. [Google Scholar] [CrossRef]
  26. Soto, R.; Crawford, B.; Olivares, R.; Niklander, S.; Johnson, F.; Paredes, F.; Olguín, E. Online control of enumeration strategies via bat algorithm and black hole optimization. Nat. Comput. 2017, 16, 241–257. [Google Scholar] [CrossRef]
  27. Talbi, N. Design of Fuzzy Controller rule base using Bat Algorithm. Energy Procedia 2019, 162, 241–250. [Google Scholar] [CrossRef]
  28. Rossomando, F.G.; Soria, C.M. Adaptive Neural Sliding Mode Control in Discrete Time for a SCARA robot arm. IEEE Lat. Am. Trans. 2016, 14, 2556–2564. [Google Scholar] [CrossRef]
  29. Kelly, R.; Santibáñez, V.; Loría, A. Control of Robot Manipulators in Joint Space. In Advanced Textbooks in Control and Signal Processing; Springer: London, UK, 2005; ISBN 978-1-85233-994-4. [Google Scholar]
  30. Hung, J.Y.; Gao, W.; Hung, J.C. Variable structure control: A survey. IEEE Trans. Ind. Electron. 1993, 40, 2–22. [Google Scholar] [CrossRef] [Green Version]
  31. Arciuolo, T.F.; Faezipour, M. PID++: A Computationally Lightweight Humanoid Motion Control Algorithm. Sensors 2021, 21, 456. [Google Scholar] [CrossRef]
  32. Li, Y.; Wang, D.; Zhou, S.; Wang, X. Intelligent Parameter Identification for Robot Servo Controller Based on Improved Integration Method. Sensors 2021, 21, 4177. [Google Scholar] [CrossRef]
  33. Martinez, D.I.; De Rubio, J.J.; Vargas, T.M.; Garcia, V.; Ochoa, G.; Balcazar, R.; Cruz, D.R.; Aguilar, A.; Novoa, J.F.; Aguilar-Ibanez, C. Stabilization of Robots with a Regulator Containing the Sigmoid Mapping. IEEE Access 2020, 8, 89479–89488. [Google Scholar] [CrossRef]
  34. Martinez, D.; Rubio, J.; Garcia, V.; Vargas, T.; Islas, M.; Pacheco, J.; Gutierrez, G.; Meda-Campaña, J.; Mujica-Vargas, D.; Aguilar-Ibañez, C. Transformed Structural Properties Method to Determine the Controllability and Observability of Robots. Appl. Sci. 2021, 11, 3082. [Google Scholar] [CrossRef]
  35. Berardi, M.; D’Abbicco, M.A. Critical Case for the Spiral Stability for 2x2 Discontinuous Systems and an Application to Recursive Neural Networks. Mediter. J. Math. 2016, 13, 4829–4844. [Google Scholar] [CrossRef]
  36. Difonzo, F.V. A note on attractivity for the intersection of two discontinuity manifolds. Opusc. Math. 2020, 40, 685–702. [Google Scholar] [CrossRef]
  37. Lee, Y.; Resiga, A.; Yi, S.; Wern, C. The Optimization of Machining Parameters for Milling Operations by Using the Nelder–Mead Simplex Method. J. Manuf. Mater. Process. 2020, 4, 66. [Google Scholar] [CrossRef]
  38. Visuthirattanamanee, R.; Sinapiromsaran, K.; Boonperm, A.-A. Self-Regulating Artificial-Free Linear Programming Solver Using a Jump and Simplex Method. Mathematics 2020, 8, 356. [Google Scholar] [CrossRef] [Green Version]
  39. Angeles, J.; Caro, S.; Khan, W.; Morozov, A. Kinetostatic Design of an Innovative Schönflies-Motion Generator. Proc. Inst. Mech. Eng. Part C J. Mech. Eng. Sci. 2006, 220, 935–943. [Google Scholar] [CrossRef] [Green Version]
  40. Di Gregorio, R.; Cattai, M.; Simas, H. Performance-Based Design of the CRS-RRC Schoenflies-Motion Generator. Robotics 2018, 7, 55. [Google Scholar] [CrossRef] [Green Version]
Figure 1. A two-DOF SCARA robot.
Figure 1. A two-DOF SCARA robot.
Mathematics 09 03160 g001
Figure 2. Sliding mode controller for a two-DOF SCARA robot.
Figure 2. Sliding mode controller for a two-DOF SCARA robot.
Mathematics 09 03160 g002
Figure 3. Sliding mode controller with the Bat algorithm for a two-DOF SCARA robot.
Figure 3. Sliding mode controller with the Bat algorithm for a two-DOF SCARA robot.
Mathematics 09 03160 g003
Figure 4. Evolution of the gain values.
Figure 4. Evolution of the gain values.
Mathematics 09 03160 g004
Figure 5. Evolution of the forces.
Figure 5. Evolution of the forces.
Mathematics 09 03160 g005
Figure 6. Evolution of the joint positions.
Figure 6. Evolution of the joint positions.
Mathematics 09 03160 g006
Figure 7. Evolution of the joint velocities.
Figure 7. Evolution of the joint velocities.
Mathematics 09 03160 g007
Table 1. Simplex algorithm parameters.
Table 1. Simplex algorithm parameters.
ParameterSymbolValue
Minimum gain value β min 0
Maximum gain value β max 100
Minimum gain value ξ min 0
Maximum gain value ξ max 100
Table 2. Bat algorithm parameters.
Table 2. Bat algorithm parameters.
ParameterSymbolValue
Loudness α 0.9
Pulse rate γ 0.9
Minimum frequency f r min 0.0
Maximum frequency f r max 100
Minimum gain value β min 0
Maximum gain value β max 100
Minimum gain value ξ min 0
Maximum gain value ξ max 100
Table 3. Performance of the SMC.
Table 3. Performance of the SMC.
RMSEu1RMSEu2RMSEe1RMSEe2
Simplex214.269685.33282.1358 × 10−52.1445 × 10−5
Bat203.809778.61262.0201 × 10−52.0223 × 10−5
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Soriano, L.A.; Rubio, J.d.J.; Orozco, E.; Cordova, D.A.; Ochoa, G.; Balcazar, R.; Cruz, D.R.; Meda-Campaña, J.A.; Zacarias, A.; Gutierrez, G.J. Optimization of Sliding Mode Control to Save Energy in a SCARA Robot. Mathematics 2021, 9, 3160. https://doi.org/10.3390/math9243160

AMA Style

Soriano LA, Rubio JdJ, Orozco E, Cordova DA, Ochoa G, Balcazar R, Cruz DR, Meda-Campaña JA, Zacarias A, Gutierrez GJ. Optimization of Sliding Mode Control to Save Energy in a SCARA Robot. Mathematics. 2021; 9(24):3160. https://doi.org/10.3390/math9243160

Chicago/Turabian Style

Soriano, Luis Arturo, José de Jesús Rubio, Eduardo Orozco, Daniel Andres Cordova, Genaro Ochoa, Ricardo Balcazar, David Ricardo Cruz, Jesus Alberto Meda-Campaña, Alejandro Zacarias, and Guadalupe Juliana Gutierrez. 2021. "Optimization of Sliding Mode Control to Save Energy in a SCARA Robot" Mathematics 9, no. 24: 3160. https://doi.org/10.3390/math9243160

APA Style

Soriano, L. A., Rubio, J. d. J., Orozco, E., Cordova, D. A., Ochoa, G., Balcazar, R., Cruz, D. R., Meda-Campaña, J. A., Zacarias, A., & Gutierrez, G. J. (2021). Optimization of Sliding Mode Control to Save Energy in a SCARA Robot. Mathematics, 9(24), 3160. https://doi.org/10.3390/math9243160

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