Proceedings of the 3rd RSI International Conference on Robotics and Mechatronics October 7-9, 2015, Tehran, Iran
Sliding Mode Control Design with Adaptable Gains for Robotic Manipulators Moharam Habibnejad Korayem, Reza Shiri and Saeed Rafee Nekoo Robotic Research Laboratory, School of Mechanical Engineering Iran University of Science and Technology (IUST), 1684613114, Tehran, Iran Emails:
[email protected];
[email protected];
[email protected] sum of squares of control signal and sliding surface function [6]. Perk et al. employed an adaptive approach to set the gains [7]. Abdolhameed et al. used fuzzy method to enhance the performance and reduce the chattering [8]. Huang et al. designed an adaptive sliding mode controller assuming that bound of uncertainty was known [9]. Roh and Oh introduced SMC method for uncertain systems with input delay [10]. In this present article, a general approach is proposed to define control gains based on dynamic of system evaluating modeling uncertainty. The generated gains are time-varying; they adapt to system and reduce the input law significantly regarding the sliding condition as a framework. In order to compute the control gains, the maximum value of inverse of inertia matrix is necessary. The structure of sliding mode controller is presented regarding a mild assumption. The rest of the paper is set as follows. Section II expresses the controller’s structure and gain adaptation methods. In Section III implementation of the proposed method for robotic arms is presented. Section IV reveals the simulation results for an SCARA robot in regulation (point-to-point motion). Conclusions and summary are presented in Section V.
Abstract—Uncertainty in manipulators is rooted in two factors: error of measurement and parameters uncertainty of dynamics; Hence it is necessary to include it in control design. Sliding mode control (SMC) is a proper approach for controlling uncertain systems. SMC regulates system’s states to a desired dynamics, defined by sliding surface. Gains of control law determine the rate of movement towards sliding surface or maintaining on it. Low value of gains make error and high value of that results in chattering effect. In this paper, a general method is introduced to provide an adaptive gain for the SMC controller based on dynamics of model including its uncertainty in the structure for multi-input-multi-output (MIMO) systems. The structure is expressed for two types of corrective functions: sign and inverse tangent functions. The application of the adaptive SMC is implemented on manipulators in a general manner. An SCARA robot is selected for simulation study showed significant improvement in comparison with conventional SMC. Keywords—Sliding mode control; Adaptable gains; Robotics; Manipulators; Chattering.
I.
INTRODUCTION
Manipulation is a main and frequent task for a robot arm. During a manipulation, parameters of dynamics change which causes uncertainty. Robust nature of SMC method makes it a good choice for this procedure. Wang and Jin used genetic algorithm to define gain of SMC as an optimal approach [1]. Tong and Li proposed adaptive fuzzy controller based on SMC method for MIMO systems [2]. Korayem et al. computed the gain of SMC with the aim of optimal control and compared it with state-dependent Riccati equation controller [3]. When states are laid on the sliding surface, discontinuous part of the SMC’s input law meets zero. Imprecise selection of gains and probably choosing them excessively to be on the safe side, results in extravagant actuation. In an event of violating the sliding condition caused by disturbance or modeling uncertainty, that extra actuation leads to large rambling for control law (outside of sliding surface) and enhances the chattering phenomenon. Wong et al. proposed an algorithm to avoid chattering [4]. Based on the proposed technique, discontinuous control part was eliminated when states had been near the sliding surface. Roopaie and Jahromi introduced a chattering free sliding mode controller for MIMO uncertain systems [5]. Ertugrul et al. determined adaptive gain of SMC method via calculating
978-1-4673-7234-3/15/$31.00 ©2015 IEEE
II.
SLIDING MODE CONTROL FOR MIMO SYSTEMS
A. Formulation of controller Consider a nonlinear system with n independent variables q1 ,..., qn in the class of: n×1 = f (q , q ) + B(q , q ) u, q
(1)
where q ∈ ℜn is generalized coordinates of dynamic system, q ∈ ℜ n is time-derivative of that, u ∈ ℜ n is control input, f (q , q ) : ℜ n → ℜ n and B (q , q ) : ℜ n → ℜ n× n ; emphasizes on
that there is an actuator for each link and system is not underactuated. The state vector is selected as x 2 n×1 = [qT q T ]T to represent (1) in state-space form as:
[
x = x n+1 ,..., x 2 n , f T ( x)
]
T
+ [01×n , B T (x)]T u.
(2)
Desired output vector is set as x des = [qTdes q Tdes ]T ; hence error vector and its derivative are shaped as e n×1 ( x) = q − q des and e n×1 ( x) = q − q des . Next step is to define sliding surface
037
(3)
s n×1 (x) = e ( x) + ȁ n× ne(x),
for i, j = 1 , 2 ,! , n . Substituting nominal matrix and vector of system in (7), control law is rewritten as:
where ȁ n× n is diag (λ1 ,..., λn ) with strictly positive λi and the scalar form of that is si ( x) = ei ( x) + λi ei (x) for i = 1 , 2,..., n . Equation (3) is known as sliding surface vector and each si (x) represents a locus in phase plan. The goal is to find a control law to lead the states towards sliding surface and keep them there. When states are laid on sliding surface, solution to (3) results in e(x) for all t ∈ [0, ∞) . When states are outside the sliding surface, control law will lead them to that and then it will be logarithmic decay with time constant ( λi ) towards zero. A condition that makes the states move towards sliding surface is known as sliding condition: 1 d 2 si ≤ −ηi si , 2 dt
(ηi > 0),
for
ˆ −1 (x)(q r − fˆ ( x) − K (x) × sgn(s( x))). u=B
Now the question is how to set K ( x) to handle uncertainty with regards to sliding condition (4); it will be addressed in next section. B. Adaptation of K ( x) with “sign” Correction Function Computing time-derivative of sliding surface (3) and substituting (1) and (10) in s ( x) result in r − fˆ ( x)) − (I + ǻ)(K (x) sgn(s( x)), s ( x) = f (x) − fˆ ( x) + ǻ(q
si (x) = f i (x) − fˆi (x) +
in which ηi is strictly positive constant. The maximum time
n
¦ k (x)Δ
can be seen that increase in ηi reduces tri or makes a faster response; and it also expresses that larger distance from sliding surface enlarge tri . To extract the input law, s = 0 is will be appeared in s , substituting (1) in calculated. Since q s = 0 and extracting u result:
j
(
)
n
¦ k ( x) Δ j
ij
)
(
)
sgn s j (x) ≥
· Δij qrj − fˆ j (x) ¸ + ηi si (x) . ¸ j =1 ¹
¦ (
)
n
(13)
In order to maximize the right hand side of (13), absolute of that is computed. Using (8) and (9), putting maximum parameters in them and finally dividing (13) by si (x) , the final form of (13) is gained: n
¦ k ( x) Δ
ki (x)(1 + Δ ii ) + sgn (si (x) )
j
j ≠i
n
Fi (x) +
¦
ij
(
)
sgn s j (x) ≥
(14)
Dij qrj − fˆ j ( x) + η i .
j =1
The exact value of f ( x) and B(x) are not available regarding uncertainty of the modeling; though the bound of uncertainty is assessable such as [11]:
Equation (14) should be expanded to form: 1 + Δ11 Δ12 sgn(s1 )sgn(s2 ) ª «Δ sgn(s )sgn(s ) 1 + Δ22 2 1 « 21 « # # « « Δi1 sgn(si )sgn(s1 ) Δi 2 sgn(si )sgn(s2 ) « # # « ¬«Δn1 sgn(sn )sgn(s1 ) Δn2 sgn(sn )sgn(s2 )
(8)
and its scalar form is represented as fˆi (x) − f i ( x) ≤ Fi ( x) for i = 1 , 2 ,! , n in which fˆi (x ) is nominal value of f i (x ) and F (x ) is the maximum bound of f (x ) respect to fˆ (x ) .
" Δ1i sgn(s1 )sgn(si ) " Δ2i sgn(s2 )sgn(si ) % # " 1 + Δii " # " Δni sgn(sn )sgn(si )
ª k1(x) º ª F1(x) º ª D11 «k (x)» «F (x)» «D « 2 » « 2 » « 21 « # » « # » « # »+« »≥« « « ki (x) » « Fi (x) » « Di1 « # » « # » « # » « » « « «¬kn (x)»¼ «¬Fn (x)»¼ «¬ Dn1
i
Similarly consider ˆ (x ), B (x ) = (I + ǻ )B
(
(12)
sgn s j ( x) − ki (x)(1 + Δ ii )sgn (si (x) ),
§ si (x) f i (x) − fˆi (x) + si (x)¨ ¨ ©
(7)
i
− fˆ j ( x) −
rj
j ≠i
where K n× n (x) = diag(k1 (x) k2 ( x) " k n ( x)) is the control gain to be designed. The overall control obtained as:
i
ij
ki (x)(1 + Δ ii ) si (x) + si (x)
(6)
fˆ ( x) − f ( x) ≤ F( x),
)
n
in which ki ( x) is the diagonal elements of K (x ) . Inserting (12) in (4) and simplification generate:
r = q des − ȁe (x) . Control law (5) keeps the states on where q sliding surface and therefore it guides the system to track desired output vector. Generally, states are not in sliding surface and an additional discontinuous input enforces them to reach the sliding surface:
r − f ( x) − K (x) × sgn(s( x))). u = B −1 (x)(q
ij
j ≠i
(5)
u corr = B −1 ( x)(− K ( x) × sgn(s(x)) ),
¦ Δ (q j =1
for states to reach sliding surface is found by tri ≤ si (0) / ηi . It
r − f ( x)), u eq = B −1 ( x)(q
(11)
and its scalar form is in the form of:
(4)
i = 1, 2, ..., n,
(10)
(9)
where Bˆ (x ) is nominal value of B(x ) and ǻ introduces deviation of uncertainty from nominal value for B(x ) . The
" Δ1n sgn(s1 )sgn(sn ) º " Δ2n sgn(s2 )sgn(sn )»» » " # »× " Δin sgn(si )sgn(sn ) » » % # » " 1 + Δnn ¼»
D12 " D1i " D1n º ª qr1 − fˆ1(x) º ªη1 º » « D22 " D2i " D2n »» « qr 2 − fˆ2 (x) » ««η2 »» » « » « # % # " # »« # » + « # ». » Di 2 " Dii " Din » « qri − fˆi (x) » «ηi » » « » « # " # % # »« # » «#» »« Dn2 " Dni " Dnn »¼ qrn − fˆn (x) » «¬ηn »¼ ¼» ¬«
We name the left hand side of Eq. (15) as Ȗ (x) :
maximum value of each elements of ǻ is defined as Δ ij < Dij
038
(15)
ª γ 1 (x) º ª F1 ( x) º ª D11 «γ (x) » « F (x) » « D « 2 » « 2 » « 21 « # » « # » « # « »=« »+« « γ i (x) » « Fi (x) » « Di1 « # » « # » « # « » « » « ¬«γ n (x)¼» ¬« Fn (x)¼» ¬« Dn1
D12
" D1i
D22
" D2i
#
%
#
Di 2
"
Dii
#
"
#
Dn 2
" Dni
" D1n º ª qr1 − fˆ1 (x) º ªη1 º « » " D2 n »» « qr 2 − fˆ2 (x) » ««η 2 »» « » « » " # »« # » + « # », »« ˆ " Din » qri − f i (x) » «η i » « » « » % # »« # » «#» »« " Dnn ¼» qrn − fˆn ( x) » ¬«η n ¼» ¬« ¼»
C. Adaptation of K ( x) with “Inverse Tangent” Torrection Function Changing the “sign” function to “inverse tangent” function in (10) results in
(16)
ˆ −1 (x)(q r − fˆ ( x) − K ( x) arctan(s( x))). u=B
where
Computing si ( x) and replacing it in sliding condition (4) provides:
γ i ( x) = Δ i1 sgn (si (x) )sgn (s1 (x) )k1 (x) +
Δ i 2 sgn (si ( x) )sgn (s2 (x) )k 2 (x) + " + (1 + Δ ii )k i ( x) +
" Δ in sgn (si (x) )sgn (s n (x) )k n (x).
(17)
¦ (
Tacking absolute of (21) simplification, redesign (21) as:
ki ( x) by moving k j (x) to right hand side of (17). Then Eq.
n
(1 + Δ ii )ki (x) = γ i (x) + Di1k1 (x) + Di 2 k2 (x) + " + Din k n (x) = ξi (x).
si ( x )
j ≠i
j =1
¦ k ( x)Δ
§ ¨ ª F1 (x) º ª D11 ¨« » « ¨ « F2 (x) » « D21 ¨« # » « # ר« »+« ¨ « Fi (x) » « Di1 ¨« # » « # ¨« » « ¨¨ ¬« Fn (x)¼» ¬« Dn1 ©
" %
− D1i − D2i #
" " "
" 1 − Dii " "
#
%
"
− Dni
"
D12 " D1i D22 " D2i # Di 2 #
%
#
" Dii "
#
Dn 2 " Dni
j
ij
arctan(si (x)) ≥ si ( x) f i (x) − fˆi ( x) +
¦ Δ (q n
si ( x )
ij
rj
(22)
)
− fˆ j (x) + η i si ( x) ,
j =1
where si ( x) arctan(si ( x)) > 0 ; so it can be rewritten as si ( x) arctan(si (x)) . Similar methodology of Section 2-2 changes (22) to:
(18)
k i ( x)(1 + Δ ii ) arctan(si (x)) + n
which the expansion of (18) shows: "
and
ki ( x )
j ≠i
Regarding that Δ ii vary between − Dii and Dii , coefficient of ki ( x) changes between (1 − Dii ) and (1 + Dii ) which both of them are positive, though (1 − Δ ii ) should be used as the coefficient of Δ ii . This approach for other rows could be applied to provide: n
excluding
ki ( x) (1 + Δ ii ) si (x) arctan(si (x)) +
(17) reforms to
n
(21)
¦
maximize ki ( x) . It should be noted that γ i (x) and each element of ki ( x) are positive. If sign of each coefficient of k j (x) for j = 1 , 2 , " , n; j ≠ i was negative, it would maximize
(1 − Dii )ki (x) − ¦ k j (x) Dij ≥ Fi (x) + ¦ Dij qrj − fˆj (x) + ηi ,
)
n § · ¨ f i ( x) − fˆi (x) + ¸ Δ ij qrj − fˆ j ( x) − ¨ ¸ j =1 si (x)¨ n ¸ ¨ ¸ ¨ k j (x)Δ ij arctan(si ( x)) − k i (x)(1 + Δ ii )arctan(si (x)) ¸ © j ≠i ¹ ≤ −η i si (x) .
Diagonal elements of gain matrix k1 ( x),..., kn ( x) vary between − Dij and Dij for j = 1 , 2 , " , n ; whilst the goal is to
ª k1 (x) º ª1 − D11 − D12 « » « «k2 (x) » « − D21 1 − D22 « # » « # # « »≥« − Di 2 « ki (x) » « − Di1 « # » « # # « » « ¬«kn (x)¼» ¬« − Dn1 − Dn 2
(20)
sgn( si (x)) − D1n º » − D2 n » # » » − Din » # » » 1 − Dnn »¼
¦k
j ( x) Δ ij
(23)
arctan(si (x)) ≥
j ≠i
−1
n
Fi (x) +
¦D
ij
qrj − fˆ j ( x) + η i .
j =1
Expanding (23) yields: ª k1 ( x) « « k 2 ( x) « « « ki ( x ) « « ¬«k n ( x)
· ˆ ª º " D1n º « qr1 − f1 ( x) » ªη1 º ¸ ¸ " D2 n »» « qr 2 − fˆ2 (x) » ««η2 »» ¸ « » " # »« » « # »¸ # + « » ¸. »« ˆ " Din » qri − fi (x) » «ηi » ¸ « » % # »« » « # »¸ # »« » « »¸ " Dnn ¼» « q − fˆ (x) » ¬«ηn ¼» ¸¸ rn n ¬ ¼ ¹
arctan(s1 ) º » arctan(s2 ) » » # »≥ arctan(si ) » » # » arctan(sn ) ¼»
(1 + Δ11 ) Δ12 sgn (s1 )sgn (s2 ) " Δ1i sgn (s1 )sgn (si ) " Δ1n sgn (s1 )sgn (sn ) º ª «Δ sgn (s )sgn (s ) (1 + Δ 22 ) " Δ 2 i sgn (s2 )sgn (si ) " Δ 2 n sgn (s2 )sgn (sn )»» 2 1 « 21 « » # # % # " # « » (1 + Δ ii ) " Δ in sgn (si )sgn (sn ) » « Δ i1 sgn (si )sgn (s1 ) Δ i 2 sgn (si )sgn (s2 ) " « » # # " # % # « » 1 + Δ nn ) ( «Δ n1 sgn (sn )sgn (s1 ) Δ n 2 sgn (sn )sgn (s2 ) " Δ ni sgn (sn )sgn (si ) " » ¬ ¼
−1
(19) The “sign” function in (10) reflects instantaneous changes respect to sign of sliding surface. As a result, severe changes in control law would be seen which is known as chattering. In order to reduce the chattering, arctan(s( x)) function could be employed instead of sgn(s( x)) . It is necessary to define the methodology of selecting K ( x) , similar to this section.
G
§ ¨ ª F1 º ª D11 ¨« » « ¨ « F2 » « D21 ¨« # » « # ר« » + « ¨ « Fi » « Di1 ¨« # » « # ¨« » « ¨¨ ¬« Fn ¼» ¬« Dn1 ©
039
· ˆ ª º D12 " D1i " D1n º « qr1 − f1 ( x) » ªη1 º ¸ ¸ D22 " D2 i " D2 n »» « qr 2 − fˆ2 ( x) » ««η 2 »» ¸ « » # % # " # »« » « # »¸ # + « » ¸. » Di 2 " Dii " Din » « qri − fˆi ( x) » «ηi » ¸ « » » # " # % # « » « # »¸ # »« » « »¸ Dn 2 " Dni " Dnn ¼» « q − fˆ (x) » ¬«η n ¼» ¸¸ rn n ¬ ¼ ¹
(24)
with respect. Based on state-space form of second order systems such as (2), is represented as q −1 = M ( x)(u − c( x) − g ( x) ) and consequently: q
Left hand side of (24) should be maximized, hence G must possess its maximum value which results in the following formula: ª k1 ( x) « « k 2 ( x) « « « k i ( x) « « ¬«k n ( x)
arctan (s1 ( x) ) º » arctan (s2 (x) ) » » # »≥ arctan (si (x) ) » » # » arctan (sn (x) ) ¼»
ª1 − D11 − D12 « « − D21 1 − D22 « # # « − Di 2 « − Di1 « # # « ¬« − Dn1 − Dn 2 § ¨ ª F1 (x) º ª D11 ¨« » « ¨ « F2 (x)» « D21 ¨« # » « # ¨« »+« ¨ « Fi (x) » « Di1 ¨« # » « # ¨« » « ¨¨ ¬« Fn (x)¼» ¬« Dn1 ©
" "
f (x ) = M −1 (x) (− c( x) − g ( x) ), B(x ) = M ( x) ,
− D1i − D2i
" "
% # " " 1 − Dii " " "
# − Dni
D12
" D1i
% "
D22 " D2i # % # Di 2 #
" Dii " #
Dn 2 " Dni
where the exact parameters of the arm is not available; though each parameter vary between a minimum and maximum bound. Nominal values of fˆ (x ) and Bˆ (x ) are defined by substituting nominal values of parameters in (28) and (29). Matrix B(x) equals to M −1 ( x) in Eq. (29), therefore it is critical to observe that B(x) should be maximized. How M (x)
−1
− D1n º » − D2n » # » » × − Din » # » » 1 − Dnn ¼» · ˆ º ª " D1n º « qr1 − f1 (x) » ªη1 º ¸ « »¸ » " D2 n » « qr 2 − fˆ2 (x) » «η 2 » ¸ » « " # »« » « # »¸ # + « » ¸. »« " Din » qri − fˆi (x) » «ηi » ¸ » « % # »« » « # »¸ # »« » « »¸ " Dnn ¼» « q − fˆ (x) » ¬«η n ¼» ¸¸ rn n ¼ ¬ ¹
need to be set to maximize M −1 ( x) ? There is not an explicit answer to this question. If we make a rough assumption that M (x) is diagonal, M −1 ( x) will be a diagonal matrix with denominator elements of M (x) . One could assume that M (x) is laid on its principle axes and M (x) rotated from them and gained non-diagonal elements. Hence we set M (x) with minimum parameters to maximize M −1 ( x) based on the proposed assumption; positive results and more discussions will be presented in simulation section. Here we define
(25)
Regarding that 0 ≤ arctan(si ( x) ) ≤ π / 2 , i-th gain ki (x)
Bmax(x) = (M−1)max = (Mmin )−1,
will be minimized when arctan(si ( x) ) = π / 2 and it will be
ˆ −1(x) − I. D = Bmax (x)B
least value of ki (x) , the final form is: − D1i − D2i # 1 − Dii # − Dni " D1i " D2 i % # " Dii " # " Dni
º » » » » " − Din » % # » » " 1 − Dnn ¼» " " "
− D1n − D2 n #
1 f (x ) = M −min ( x ) (− c max ( x ) − g max ( x ) ),
(26)
(32)
where c max ( x) and g max ( x) will be shaped by substituting maximum parameters of the system in c(x) and g (x) . Now, one can express F (x ) using (8). The control law (10) with “sign” function or (20) with “arctan” function provides control input; and the minimum gain for them can be chosen by (19) and (26) with respect.
· ˆ º ª " D1n º « qr1 − f1 ( x) » ªη1 º ¸ ¸ » « »« » " D2 n » qr 2 − fˆ2 ( x) η » « 2 »¸ « ¸ » « # " # »« » # + « » ¸. » " Din » « qri − fˆi ( x) » «ηi » ¸ » « % # »« » « # »¸ # »« » « »¸ " Dnn »¼ « q − fˆ ( x) » «¬η n »¼ ¸¸ n ¼ ¬ rn ¹
SIMULATION: SCARA ROBOT
IV.
Denavit-Hartenberg parameters of the SCARA robot were taken from [12]. The SCARA model of [12] is flexible joint, but in this work the joints were considered rigid. No-load speed and stall torque and force of actuators are expressed in Table 1.
IMPLEMENTION ON ROBATIC MANIPULATOR
The general equation representing dynamics of an arm has the form: + c(q, q ) + g(q) = u, M(q) q
(31)
Moreover vector f max (x ) regarding the above discussion results in:
−1
The minimum needed gain for tuning the SMC law in an adaptive manner can be specified using (26). Increase in ki (x) eventuate better results. III.
(30)
and therefore
maximized ( ∞ ) when arctan(si ( x) ) = 0 . In order to find the
ª1 − D11 − D12 " ª k1 ( x) º « » « « − D21 1 − D22 " « k2 ( x) » « # » 2 « # # % ≥ × « » « − Di 2 " « ki ( x) » π « − Di1 « # « # » # " » « « «¬ − Dn1 − Dn 2 " ¬« kn ( x) ¼» § ¨ ª F1 ( x) º ª D11 D12 ¨« » « ¨ « F2 ( x) » « D21 D22 ¨« # » « # # ר« »+« ¨ « Fi ( x) » « Di1 Di 2 ¨« # » « # # ¨« » « ¨¨ «¬ Fn (x) »¼ «¬ Dn1 Dn 2 ©
(28) (29)
−1
TABLE I. PARAMETERS OF ACTUATORS.
(27)
where q is the generalized coordinates of robot having either prismatic or revolute joint, M (q) is n × n inertia matrix, c n×1 (q, q ) , g n×1 (q) and u n×1 are Coriolis and centrifugal forces, gravity vector and input torque or force for actuators
Link
τ stall (ȃ.m)
ωnl (rad s)
1 2 3
104 104 300
5.6 5.6 -
To express the advantages of the proposed adaptive method, it was compared with conventional sliding mode
040
controller and adaptive sliding mode controller with “sign” function. Matrix ȁ in (3) was set as ȁ = diag[10 10 50]
2
k adaptive with arctan k adaptive with sign k constant
1.5 θ (rad) 1
for the trio, Ș = [10 10 50] for two adaptive methods (sign and arctan). The conventional SMC had constant gain for K considering the sliding condition; as a result, they were set cautiously K = diag[40 100 100] (probably more than necessary). The maximum constant parameters were set with 5% increase from nominal values and actual parameters were specified with random bound of +3.7% from nominal values. Start and end points of motion were A = (0.4 0.8 0.6) m
1 0.5 0
0
1
2
3
t (s)
Fig. 2. Angle of the first link. 0.5
and B = (0.8 − 0.2 0.4) m respectively. Using inverse kinematics equation, initial and final conditions results in
ω (rad/s)
0
T
1
x(0) = [qi ,01×3 ]T , T
x(3) = [q f ,01×3 ]T ,
-0.5 -1 k adaptive with arctan k adaptive with sign k constant
-1.5
in which
-2
q i = (1.57 0.927 0.4), q f = (0.356 1.202 0.6).
0
1
2
3
t (s)
Fig. 3. Angular velocity of the first link.
Figure 1 shows the configuration of links and trajectories by three methods. Angle and angular velocity of first link are presented in Figs. 2 and 3. Linear motion and velocity of third link are shown in Figs. 4 and 5. Diagonal arrays of SMC’s gain are illustrated in Figs. 6, 7. Also in Fig. 8, first diagonal array of M −1 ( x) with minimum, nominal and maximum parameters are shown and it can be seen that case of minimum parameters in M (x) scored maximum values in M −1 ( x) . Inputs of the second and third actuators are presented in Figs. 9 and 10.
d3 (m)
0.6 k adaptive with arctan k adaptive with sign k constant
0.5 0.4 0.3
0
1
2
3
t (s)
Fig. 4. Variation of third link. 3
1.2
1 0
1
-1
0.8 Z (m)
k adaptive with arctan k adaptive with sign k constant
2 v3 (m/s)
1.4
Start Point End Point k adaptive with arctan k adaptive with sign k constant
0
1
2
Fig. 5. Velocity of third link.
0.6 0.4
k adaptive with arctan k adaptive with sign k constant
0.2
40
k1 (t)
0 0 0.2 0.4 0.6
30 20
-0.2 X (m)
3
t (s)
0
0.2
0.4
0.6
0. 10
Y (m)
0
1
2 t (s)
Fig. 1. End-effector motion and configuration of links.
Fig. 6. First diagonal gain of controller.
041
3
eliminated by the adaptive SMC method which benefited from inverse tangent function, presented in Figs. 9 and 10.
k adaptive with arctan k adaptive with sign k constant 100
V.
k2 (t)
80
In this paper, sliding mode controller with adaptive gains for MIMO systems was introduced. Gains were calculated respecting sliding condition in an adaptive fashion. For discontinuous part of control law, “sign” function first used and related structure carried out. To eliminate the chattering effect, “sign” was replaced with “arctan” and gains updated to propose a general structure. Proposed technique employed to design a nonlinear controller for an SCARA robot. Average of gain for third link for conventional SMC and proposed one with “sign” and “arctan” functions scored 150, 53.7 and 34.2 with respect; and average of inputs for same order reached 297.5, 282.9 and 63.2. The errors of end-effector for compared methods obtained 3.5 × 10−4 , 6.7 × 10 −5 and 0.1815 mm. The reason of failing proposed method for gaining least error is that it is less sensitive to change of sliding surface. It confirmed that with almost same error for end-effectors, adaptive SMC with “arctan” scored the best input law.
60 40 0
1
2
3
t (s)
Fig. 7. Second diagonal gain of controller. 0.9 M-1(1,1)∀ Mnom
M-1 (1,1)
0.8
M-1(1,1)∀ Mmax M-1(1,1)∀ Mmin
0.7 0.6 0.5
0
1
2
3
t (s)
REFERENCES
Fig. 8. First diagonal array of inertia matrix with maximum, minimum and nominal parameters.
[1]
S. Wang and X. Jin, “Model-based Optimal Control of VAV AirConditioning System using Genetic Algorithm,” Building and Environment, vol. 35, no. 6, pp. 471-487, 2000. [2] S. Tong and H.-X. Li, “Fuzzy Adaptive Sliding-mode Control for MIMO Nonlinear Systems,” IEEE Transactions on Fuzzy Systems, vol. 11, no. 3, pp. 354-360, 2003. [3] M. H. Korayem, A. Khademi and S.R. Nekoo, “A Comparative Study on SMC, OSMC and SDRE for Robot Control,” in Proc. IEEE Second RSI/ISM International Conference on Robotics and Mechatronics, Tehran, Iran, pp. 13-18, 2014. [4] L. Wong, F. Leung and P. Tam, “A Chattering Elimination Algorithm for Sliding Mode Control of Uncertain Non-linear Systems,” Mechatronics, vol. 8, no. 7, pp. 765-775, 1998. [5] M. Roopaei and M. Z. Jahromi, “Chattering-free Fuzzy Sliding Mode Control in MIMO Uncertain Systems,” Nonlinear Analysis: Theory, Methods & Applications, vol. 71, no. 10, pp. 4430-4437, 2009. [6] M. Ertugrul, O. Kaynak and F. Kerestecioglu, “Gain Adaptation in Sliding Mode Control of Robotic Manipulators,” International Journal of Systems Science, vol. 31, no. 9, pp. 1099-1106, 2000. [7] J. S. Perk, G. S. Han, H. S. Ahn and D. H. Kim, “Adaptive Approaches on the Sliding Mode Control of Robot Manipulators,” Transactions on Control, Automation and Systems Engineering, vol. 3, no. 1, pp. 15-20, 2001. [8] M. M. Abdelhameed, “Enhancement of Sliding Mode Controller by Fuzzy Logic With Application to Robotic Manipulators,” Mechatronics, vol. 15, no. 4, pp. 439-458, 2005. [9] Y. J. Huang, T.-C. Kuo and S.-H. Chang, “Adaptive Sliding-mode Control for Nonlinear Systems with Uncertain Parameters,” IEEE Transactions on Systems, Man, and Cybernetics, Part B: Cybernetics, vol. 38, no. 2, pp. 534-539, 2008. [10] Y.-H. Roh and J.-H. Oh, “Sliding Mode Control with Uncertainty Adaptation for Uncertain Input-delay Systems,” International Journal of Control, vol. 73, no. 13, pp. 1255-1260, 2000. [11] J. J. E. Slotine and W. Li, “Applied Nonlinear Control,” Prentice-Hall Englewood Cliffs, NJ, 1991. [12] M. H. Korayem and A. Pilechian, “Modification of Algorithms for Determination of Dynamic Load Carrying Capacity in Flexible Joint Robots,” IEEE International Conference on Robotics and Biomimetics, Kunming, China, pp. 924-929, 2006.
Upper Bound Lower Bound k adaptive with arctan k adaptive with sign k constant
150 100 u 2 (N.m)
50 0 -50 -100 -150
0
1
2
3
t (s)
Fig. 9. Input of second link. 400
F3 (N)
200 0 -200 -400
0
1
2
CONCLUTION
3
t (s)
Fig. 10. Input of Third link.
The generated trajectory by adaptive SMC with “arctan” function showed more smoothness in motion; however, the other two moved down at first and then compensated the large error to finally regulate towards the final position, Fig. 1. States of the system show that also the proposed method reached the goal sooner than conventional SMC. Chattering effect also
042