Soft Computing

, 13:1099

Fuzzy boundary layer tuning for sliding mode systems as applied to the control of a direct drive robot


    • Faculty of Engineering and Natural SciencesSabanci University
  • Berk Çallı
    • Faculty of Engineering and Natural SciencesSabanci University
Original Paper

DOI: 10.1007/s00500-008-0383-z

Cite this article as:
Erbatur, K. & Çallı, B. Soft Comput (2009) 13: 1099. doi:10.1007/s00500-008-0383-z


Chattering in the control signal is a significant problem in sliding mode control (SMC). The boundary layer approach is one of the many modifications proposed in the literature to avoid the chattering. In this approach, instead of the discontinuous SMC, a continuous feedback control law is employed in a boundary layer around the sliding surface. The thickness of the boundary layer is an important design parameter. This paper proposes a fuzzy online tuning method to adjust the boundary layer thickness for the best system performance without chattering. The method features the measurement of the chattering in the control signal. The paper validates the performance of the algorithm by experiments on a direct drive robot with a range of different payloads.


Sliding mode controlChatteringBoundary layerFuzzy logic

1 Introduction

In the robotic manipulator control coupled, nonlinear system dynamics and system parameters variations arise as difficulties. Sliding Mode Control (SMC) (Utkin 1977; Young et al. 1999; Utkin 1992; Slotine and Shastry 1983) is robust control strategy which can cope with such difficulties. The primary characteristic of SMC is that the control signal is discontinuous. A sliding motion on a predefined subspace of the state-space is established and the system state repeatedly crosses the switching surface. A number of works are reported on the discrete time implementation and stability analysis of sliding mode controllers (Milosavljevic 1985; Sarpturk et al. 1987; Sira-Ramirez 1991; Koshkouei and Zinober 2000; Chen and Fukuda 1997). Chen and Fukuda (1997) suggests that the continuous time stability considerations can still be valid for discrete time systems, provided that the sampling period is chosen short enough.

The high speed (ideally at infinite frequency) switching necessary for the establishment of a sliding mode causes oscillations about the sliding surface. In sliding mode motion control applications, high-frequency oscillations of the controller output, termed as chattering, introduce a problem. A detailed explanation of this problem and its reasons are given in Utkin and Ozguner (1999). In practical implementations, chattering is highly undesirable because it may excite unmodeled high frequency plant dynamics and this can result in unforeseen instabilities.

To overcome this problem, many modifications to the original sliding control law have been suggested (see Slotine and Li 1991; Elmali and Olgac 1992; Tunay 1996). The most popular modification is the boundary layer approach, which is, basically, the application of a high gain feedback when the motion of the system reaches \( \phi \)-vicinity of a sliding manifold (Slotine and Shastry 1983). This approach is based on the idea of the equivalence of the high gain systems and the systems with sliding modes (Izosimov and Utkin 1981). In this method, the determination of an appropriate value for the boundary layer thickness is significant. A narrow boundary layer cannot solve the chattering problem, whereas, a too wide boundary layer causes degradation in tracking performance and robustness.

With the development of the intelligent control field, new control approaches based on fuzzy logic, neural networks and evolutionary computing have emerged and are used widely. These control methodologies provide an extensive freedom for control designers to exploit their understanding of the problem, to deal with problems of vagueness, uncertainty or imprecision and learn from experience. Fuzzy control and adaptation systems, as tools against the problems of uncertainty and vagueness, incorporate human experience into the task of controlling a plant. When employed in robotic trajectory control, they mainly play one of two roles in the controller architecture. One of them is to compute the control signal by fuzzy rules. The other one is to tune, adapt or schedule the parameters of control mechanisms to accomplish better performance in face of uncertainties and different operating conditions. The combination of sliding mode controllers and fuzzy logic systems are studied by a number of researchers and a survey on this field is presented in Kaynak et al. (2001). Fuzzy sliding mode control (FSMC) approaches can be classified as direct and indirect ones. In the direct approach, the well-established SMC theory is used in the design of fuzzy controllers, whereas, in the indirect approach, fuzzy systems are used to improve SMC controllers, typically by online tuning of controller parameters.

Direct fuzzy SMC systems which use boundary layers are reported in a number of papers. De Neyer and Gorez (1994) redefine the boundary layer as a fuzzy map. Palm (1994) uses SMC guidelines in the stability analysis and design of a fuzzy controller and shows that the fuzzy system behaves like a SMC with a boundary layer. Likewise Dieulot et al. (1996) state that a fuzzy control lookup table reproduces a kind of a variable structure control with continuous approximation in a boundary layer. Lhee et al. (2001) propose a SMC method similar to a fuzzy logic controller where control gain and boundary layer thickness are tuned by gradient based tuning rules without fuzzy reasoning. Linguistic rules are used in the design of a nonlinear boundary layer in the approach followed by Tu et al. (2005).

Indirect fuzzy SMC systems with boundary layers are investigated too. Ghalia and Alouani (1995) uses a fuzzy boundary layer and compute the control action as a fuzzy combination of reaching and equivalent function terms. The resulting system has chattering elimination properties. A fuzzy boundary layer with variable thickness is proposed in Lee et al. (2001). In this work, the algebraic distance to the sliding surface and the angle between the state vector and the sliding surface are used as inputs to a fuzzy system which modifies the boundary layer thickness. The boundary layer thickness is modified by a fuzzy system in Becan (2005) too, where the input of this system is the sliding variable. Xin and Chen (2006) use the magnitudes of state and state derivative errors to adjust the boundary layer thickness by four fuzzy rules. In Pang et al. (2006)a fuzzy SMC method where the sliding line offset from the origin, sliding line slope and the boundary layer thickness are tuned according to the tracking error and its derivative.

Since the main motivation of the use of a boundary layer is chattering elimination, employing a measure of chattering in boundary layer tuning is an effective approach. Examples of chattering measures can be found in Erbatur et al. (1996) and Erbatur and Kaynak (2001). However, only a few studies for boundary layer thickness tuning with fuzzy rules which use a chattering measure as an input are reported. Erbatur et al. (1996) uses tracking error and the chattering measure for tuning the slope of the sliding surface. Kim and Paek (2006) use the sliding variable and a chattering variable to tune the parameters of a tangent-hyperbolic shaped modified signum function for control smoothing. The approach in Ryu and Park (2001) employs position error and chattering indices to tune the slope and thickness of the boundary layer via the use of a fuzzy system.

Erbatur and Kawamura (2001) and Erbatur and Kawamura (2002) developed a fuzzy system with a different structure and different inputs. The sliding variable and the chattering variable are used to tune the boundary layer thickness by four fuzzy rules. Simulation results are presented in these two studies. Erbatur and Calli (2007) improves this system by employing modified membership functions for a faster convergence of the tuned parameter and tests the algorithm by experiments on a robot manipulator.

This paper proposes a tuning scheme similar to the one introduced in Erbatur and Calli (2007). However, the present paper employs a different SMC algorithm for improved transient response and it checks the robustness of the method by experiments on a direct drive robot with different payloads. The experimental results are compared with the ones obtained with the fixed boundary layer version of the same controller too.

The next section outlines the design of a sliding mode controller with a boundary layer for second order SISO systems as a basis of the discussion in later sections. The third section presents the online tuning method. The experimental results obtained with a two-dof direct drive arm are presented in Sect. 4. The conclusion is presented in Sect. 5

2 SMC with a boundary layer

In this section, a SMC method with a varying boundary layer thickness is developed. For simplicity, second order SISO systems are focused on. The controller is derived for the systems with the following form of state equations.
$$ \ddot{x} = f(X) + b(X)u $$
Here, \( X \) is an augmented vector of the scalar state variables \( x,\;\dot{x}, \) defined as
$$ X = \left[ {\begin{array}{*{20}c} x & {\dot{x}} \\ \end{array} } \right]^{\text{T}} . $$
\( u \) is the control input and the input gain \( b(X) \) takes strictly positive values. The tracking error is defined by
$$ e = x_{\text{d}} - x $$
where \( x_{\text{d}} \) is the desired value for x. In SMC of second order systems, commonly, the so-called “sliding variable” \( s \) is defined as
$$ s(e) = \dot{e} + \lambda e $$
and the desired dynamic response for this system is given by \( s = 0. \)λ is a positive number for stability. If s can be forced to zero, the desired dynamics can be attained and the tracking error will converge to zero with the dynamics dictated by \( \dot{e} + \lambda e = 0, \) which corresponds to a line with slope \( - \lambda \) in the phase plane as shown in Fig. 1. An approach which involves the selection of a Lyapunov function V of s is followed in the literature mostly and this function is chosen as
Fig. 1

The sliding line

$$ V = \tfrac{1}{2}s^{2} . $$
The control law is constructed such that the sliding line is attractive for the state trajectories on the phase plane. This, hence, the stability of the closed loop system, can be guaranteed if the derivative of \( V \)can be shown to be negative definite (Slotine and Li 1991). The derivative of the Lyapunov function is
$$ \dot{V} = s\dot{s}.$$
Using (14), this equation can also be represented as,
$$ \dot{V} = s(\ddot{x}_{\text{d}} - f(X) - b(X)u + \lambda \dot{e}). $$
The negative definiteness of \( \dot{V} \) can be achieved by control input
$$ u = \frac{1}{b(X)}\left( {\ddot{x}_{\text{d}} + \lambda \dot{e} - f(X) + Hs + K(X)\,{\text{sign}}\,(s)} \right) $$
where the sign function is defined by
$$ {\text{sign}}(s) = \left\{ {\begin{array}{*{20}c} { - 1} & {{\text{if}}\,s < 0} \\ 0 & {{\text{if}}\,s = 0} \\ 1 & {{\text{if}}\,s > 0} \\ \end{array} } \right.. $$

\( H \) is a constant which is chosen strictly positive for stability. \( K(X) \) is a state dependent gain which also takes only positive values.

With (8) we obtain
$$ s\dot{s} = - Hs^{2} - K(X)\left| s \right| $$
and therefore, \( \dot{V} \) is negative definite.
Since \( f(X) \) and \( b(X) \) cannot be known exactly, their estimates \( \hat{f}(X) \) and \( \hat{b}(X) \) are used in the control law. Using the estimates, the control law becomes
$$ u = \frac{1}{{\hat{b}(X)}}\left( {\ddot{x}_{\text{d}} + \lambda \dot{e} - \hat{f}(X) + Hs + K(X)\,{\text{sign}}\,(s)} \right) .$$
If the bound of the uncertainties on \( f(X) \) and \( b(X) \) are known, the gain \( K(X) \) can be selected adequately high to assure robustness in face of these uncertainties. Let \( F(X) \) be a known upper bound on the uncertainty on \( f(X) \) with
$$ \left| {f(X) - \hat{f}(X)} \right| \le F(X). $$
Also, let \( b_{\min } (X) \) and \( b_{\max } (X) \) be known lower and upper bounds for \( b(X):\)
$$ b_{\min } (X) \le b(X) \le b_{\max } (X). $$
Let \( \beta (X) \) be defined by \( \beta (X) = \sqrt {{{b_{\max } (X)} \mathord{\left/ {\vphantom {{b_{\max } (X)} {b_{\min } (X)}}} \right. \kern-\nulldelimiterspace} {b_{\min } (X)}}} . \) Suppose that we use the geometric mean of the upper and lower bounds of \( b(X) \) as an estimate: \( \hat{b}(X) = \sqrt {b_{\min } (X)b_{\max } (X)} . \) Let \( \hat{u} \equiv \ddot{x}_{\text{d}} + \lambda \dot{e} - \hat{f}(X) \) and choose the gain \( K(X) \) such that
$$ K(X) \ge \beta (X)F(X) + (\beta (X) - 1)\left| {\hat{u}} \right|. $$
With this choice of control parameters, the following will hold for the derivative of the Lyapunov function candidate \( \dot{V}. \)
$$ \begin{aligned} \dot{V}& = s\dot{s} \\ &= s\frac{d}{dt}\left( {\dot{e} + \lambda e} \right) \\ &= s\frac{d}{dt}\left( {(\dot{x}_{\text{d}} - \dot{x}) + \lambda e} \right) \\ &= s\left( {(\ddot{x}_{\text{d}} - \ddot{x}) + \lambda \dot{e}} \right) \\& = s\left( {\ddot{x}_{\text{d}} - (f + bu) + \lambda \dot{e}} \right) \\ &= s\left( {\ddot{x}_{\text{d}} + \lambda \dot{e} - f - b\frac{1}{{\hat{b}}}\left( {\ddot{x}_{\text{d}} + \lambda \dot{e} - \hat{f} + Hs + K\,{\text{sign}}\,(s)} \right)} \right) \\ &= s\left( {\ddot{x}_{\text{d}} + \lambda \dot{e} - f - b\frac{1}{{\hat{b}}}\left( {\hat{u} + Hs + K\;{\text{sign}}\,(s)} \right)} \right) \\ \end{aligned} $$
In (15), the arguments of the functions are dropped for notational simplicity. Multiplying both sides of this equation by \( {{\hat{b}} \mathord{\left/ {\vphantom {{\hat{b}} b}} \right. \kern-\nulldelimiterspace} b} \) we obtain
$$ \frac{{\hat{b}}}{b}s\dot{s} = \frac{{\hat{b}}}{b}\ddot{x}_{\text{d}} s + \frac{{\hat{b}}}{b}\lambda \dot{e}s - \frac{{\hat{b}}}{b}fs - \hat{u}s - Hs^{2} - K\;{\text{sign}}\;(s)s. $$
Expressing \( \hat{u} \) as \( \hat{u} = \frac{{\hat{b}}}{b}\hat{u} + \left( {1 - \frac{{\hat{b}}}{b}} \right)\hat{u} \) yields
$$ \begin{aligned} \frac{{\hat{b}}}{b}s\dot{s} = & \frac{{\hat{b}}}{b}\ddot{x}_{\text{d}} s + \frac{{\hat{b}}}{b}\lambda \dot{e}s - \frac{{\hat{b}}}{b}fs - \frac{{\hat{b}}}{b}\hat{u}s - \left( {1 - \frac{{\hat{b}}}{b}} \right)\hat{u}s - Hs^{2} - K\;{\text{sign}}\;(s)s \\ = & \frac{{\hat{b}}}{b}\left( {\hat{f} - f} \right)s - \left( {1 - \frac{{\hat{b}}}{b}} \right)\hat{u}s - Hs^{2} - K\;{\text{sign}}\;(s)s. \\ \end{aligned}.$$
With \( \delta \ge 0 \) defined as \( \delta = K - \beta F + (\beta - 1)\left| {\hat{u}} \right| \) we get
$$ \frac{{\hat{b}}}{b}s\dot{s} = \frac{{\hat{b}}}{b}\left( {\hat{f} - f} \right)s - \left( {1 - \frac{{\hat{b}}}{b}} \right)\hat{u}s - Hs^{2} - \left[ {\beta (X)F(X) + (\beta (x) - 1)\left| {\hat{u}} \right| + \delta } \right]\;{\text{sign}}\;(s)s. $$
We can reorganize this equation as
$$ \frac{{\hat{b}}}{b}s\dot{s} = \frac{{\hat{b}}}{b}\left( {\hat{f} - f} \right)s - \beta (X)F(X)\left| s \right| + \left( {\frac{{\hat{b}}}{b} - 1} \right)\hat{u}s - (\beta (X) - 1)\left| {\hat{u}} \right|\left| s \right| - Hs^{2} - \delta \left| s \right|. $$
Noting that \( \beta = \sqrt {{{b_{\max } } \mathord{\left/ {\vphantom {{b_{\max } } {b_{\min } }}} \right. \kern-\nulldelimiterspace} {b_{\min } }}} \ge {{\hat{b}} \mathord{\left/ {\vphantom {{\hat{b}} b}} \right. \kern-\nulldelimiterspace} b}, \) we can conclude that the sum of the first two terms on the right hand side of (19) is non-positive. The same is true for the sum of the third and fourth right hand side terms. With \( \delta \ge 0, \) the last term is non-positive too and the inequality
$$ \dot{V} \le - \frac{b}{{\hat{b}}}Hs^{2} \le - \frac{H}{\beta }s^{2} = - \bar{H}s^{2} $$
is obtained, where \( \bar{H} \equiv \frac{H}{\beta }. \) Hence, \( \dot{V} \) is negative definite. With \( V = \tfrac{1}{2}s^{2} , \) this implies that, along with \( V,s \) will converge to \( 0 \) too. Hence, the tracking error will converge to zero with the dynamics described by \( s(e) = \dot{e} + \lambda e = 0, \) after the convergence of \( s \) to \( 0. \)
Note that negative definiteness of \( \dot{V} \) can be obtained without the inclusion of the term \( Hs \)in the control law (11) too. However, as can be seen from (20) this term poses a lower bound on the speed of convergence of \( s^{2} \) to \( 0. \) Indeed, with (5), (20) can be written as
$$ \frac{d}{dt}V \le - 2\bar{H}V. $$

In the case of an equality in (21) the Lyapunov function \( V \) would decay exponentially to zero with a time constant equal to \( {1 \mathord{\left/ {\vphantom {1 {(2\bar{H}}}} \right. \kern-\nulldelimiterspace} {(2\bar{H}}}). \) With the inequality, this decay will be even faster. Since \( V = \tfrac{1}{2}s^{2} , \) the same fact applies for the convergence of \( s^{2} \) too.

The sign function requires infinite switching frequency, in the theory, to keep the system states on the sliding line. However, because of some factors like actuator limitations and delays which are inevitable when the controller is implemented on digital computers, infinite frequency switching cannot be realized. As a result, frequent state trajectory jumps across the sliding line are observed. Such frequent jumps are called chattering in the SMC terminology. It can also be identified as high frequency and high amplitude oscillations in the control input and velocity signals in the motion control field. Many modifications of the original control law are proposed to alleviate the chattering problem. The most simple and popular solution is the so called boundary layer approach in which the sign function is replaced by the following saturation function (Fig. 2).
Fig. 2

The saturation function

$$ {\text{sat}}_{\phi } (s) = \left\{ {\begin{aligned} { - 1} &\quad {{\text{if }}s \le - \phi } \\ {s/\phi } & \quad{{\text{if }} - \phi < s < \phi } \\ 1 &\quad {{\text{if }}\phi \le s} \\ \end{aligned} } \right.. $$
Then the control input becomes
$$ u = \frac{1}{{\hat{b}(X)}}\left( {\ddot{x}_{\text{d}} + \lambda \dot{e} - \hat{f}(X) + Hs + K(X){\text{sat}}_{\phi } (s)} \right). $$
The parameter \( \phi \) defines the thickness of the boundary layer as shown in Fig. 3.
Fig. 3

The boundary layer

Outside the boundary layer, in effect, the unmodified SMC is used. Therefore, this control, as discussed above, pushes system trajectories towards the sliding line.

3 The online tuning method

In practical applications where the controller is implemented on digital computers, infinite frequency switching is not possible, simply because of the time delays introduced by the sampling time. Therefore a zigzag behavior is observed around the sliding line, rather than an exact following of it. A number of papers which investigate the sliding mode controllers in discrete time applications appeared in the literature and discrete time equivalents of the stability analysis tools in continuous time are sought (Milosavljevic 1985; Sarpturk et al. 1987; Sira-Ramirez 1991; Koshkouei and Zinober 2000; Chen and Fukuda 1997). Generally, the conditions which will assure stability in discrete time are in the form of inequalities involving the sampled sliding variable and the control laws governed by such considerations are also discrete time equations unlike the ones in the previous section. It is also proposed that control laws obtained in continuous time can still assure stability provided that the sampling period is selected shorter than a certain limit (Chen and Fukuda 1997). The controller designed in the previous section with considerations for continuous time is studied in this paper. However, implementation on digital computers is assumed and its effects are investigated.

In the digital implementation, even when the classical sliding mode controller with the signum function is employed, tracking performance cannot be guaranteed. The zigzag behavior is observed even for small values of the boundary layer thickness \( \phi . \) For larger values of \( \phi \) chattering disappears, however, with increasing \( \phi , \) the tracking performance deteriorates. This suggests that there is a critical value of \( \phi , \) such that below this value chattering occurs and above this value the tracking performance becomes worse. Further, the work in Erbatur and Kawamura (2001) suggests that the minimum attainable peak tracking error for a set of sinusoidal reference trajectories is obtained at this value of \( \phi \) (Fig. 4). In the boundary layer approach, this puts the limits of the achievable performance, assuming that all other controller parameters, including the sliding line slope, the gain \( K(X) \)and the computation of the estimates \( \hat{f}(X) \) and \( \hat{b}(X), \) are kept the same.
Fig. 4

Typical boundary layer thickness versus error relation

Such a limiting value for the thickness of the boundary level can be found experimentally by trial and error. However, this value may be highly dependent on the reference trajectory and the load conditions employed in the experimental tuning. Further, in the case of real implementation, during the tuning process, the mechanical system can observe high amplitude chattering which is undesired. It can also be stated that slight changes in the plant dynamics can push the equilibrium to the chattering side. Therefore, the value of the boundary layer thickness should be varying according to the chattering level in the control signal in order to achieve the best performance possible without causing chattering. To this end, in (24), a measure of chattering, Γ, is introduced.
$$ \Upgamma = \left| {\dot{u}} \right|$$
\( \left| {\dot{u}} \right|, \) the absolute value of the derivative of the control signal is obtained by Euler approximation in the digital implementation. Figure 5 illustrates typical behavior of this detector in the case of too much control activity (or ringing) in the control signal.
Fig. 5

The chattering variable

A variety of chattering measures can be formulated. Similar measures of chattering are used in Erbatur et al. (1996), Erbatur and Kaynak (2001) and Erbatur and Kawamura (2001) for the online tuning of control parameters of sliding mode controllers. Equipped with such a measure of chattering, many parameter adjustment methods which relate the boundary layer thickness \( \phi \) to the control activity can be devised. The main idea can be summarized as below.
  1. 1.

    When chattering occurs, the boundary thickness should be increased to force the control input to be smoother.

  2. 2.

    The boundary layer thickness should be decreased if the control activity is low. This is since, in order to obtain best tracking performance, some amount of activity in control is needed and our aim is to operate the system at the limit of chattering. Low control activity can be identified by small values of the chattering variable \( \Upgamma. \)

The guidelines (1) and (2) on their own can be used to devise boundary layer adjustment methods (Erbatur and Kawamura 2001). However, these two guidelines use only the information about the chattering in the system. Another source of valuable information is the sliding variable. The following guidelines describe the role of the sliding variable in the boundary layer adjustment used in this paper.
  1. 3.

    When the absolute value of the sliding variable is low, the phase trajectory is close to the sliding line and hence a steep saturation function (narrow boundary layer) is likely to introduce chattering effect.

  2. 4.

    When the absolute value of the sliding variable is high, the phase trajectory is far away from the sliding line and hence a steep saturation function is desirable to decrease the duration of the reaching phase.


The four guidelines above can be used in various ways to construct a tuning mechanism for \( \phi . \) An analytic relation between \( \Upgamma,\; s \) and \( \phi \) could be one of the choices. The method proposed in this paper employs fuzzy systems for the online tuning of \( \phi . \) Fuzzy systems, as also mentioned previously, are natural choices to exploit verbal descriptions (like the four guidelines above) of the plant or problem to obtain control or adaptation mechanisms.

Table 1 and Fig. 6 describe the four fuzzy rules used in the tuning. In Table 1 the subscript “\( {\text{NB}} \)” stands for negative big, “\( {\text{NS}} \)” is negative small and “\( {\text{PB}} \)” is positive big. The numerical values for \( \Updelta \phi_{\text{NB}} ,\;\Updelta \phi_{\text{NS}} ,\;\Updelta \phi_{\text{PB}} \) and the corner positions \( \left| s \right|_{\text{Small}} ,\;\left| s \right|_{\text{Big}} ,\;\Upgamma_{\text{Small}} \) and \( \Upgamma_{\text{Big}} \) of the trapezoidal membership functions in Fig. 6 are tabulated in Sect. 4. The defuzzification is carried out by the following expression.
Table 1

The fuzzy rule base


\( \Upgamma \)

Small \( \Upgamma \)

Big \( \Upgamma \)

\( \left| s \right| \)

Big \( \left| s \right| \)

\( \Updelta \phi_{\text{NB}} \)

Rule A

\( \Updelta \phi_{\text{NS}} \)

Rule C

Small \( \left| s \right| \)


Rule D

\( \Updelta \phi_{\text{PB}} \)

Rule B
Fig. 6

The membership functions

$$ \Updelta \phi = \frac{{\mu_{{{\text{Big }}\left| s \right|}} \left( {\left| s \right|} \right)\mu_{{{\text{Small }}\Upgamma }} \left( \Upgamma \right)\Updelta \phi_{\text{NB}} + \mu_{{{\text{Big }}\left| s \right|}} \left( {\left| s \right|} \right)\mu_{{{\text{Big }}\Upgamma }} \left( \Upgamma \right)\Updelta \phi_{\text{NS}} + \mu_{{{\text{Small }}\left| s \right|}} \left( {\left| s \right|} \right)\mu_{{{\text{Big }}\Upgamma }} \left( \Upgamma \right)\Updelta \phi_{\text{PB}} }}{{\mu_{{{\text{Big }}\left| s \right|}} \left( {\left| s \right|} \right)\mu_{{{\text{Small }}\Upgamma }} \left( \Upgamma \right) + \mu_{{{\text{Big }}\left| s \right|}} \left( {\left| s \right|} \right)\mu_{{{\text{Big }}\Upgamma }} \left( \Upgamma \right) + \mu_{{{\text{Small }}\left| s \right|}} \left( {\left| s \right|} \right)\mu_{{{\text{Small }}\Upgamma }} \left( \Upgamma \right) + \mu_{{{\text{Small }}\left| s \right|}} \left( {\left| s \right|} \right)\mu_{{{\text{Big }}\Upgamma }} \left( \Upgamma \right)}} $$

This function characterizes a fuzzy system with singleton fuzzification, product inference rule and center average defuzzifier. \( \mu_{{{\text{Big }}\left| s \right|}} \left( {\left| s \right|} \right)\mu_{{{\text{Small }}\Upgamma }} \left( \Upgamma \right) \) is the truth value of Rule A computed using \( \left| s \right| \) and \( \Upgamma \) as inputs. The truth values of the other three rules are similarly computed.

Finally, \( \phi \) is updated by
$$ \phi (k) = \phi (k - 1) + \Updelta \phi (k - 1) $$
at every control cycle \( k. \)
The choice of the rule base and the membership functions satisfies the conditions (1–4) above. The rules summarized in Table 1 are restated and explained below in detail.
$$Rule\;A:{\text{ If }}\Upgamma \;{\text{is small and }}\left| s \right|{\text{is big}},{\text{ then decrease }}\phi {\text{with the high rate}}\,\Updelta \phi \,_{\text{NB}} . $$
Because chattering is small, the boundary layer thickness should be decreased according to guideline (2). Also, guideline (4) states that the thickness should be decreased when \( \left| s \right| \) is large. Therefore, a decrease in \( \phi \) with the high rate \( \Updelta \phi_{\text{NB}} \) is commanded in Rule A.
$$ Rule\;B:{\text{ If}}\,\Upgamma \,{\text{is big and }}\left| s \right|\,{\text{is small}},{\text{ then increase }}\phi \, {\text{with the high rate }}\Updelta \phi_{\text{PB}} . $$
Guideline (1) suggests an increase in the thickness and so does guideline (3). The ideas in these guidelines are reflected in Rule B where an increase of \( \phi \) with a high rate is commanded.
$$ Rule\;C:{\text{ If }}\Upgamma \;{\text{is big and }}\left| s \right|\;{\text{is big}},{\text{ then decrease }}\phi \,{\text{with the low rate }}\Updelta \phi_{\text{NS}} . $$
By guideline (1), if encountered large chattering, the boundary layer thickness should be increased, and by guideline (4), the thickness should be decreased if \( \left| s \right| \) is large. These two guidelines seem to be conflicting when large chattering and large \( \left| s \right| \) are observed simultaneously. However, our idea is that, if \( \left| s \right| \) is large, the guideline (4) should dominate. It is natural that the control effort (and hence chattering) is large in the reaching phase when the error trajectory is far from the sliding line. Still we do consider the guideline (1) too and by Rule C, \( \phi \) is decreased only with the low rate \( \Updelta \phi_{\text{NS}} \) and not with the high rate \( \Updelta \phi_{\text{NB}} . \)
$$ Rule\;D:{\text{ If }}\Upgamma\;{\text{is small and }}\left| s \right|\;{\text{is small}},{\text{ then do not change }}\phi . $$

It is quite intuitive that, because small chattering and small \( \left| s \right| \) are desirable conditions, the thickness which achieves them should not be changed. Note the shapes of the Small \( \Upgamma \) and Small \( \left| s \right| \) membership functions. They assume the value 1 in their respective neighborhoods of zero. These regions close to zero act as a dead-zone which stops the evolution of \( \phi \) by commanding zero \( \Updelta \phi . \) For the convergence of \( \phi , \) this dead-zone characteristics is quite useful. The membership corner positions \( \Upgamma_{\text{Small}} \) and \( \left| s \right|_{\text{Small}} \) act as borders of the dead-zone, and hence, they are very important design parameters. They convey the control engineer’s notion of the acceptable performance and the acceptable level of chattering into the controller design. Whenever the pair \( \left( {\Upgamma ,\left| s \right|} \right) \) leaves the dead-zone, nonzero \( \Updelta \phi \) will be computed in (25) and \( \phi \) will continue evolving.

In the next section, experimental studies are presented.

4 Experimental results

In this section, SMC method described in Sect. 2 is implemented with and without the online fuzzy tuning of the parameter \( \phi . \) The robustness of this algorithm is tested by several experiments using additional weights mounted on the robot tool tip in order to introduce modeling uncertainties. A two-dof direct drive manipulator built at Sabanci University Robotics Laboratory is shown in Fig. 7. This manipulator is used as the test bed in the experimental studies. A dSPACE 1102 DSP-based system is used to control the arm. The user interface software runs on a PC. C language servo routines are compiled in this environment and downloaded to the DSP. The Yokogawa Dynaserv direct drive motors used at base and elbow joints provide position measurement signals with a resolution of 1024000 pulses/rev. The base motor torque capacity is 200 Nm and that of the elbow motor is 40 Nm.
Fig. 7

The direct drive SCARA type robot arm and link CAD models

The dynamics equation of the robot can be expressed as
$$ \left( {\left[ {\begin{array}{*{20}c} {J_{1} } & 0 \\ 0 & {J_{2} } \\ \end{array} } \right] + D(q_{1} ,q_{2} )} \right)\left[ {\begin{array}{*{20}c} {\ddot{q}_{1} } \\ {\ddot{q}_{2} } \\ \end{array} } \right] + \left( {C(q_{1,} q_{2} ,\dot{q}_{1} ,\dot{q}_{2} ) + \left[ {\begin{array}{*{20}c} {B_{1} } & 0 \\ 0 & {B_{2} } \\ \end{array} } \right]} \right)\left[ {\begin{array}{*{20}c} {\dot{q}_{1} } \\ {\dot{q}_{2} } \\ \end{array} } \right] + \left[ {\begin{array}{*{20}c} {F_{c1} } \\ {F_{c2} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {\tau_{1} } \\ {\tau_{2} } \\ \end{array} } \right] $$
In (27), \( q_{1} \) is the base joint angular position and \( q_{2} \) the angular position of the elbow as shown in Fig. 8. \( J_{1} \) and \( J_{2} \) are the rotor inertia values for the base and elbow joints, respectively. \( D \) is the manipulator inertia matrix and \( C \) represents the matrix for centripetal and Coriolis effects. \( B_{1} \) and \( B_{2} \) are constant viscous friction coefficients for the two joints. \( F_{c1} \) and \( F_{c2} \) stand for the Coulomb friction torques. The robot is controlled by the joint actuation torques \( \tau_{1} \) and \( \tau_{2} . \) Because of the horizontal kinematic arrangement of the robot, there is no gravity effect acting on the joints. The matrices \( D \) and \( C \) are explicitly given by
Fig. 8

Robot joint angle descriptions and length parameters

$$ D(q_{1} ,q_{2} ) = \left[ {\begin{array}{*{20}c} {m_{1} l_{c1}^{2} + m_{2} \left( {l_{1}^{2} + l_{c2}^{2} + 2l_{1} l_{c2} \cos q_{2} } \right) + I_{1} + I_{2} } & {m_{2} \left( {l_{c2}^{2} + l_{1} l_{c2} \cos q_{2} } \right) + I_{2} } \\ {m_{2} \left( {l_{c2}^{2} + l_{1} l_{c2} \cos q_{2} } \right) + I_{2} } & {m_{2} l_{c2}^{2} + I_{2} } \\ \end{array} } \right] $$
$$ C(q_{1} ,q_{2} ,\dot{q}_{1} ,q_{2} ) = (m_{2} l_{1} l_{c2} \sin q_{2} )\left[ {\begin{array}{*{20}c} { - \dot{q}_{2} } & { - (\dot{q}_{1} + \dot{q}_{2} )} \\ {\dot{q}_{1} } & 0 \\ \end{array} } \right]. $$
The various link length, mass and inertia parameters which appear in (28) and (29) are described in Table 2. Link inertia parameters and center of mass locations are computed from the CAD models of the links (Fig. 7). Link lengths \( \left( {l_{1} ,\;l_{2} } \right) \) and joint to center of mass distances \( \left( {l_{c1} ,\;l_{c2} } \right) \) are indicated in Fig. 8. Link inertia values \( I_{1} \) and \( I_{2} \) are computed about axes which are perpendicular to the sketch plane and which run through the center of mass points \( c_{1} \) and \( c_{2} \) shown in this figure. Rotor inertia values \( J_{1} \) and \( J_{2} \)are taken from the manufacturer’s documentation. (28) and (29) are obtained with the Euler–Lagrange method (Spong and Vidyasagar 1989). The numerical values of these expressions can be obtained by using the parameters in Table 2. Friction parameters, especially Coulomb friction, however, are difficult to model. Still, rough estimates of viscous friction coefficients \( \left( {\hat{B}_{1} ,\;\hat{B}_{2} } \right) \) and Coulomb friction terms \( \left( {\hat{F}_{c1} ,\;\hat{F}_{c2} } \right) \) obtained experimentally using force sensors are listed in Table 2 too.
Table 2

Robot dynamics parameters

Link 1 weight \( m_{1} \) (including elbow motor)

17.9 kg

Link 2 weight \( m_{2} \)

3.25 kg

Link 1 inertia \( I_{1} \) (including elbow motor)

0.54 kg m2

Link 2 inertia \( I_{2} \)

0.04 kg m2

Motor 1 rotor inertia \( J_{1} \)

0.167 kg m2

Motor 2 rotor inertia \( J_{2} \)

0.019 kg m2

Link 1 length \( l_{1} \) (joint center to joint center)

0.4 m

Link 2 length \( l_{2} \) (joint center to tool center)

0.28 m

Link 1 joint to center of mass distance \( l_{c1} \)

0.277 m

Link 2 joint to center of mass distance \( l_{c2} \)

0.09 m

Joint 1 viscous friction coefficient \( \hat{B}_{1} \)

3 Nms/rad

Joint 2 viscous friction coefficient \( \hat{B}_{2} \)

0.6 Nms/rad

Joint 1 Coulomb friction coefficient \( \hat{F}_{c1} \)

4.5 Nm

Joint 2 Coulomb friction coefficient \( \hat{F}_{c2} \)

1.1 Nm

Equipped with the plant information in (2729), Fig. 8 and Table 2, our task is to apply the sliding control law (23). Since this control law is derived for single input single output (SISO) systems, it is applied to the robot joints in an independent joint control scheme. Simplified SISO equations of motion can be obtained from (27) in a variety of ways. In our approach, the equations of motion are obtained with fixed effective inertia and effective damping parameters (Spong and Vidyasagar 1989).

In the simplified model derivation, we are aiming at expressing the dynamics of the individual joint motion in form (1). This will create estimates \( \hat{f} \) and \( \hat{b} \) for the base and elbow joints. The estimated dynamics variables of the base will be denoted by \( \hat{f}_{1} \) and \( \hat{b}_{1} . \) The ones belonging to the elbow will be called \( \hat{f}_{2} \) and \( \hat{b}_{2} . \) Defining the effective inertia and effective damping parameters \( J_{{{\text{eff}}_{1} }} \) and \( B_{{{\text{eff}}_{1} }} \)for the base as
$$ J_{{{\text{eff}}_{1} }} = (J_{1} + D_{{11 - {\text{nominal}}}} ),\quad B_{{{\text{eff}}_{1} }} = \hat{B}_{1} , $$
the simplified dynamics of the base joint can be expressed as
$$ J_{{{\text{eff}}_{1} }} \ddot{q}_{1} + B_{{{\text{eff}}_{1} }} \dot{q}_{1} = \tau_{1}.$$
In (30), \( D_{{11 - {\text{nominal}}}} \) is the upper-left diagonal entry of the inertia matrix \( D(q_{1} ,\;q_{2} ) \) computed at a nominal configuration. We used the pose corresponding to a stretched elbow \( \left( {q_{2} = 0} \right) \) as the nominal configuration in this paper. Coupling between the joints, centripetal and Coriolis effects, and Coulomb friction are omitted in the equations. With
$$ x_{1} = q_{1} ,\quad X_{1} = \left[ {\begin{array}{*{20}c} {x_{1} } \\ {\dot{x}_{1} } \\ \end{array} } \right],\quad \hat{f}_{1} (X_{1} ) = - \frac{{\hat{B}_{1} }}{{J_{{{\text{eff}}_{ 1} }} }}\dot{q}_{1} = - \frac{{\hat{B}_{1} }}{{J_{{{\text{eff}}_{ 1} }} }}\dot{x}_{1} ,\quad \hat{b}_{1} (X_{1} ) = \frac{1}{{J_{{{\text{eff}}_{ 1} }} }}, \quad {\text{and}} \quad u_{1} = \tau_{1} , $$
(31) can be expressed in the form (1) too:
$$ \ddot{x}_{1} = \hat{f}_{1} (X_{1} ) + \hat{b}_{1} (X_{1} )u_{1} . $$
Denoting the reference position for the base joint by \( x_{1d} , \) defining the base tracking error as \( e_{1} = x_{{1{\text{d}}}} - x_{1} , \) and the base sliding variable as \( s_{1} = \dot{e}_{1} + \lambda_{1} e_{1} , \) the control law (23) is then applied as
$$ u_{1} = J_{{{\text{eff}}_{ 1} }} \left( {\ddot{x}_{{1{\text{d}}}} + \lambda_{1} \dot{e}_{1} + \frac{{\hat{B}_{1} }}{{J_{{{\text{eff}}_{1} }} }}\dot{x}_{1} + H_{1} s_{1} + K_{1} (X_{1} ){\text{sat}}_{{\phi_{1} }} (s_{1} )} \right). $$

The next step in the SMC application is the selection of the controller gain function \( K_{1} (X_{1} ) \) and controller parameters \( H_{1} ,\lambda_{1} \) and \( \phi_{1} . \) The discussion in Sect. 2 states the condition (14) on \( K_{1} (X_{1} ) \) for robust performance. However, it should be noted that in practice, we are faced with another constraint when assigning \( K_{1} (X_{1} ). \) This constraint is chattering which is not considered in the design of the control law (11). Large values of \( K_{1} (X_{1} ) \) cause chattering even when a boundary layer is employed. Therefore, rather than seeking uncertainty bounds for \( f_{1} \) and \( b_{1} , \) manual tuning of the parameters which will achieve acceptable performance with limited chattering is carried out in this work. This is a trial and error based process. Also, because it is more suitable for manual tuning, not a function varying over the domain of \( X_{1} , \) but a constant value \( K_{1} \) is used for \( K_{1} (X_{1} ). \) The gains \( H_{1} ,\;\lambda_{1} \) and \( \phi_{1} \) are manually tuned too.

Following derivation steps similar to (30–34), the control law for the elbow is obtained as
$$ u_{2} = J_{{{\text{eff}}_{ 2} }} \left( {\ddot{x}_{{2{\text{d}}}} + \lambda_{2} \dot{e}_{2} + \frac{{\hat{B}_{2} }}{{J_{\text{eff2}} }}\dot{x}_{2} + H_{2} s_{2} + K_{2} (X_{2} ){\text{sat}}_{{\phi_{2} }} (s_{2} )} \right) .$$
The control parameters are obtained by manual tuning for the elbow too. The parameters for the base and elbow joints are listed in Table 3. It should be noted that these parameters are obtained for the fixed boundary layer SMC method. This method and the SMC method in which \( \phi \) is determined online by fuzzy rules are compared in the experiments.
Table 3

Controller parameters



\( K_{1} \)


\( K_{2} \)


\( \lambda_{1} \)


\( \lambda_{2} \)


\( H_{1} \)


\( H_{2} \)


\( \phi_{1} \)


\( \phi_{2} \)


The parameter values for the fuzzy tuning law in (25) are shown in Table 4. In this SMC with the fuzzy boundary layer thickness, the parameters other than \( \phi \) are kept the same as in Table 3.
Table 4

Fuzzy system parameters



\( \Upgamma_{\text{Big}} \)


\( \Upgamma_{\text{Small}} \)


\( \left| s \right|_{\text{Big}} \)


\( \left| s \right|_{\text{Small}} \)


\( \Updelta \phi_{\text{BP}} \)


\( \Updelta \phi_{\text{NB}} \)


\( \Updelta \phi_{\text{NS}} \)


A control cycle time of 1 ms is used. The position reference trajectory consists of step joint references of 0.1 rad applied to the two joints. The initial condition corresponds to a stationary pose with extended elbow. Below, we present results for the elbow joint. However, the step references are applied simultaneously to the joints and similar results are obtained for the base joint. They are not presented in this paper due to lack of space.

Figure 9 shows the control signal and the joint position error for the elbow with zero payload, with the fixed boundary layer thickness method. Certain degree of control effort is observed even in steady state. This effort in the steady state shows itself in the form of low magnitude “ringing” in the control signal. The experimental results with the fuzzy-tuned boundary layer SMC are presented in Fig. 10. This experiment is carried out with zero payload too. It can be observed that too high control activity is responded by sudden increase in the boundary layer thickness. As a result the control signal becomes smoother, and chattering decreases. Note that, with the membership functions in Fig. 6 and the rules in Table 1, no change in the \( \phi \)-parameter is done when the absolute value of the sliding variable is less than \( \left| s \right|_{\text{small}} \) and the chattering variable is less than \( \Upgamma_{\text{Small}} . \) Therefore, the \( \phi \)-parameter quickly converges when desired distance to the sliding line is reached with an acceptable chattering level. That the steady state level for \( \phi \) in this experiment and the fixed \( \phi \) value in the previous experiment are very close to each other is as expected. This is because the two controllers, with and without fuzzy parameter adjustment, are tuned with the same admissible levels of chattering and performance.
Fig. 9

Control input and position error for the elbow joint in the zero payload case with a fixed boundary layer thickness of 0.03. The steady state error is less than 10−4 rad
Fig. 10

Control input, position error and the boundary layer thickness parameter curves for the elbow joint in the zero payload case with fuzzy adaptation. The steady state error is less than 10−4 rad

We carried out experiments in which the initial conditions for \( \phi \) were different than zero too. Included in this experiments are ones which used initial conditions larger than 0.03 (the boundary thickness value of this fixed \( \phi \)-parameter method). In all these experiments with zero payload, the boundary layer thickness converged to a steady state value in a small vicinity of 0.03.

Figure  11 shows the phase plane error trajectories (\( \dot{e}_{2} \) vs. \( e_{2} \) trajectories) with the fixed and fuzzy tuned boundary layer methods. Note that the phase plane reaching behavior with the fuzzy SMC approach is firstly faster than the reaching behavior of the fixed parameter SMC. This is because \( \phi_{2} \) starts from 0 value, which corresponds to the “sign function,” and not to a “sat function.” The high control effort with the initial zero boundary layer thickness reflects itself in the chattering measure, and the fuzzy system reacts by increasing the boundary layer thickness. As a result, the steep approach of the error trajectory to the sliding line turns into a milder one. Finally, the online fuzzy tuned system behaves quite similar to the manually tuned fixed parameter system when the error trajectory is on the sliding line.
Fig. 11

The phase plane trajectories in the zero payload load case with fuzzy adaptation (solid curve) and with a fixed boundary layer thickness of 0.03 (dashed curve)

With the observations from Figs. 10 and 11, we can state the following advantage of the control system with fuzzy parameter tuning: This system is successful in adjusting the boundary layer thickness according to the admissible chattering level described in Table 4. Thus, a manual tuning process for this parameter is not necessary then this method is applied.

This is a quite important feature. However, the strength of this online tuning system becomes more apparent when tested under changing operating conditions. In this paper, changing operating conditions are created by mounting payloads at the robot tool tip. In addition to the zero payload experiments discussed above, experiments are carried out with 2, 4.5, 7 and 9.5 kg payloads too. Figure  12 shows the elbow control signals in ten experiments. The results with fixed \( \phi \) are shown on left hand side and the ones with the fuzzy \( \phi \) method are shown on the right. The payload increases from 0 to 9.5 kg from the top plots to the bottom in Fig. 12. With increasing payload, the task of the controller becomes more difficult. Keeping a heavier load on the sliding line is more demanding than the task in the zero payload case. The fixed \( \phi \) parameter SMC method acts with high control activity and chattering phenomenon emerges. The oscillations on the control signal become more and more significant with increasing payload. Actually, the ones shown with 9.5 kg payload caused audible noise and vibrations on the mechanical system too. Because of these problems the control signal is of limited practical use. We did not conduct heavier payload experiments in order not to cause damages on our mechanical connections.
Fig. 12

Control signals in experiments with various payload values with and without fuzzy \( \phi \) parameter tuning. The control signals in the left column are obtained with a fixed \( \phi \) value obtained by manual tuning in the no-load condition. The right column shows control activity under fuzzy tuning. The steady state error is measured to be less than 10−4 rad in all ten cases shown in this figure

The five plots on the right hand side show the control signals with the fuzzy SMC method. When these plots are compared with the corresponding left column plots with the same payload, it can be observed that the level of chattering or ringing is kept the same, independent from the weight of the payload. The fuzzy tuning on \( \phi \) regulates the control effort. Since the parameters in Table 4 dictate the same acceptable limits (for chattering and \( \left| s \right| \)) for all payload cases, the same smoothing level on the control signal is achieved even under heavy payloads. The initial value of the boundary layer thickness was zero in all five experiments with fuzzy tuning. We also observed that the steady state value of \( \phi \) increased with increasing payload. It should also be noted that the steady state error did not change significantly in the ten experiments of Fig. 12. It was less than \( 10^{ - 4} \) rads in all cases. With this discussion we can state the second advantage of the online tuning method: the proposed fuzzy tuning method adjusts the boundary layer thickness successfully and this makes the use of the SMC controller practical even under changing payloads.

5 Conclusion

Sliding mode controller structures with boundary layers are widely used to solve the chattering problem. However, tracking performance is degraded when a too wide boundary layer is used and chattering prevails when the boundary layer is too narrow. The determination of a suitable boundary layer thickness which can eliminate chattering and at the same time achieve acceptable performance is an important design issue. This paper proposes an online fuzzy tuning method to adjust the thickness of the boundary layer. The thickness of the boundary layer is obtained without the offline trial and error processes. The online algorithm reacts to changes in the sliding variable and the chattering level to adjust the boundary layer thickness continuously. This enables the controller to perform under changing operating conditions without chattering. The results are verified by experiments with various payload values on a direct drive robot. The performance and chattering elimination properties of the proposed method make it a candidate for industrial applications.

Copyright information

© Springer-Verlag 2008