Accessibility / Report Error

Experimental study applied to an industrial robot by using variable structure controllers and friction compensation


Control of an industrial robot is mainly a problem of dynamics. It includes non-linearities, uncertainties and external perturbations that should be considered in the design of control laws. In this work, two control strategies based on variable structure controllers (VSC) and a PD control algorithm are compared in relation to the tracking errors considering friction. The controller's performances are evaluated by adding an static friction model. Simulations and experimental results show it is possible to diminish tracking errors by using a model based friction compensation scheme. A SCARA robot is used to illustrate the conclusions of this paper.

Robot control; variable structure control; sliding control; joint friction

Experimental study applied to an industrial robot by using variable structure controllers and friction compensation

A. Garcia, E. R. De Pieri; R. Guenther

Laboratório de Robótica, Depto. de Automação e Sistemas, Universidade Federal de Santa Catarina (UFSC), P. O. Box 476, 88040-900 Florianópolis, SC. Brazil, ramirez, edson,


Control of an industrial robot is mainly a problem of dynamics. It includes non-linearities, uncertainties and external perturbations that should be considered in the design of control laws. In this work, two control strategies based on variable structure controllers (VSC) and a PD control algorithm are compared in relation to the tracking errors considering friction. The controller's performances are evaluated by adding an static friction model. Simulations and experimental results show it is possible to diminish tracking errors by using a model based friction compensation scheme. A SCARA robot is used to illustrate the conclusions of this paper.

Keywords: Robot control, variable structure control, sliding control, joint friction


Control of robot manipulators would be simpler if the actuators had linear dynamics. In fact, the viscous and static friction present at transmissions prevent the applied torque from being transmitted to the robot structure in a linear way (Gomes, 1995). This nonlinear behavior is often a significant constraint in obtaining precise motion control in systems such as disk drives, machine tools, and robots (Dupont, 1994). Several parameter identification techniques emerge as a robust choice, see Armstrong-Hélouvry (1993), Canudas et al. (1995) and Kircanski and Goldenberg (1997). In literature, several works derive friction models for experimentation, see Tuttle and Seering (1996), and for simulation purposes, see Elmqvist et al. (1997). In spite of the growing number of publications, there is not a single friction model that best reflects the friction phenomena accurately.

Sliding mode control has been successfully used to handle systems with non-linearity, uncertainties and bounded external disturbances. The first works appeared in the Soviet Union, and the first applications in the West took place in the Seventies. Several researchers studied and applied this technique in many areas, including nonlinear systems (DeCarlo, Zak and Matthews, 1988), electrical drivers (Guenther and Hsu, 1993), hydraulic actuators (Guenther et al., 2000) and robot manipulators (Bailey and Arapostathis, 1987).

In this work, two controllers were designed by using the variable structure control approach, like as in Utkin (1977). The main objective is to show how robot performance (tracking) could be improved by the inclusion of a physically based friction model. The experiments were performed on a SCARA robot developed at the Swiss Federal Institute of Technology (ETH).

The paper is organized as follows: section 2 shows the static friction model used. Section 3 shows the robot's dynamic equation, including a friction term. Section 4 shows briefly the variable structure controller approach and the model based friction compensation technique used. Section 5 presents the experimental and simulation results. Conclusions are drawn in Section 6.


a = friction coeficient, N m

b = friction coeficient, Nms/rad

B = friction coeficient, Nms/rad

C = Coriolis, N m s/rad

= Coriolis uncertainty, Nms/rad

c = surface gain, 1/s

F = friction force, Nm

f = function, dimensionless

K = controler gain, Nm

KD = damping gain, Nm s/rad

M = robot inertia, Kg m2/rad

= robot inertia uncertainty, Kgm2/rad

m = control order degree, dimensionless

n = system order degree, dimensionless

s = sliding surface, rad/s

S = friction coeficient, Nm

t = time, s

u = control torque, N m

v = viscous coeficient, Nms/rad

X = system states

Greek Symbols

e = limit layer, rad/s

x = control vector, N m

q = angular position, rad

= position error, rad

= angular speed, rad/s

= speed error, rad/s

= acceleration, rad/s2


d = relative to a desired state

i = relative to a joint number

j = relative to a joint number


Friction is defined as the tangent component of the constraint reaction force. Figure 1 shows friction for unidirectional tracking.

Friction is a complicated phenomenon because it is composed of several combined physical phenomena (Canudas et al., 1995). It depends on: contact geometry and topology, properties of the surface materials, relative velocity and lubrication (Dupont, 1994). In servomechanisms, friction can cause limit oscillations, known as stick-slip, which are intermittent movements at low speeds, and tracking errors (Dankowicz and Nordmark, 2000). Friction also causes wear off in the system (Dupont and Dunlap, 1995).

What are the reasons for the study of friction? Several robotics tasks, like such as: precision positioning, velocity reversal, and velocity tracking, require friction compensation (Canudas et al., 1995).

Friction Model

Friction could be modeled using static models. The Coulomb friction model in Eq. (1) is classical among the static models (Gomes, 1995). It has shown to be inadequate for the analysis and simulation of closed loop systems because of the model discontinuity for null velocities.

where F is the resulting friction force; is the velocity; B and S represent the viscous and static friction components respectively.

Relating to friction, some definitions are important, see Dupont (1994) and Canudas et al. (1995):

Static friction: The force (torque) needed to initiate motion from rest.

Coulomb friction: A friction component which does not depend on the magnitude of velocity.

Viscous friction: Velocity dependent friction.

Break-Away Force: The amount of force needed to overcome static friction.

Dahl effect: Elastic deformation of asperity junction that behaves like a linear spring for small displacements.

Stribeck: Decreasing friction with increasing velocity at low velocities.

Frictional memory: The lag between changes in velocity and changes in friction force.

Classical friction models are described by static maps relating velocity and friction force. Typical examples are combinations of Coulomb friction, viscous friction, static friction and Stribeck. Figure 2 shows important static models.

It should be noted that static models do not capture observed friction phenomena, such as hysteresis, position dependence (Dahl effect) and variations in the breakway force (Canudas et al., 1995). In fact, friction models involving dynamics are necessary to describe the friction phenomena accurately. This should be considered in future works.


In this work we used the four parameter static model in Eq.(2), like in Sprenger et al. (1997). It has an exponential term to consider Stribeck, and avoid discontinuities for null velocities. This model is an extension of the classical Coulomb model in Eq. (1) (Armstrong-Hélouvry, Dupont and Canudas, 1994).

Friction coefficients offset, a (Coulomb friction), b (viscous friction) and v (Stribeck) can be found in the robot's specifications manual. Table 1 shows the nominal values of those coefficients for the first two joints of a SCARA robot. They were obtained from Sprenger et al. (1997).

Robot Model

Figure 3 shows the robot used in the experiments. It is a SCARA robot with four rigid arms.

Equation 3 describes the robot manipulator's dynamic behavior see, for example, Asada and Slotine (1986):

where q is the vector of link angles; M is the symmetric, positive definite inertia matrix;C(q, ) is a vector of centrifugal and Coriolis terms; N(q, ) contains the gravitational and the frictional torque; and u is the applied control torque.

In this work, the experiments were performed using the first two arms, which represent a planar manipulator with two degrees of freedom. Equations 4a,b show the model dynamics, and table 2 shows the nominal values of the robot's parameters.

Observation: no gravitational effects were considered.

Variable Structure Control (VSC)

Modeling difficulties introduce the need for a robust controller with regard to the uncertainties in the model. Classical controllers have performance limitations when parameter variations and perturbations are considered. More robust control techniques are necessary to overcome these problems. Nowadays, several advanced control techniques like adaptive, neural, fuzzy, genetic based, and variable structure controllers are used in many applications. To provide robustness to a manipulator control system, the implementation of a controller using the VSC control approach (Utkin, 1977) is being studied in this paper.

Russian authors initially proposed the variable structure theory in the 60's using the mathematical work by Filipov (Filipov, 1964). Several authors have studied it, both in continuous time (El-Khazali and DeCarlo, 1995; Utkin, Shi and Gulder, 1999) and discrete time (Gao, Wang and Homaifa, 1995). The aim of these works is the robust control of several kinds of nonlinear systems, including robotic manipulators.

The VSC is based on a switching control law, see Fig. 4.

The controller should give a positive torque if the system's states, named X(t), are below a desired surface S(x,t)=0, and should give a negative torque if the system's states are above that surface (Utkin, 1977). The desired surface could be, for example, the space of null joint speed errors.

In practical applications a boundary layer is introduced, due to actuators' velocity limitation. In the classical form of the variable structure controllers, an infinitely fast commutation is necessary, which is not, in general, provided by the industrial actuators. In those cases, the states of the system slides "close" to the desired surface. This forms a cylinder of radius e . Figure 5 shows the boundary layer (DeCarlo, Zak and Matthews, 1988).

The expression for the sliding controller could be found in several works, see for example Utkin (1997):

where Ki are the controller gains; i represents each robot joint; sat is a saturation function; e is the limit layer; KDi is a gain for exponential convergence; and si is the desired surface. In this work a linear sliding surface was used. Its structure is similar to a proportional-derivative (PD) algorithm, as in Bailey and Arapostathis (1987).

where ci are gain constants; and qi, qdi, , are the actual and desired (di) joint positions and joint speeds. The position and speed errors are defined as:

where is the joint position error; and is the joint speed error.

Controller gains Ki can be defined as in Bailey and Arapostathis (1987):

where and are the known bounded uncertainties of the inertia matrix and the centrifugal and Coriolis torques, respectively, like in Bailey and Arapostathis (1987). In this work was set c1=c2=10, KD1 = KD2 = 10, and e = 0.01.

Control Architecture

Figure 6 shows the control architecture used for one servo axis (driver, motor, encoder). Each motor is connected to an electronic rack containing a VME-bus based CPU (Central Processing Unit). The optical encoder measures the instantaneous rotation angle of each motor. The analog output block is connected to each motor's power amplifier (driver). The power amplifier is configured so that current is proportional to the control voltage applied.

The controller (implemented at the CPU) uses the information of the angular encoders to generate the control torque in joint space. The control torque is amplified and sent to each motor through the drivers. The sampling frequency is 1kHz. The controller is linked to a Personal Computer using Ethernet. The operational system is based on XOberon (Reiser, 1991).

Model based Friction Compensation

The study of friction control schemes is difficult since friction is machine and task dependent (Dupont and Dunlap, 1995). Effectively, there are several approaches which have been proved to reduce friction effects at low velocities: high gain proportional derivative PD control (Dupont, 1994), model-based feedback (Canudas et al. 1995) and impulsive control (Yang, and Tomizuka, 1988).

Control strategies that attempt to compensate for friction, without resorting to high gain control loops, inherently require a suitable friction model to predict and compensate friction. The basic idea is to estimate the instantaneous force (or torque) caused by friction in order to generate a control force (or torque) to cancel it. In those cases, friction components are estimated by using a friction model and added to the control law. This model could be obtained from using offline techniques, as in Gomes (1995) and Sprenger et al. (1997), or applying online techniques by means of an adaptive approach (Canudas et al. 1991 and 1997.

In this work, the feedback compensation scheme was used, as presented in Fig. 7.


Figure 8 shows a simulation of the robot friction model (2). The model was simulated in the first two joints of the SCARA Robot.

Proportional-Derivative (PD) and Variable Structure Control (VSC)

In this section, two strategies based on VSC and a Proportional-Derivative control algorithm are compared (,) considering the position tracking responses. The desired trajectories are splines of fifth order for each joint.

Figures 9 and 10 show the PD controller response and the VSC response considering Eq. (5,6,7), by using fixed gains.

In these graphs could be observed that joint tracking errors are similar in both cases, PD and VSC. This was expected because of the similarity between the structure of a PD algorithm and the linear part of the VSC, see Eq.(5) and Eq.(6). It should be noted that parameter variations were not considered.


Figure 11 shows the VSC controller performance using Eq.(5,6,7,8). The VSC algorithm also included Eq.(8) to consider that the gains are not fixed a priori because they depend on the uncertainties and the tracking errors.

In Fig. 11 it can be observed that the joint tracking errors do not occur without friction compensation. In fact, the higher gains are not enough to compensate the friction phenomena. This problem was resolved (by) adding the friction model in Eq.(2) to the control law Eq. (5,6,7, 8). This can be seen on the same figure.

Figure 12 shows the speed tracking errors in both joints. The experiments show higher speed tracking errors in both joints when friction was not compensated correctly.

It was observed that friction compensation was important to obtain better results (i.e. lower tracking errors). In fact, an emergency watchdog (implemented at the CPU block in Fig. 6) stopped the joints motion in many occasions when the control torque reached over the permissible torque limits defined for each joint. That occurs when friction was not compensated correctly.

Figure 13 predicts those experimental results. It shows a simulation response using Eq. (5,6,7,8) with and without friction compensation by means of the model of friction in Eq.(2). The simulations were performed by using the free demo version Dymola 4.1 (Elmqvist et al., 1997).

Figures 11 and 13 show a good relation between simulations and experimental results. That means that the model being used in this work using Eq. (3) and Eq.(4), including the friction term in Eq.(2), is correct.

Figure 14 and 15 show the friction torque contribution (friction) in relation with the control torque applied for the specified trajectory in both joints. In these graphs it could be observed that friction needs almost a 50% of the total control torque applied to be properly compensated.

Figures 11 and 13 show a good relation between simulations and experimental results. That means that the model used in this work using Eq.(3) and Eq.(4), including the friction term in Eq.(2), is correct.

It is important to remark that, regardless of the controller, friction compensation improves the system's performance.


Two control strategies based on the variable structure control approach were evaluated in the first two joints of an industrial SCARA robot. The first one used fixed gains and was compared with a proportional-derivative (PD) control algorithm response. The position tracking performance of both, PD and VSC, showed similar low tracking errors. That was expected for the reason that parameter variations were not considered. In the second VSC strategy, the original methodology was modified to include a term for static friction compensation. Simulations and experimental results show an improved tracking response when the VSC controller included a model based friction compensation scheme. Future works will consider the application of dynamic friction models and extend this study to robots with elastic joints.


This work has been supported by "Fundação Coordenação de Aperfeiçoamento de Pessoal de Nível Superior", Brazil.

Article received March, 2001

Technical Editor: Atila P. Silva Freire

  • Armstrong-Hélouvry, B., 1993, "Stick-slip and control in low-speed motion", IEEE Transactions on Automatic Control, Vol. 38, No. 10, pp. 1483-1496.
  • Armstrong-Hélouvry, B., P. Dupont and C. Canudas de Wit, 1994, "A survey of analysis tools and compensation methods for the control of machines with friction", Automatica, Vol. 30, pp. 1083-1138.
  • Asada, H. and Slotine, J.E.,1986, "Robot Analysis and Control", Ed. Jonh Willey and Sons, New York.
  • Bailey, E. and Arapostathis, A., 1987, "Simple sliding mode control scheme applied to robot manipulators", International Journal of Control, Vol. 45, No. 4, pp. 1197-1209.
  • C. Canudas De Wit, Noel, P., Aubin, A. And Brogliato, B., 1991, "Adaptive friction compensation in robot manipulators: Low velocities", International Journal of Robotics Research, Vol. 10, No. 3, pp. 189-199.
  • C. Canudas De Wit, Olsson, H.., Aström, K. J. and Lischinsky, P., 1995, "A new model for control of systems with friction", IEEE Transactions on Automatic Control, Vol. 40, No. 3, pp. 419-425.
  • C. Canudas, De Wit, Lischinsky, P 1997, "Adaptive friction compensation with parcially knowing of model", International Journal of Adaptive Control, Vol. 11, pp. 65-80.
  • Dankowicz, H. and Nordmark, A., 2000, "On the origin and bifurcations of stick-slip oscillations", Physica, Vol. 36, pp. 280-302.
  • DeCarlo, R.A., Stanislaw, H..Z. and Mathews, G.P., 1988, "Variable structure control of nonlinear multivariable systems: a tutorial", IEEE Proceedings, Vol. 76, No. 3, pp. 212-232, March.
  • Dupont, P.E, 1994, "Avoiding stick-slip through PD control", IEEE Transactions on Automatic Control, Vol. 39, No. 5, pp. 1094-1097.
  • Dupont, P.E. and Dunlap, E.P., 1995, "Friction modeling and PD compensation at very low velocities", Transactions of the ASME, Vol. 117, pp. 8-14.
  • El-Khazali, R. and DeCarlo, R.A., 1995, "Variable Structure Control Design", Automatica, vol. 31, No. 6, pp. 805-816.
  • Elmqvist, H., Otter, M., and Schlegel, C., 1997, "Physical Modeling with Modelica and Dymola and Real-Time Simulation with Simulink and Real Time Workshop", MATLAB conferences in San Jose, October, 1997.
  • Filipov, A. F., 1964, "Differential Equations with Discontinuous Right hand Sides", Am. Math. Soc. Transl., vol. 42, pp.199-231.
  • Gao, W. Wang, Y. and Homaifa, A., 1995, "Discrete-Time Variable Structure Control Systems", IEEE Transactions on Industrial Electronics, vol. 62, no. 2, pp. 117-122, April.
  • Gomes, S.C.P., 1995, "Modelagem de atritos internos às articulações de robôs manipuladores", Congresso Brasileiro de Engenharia Mecanica, Belo Horizonte, Brazil.
  • Guenther, R. and Hsu, L., 1993, "Variable struture adaptative cascade control of rigid-link electrically driven robot manipulators", Proceedings of IEEE Conference on Decision and Control.
  • Guenther, R. Cunha, M., De Pieri, E. and De Negri, V., 2000, "VS-ACC applied to an Hydraulic Actuator", Proceedings of the American Control Conference, Chicago, USA.
  • Kircanski, N.M. and Goldenberg, A.A., 1997, "An experimental study of nonlinear stiffness, hysteresis, and friction effects in robot joints with harmonic drives and torque sensors", The international Journal of Robotics Research, Vol.16, No.2, pp. 214--239.
  • Reiser, M., 1991," The Oberon system: user guide and programer's manual", ACC Press, Inc., New York.
  • Sprenger , B., Kucera, L. and Mourad, S., 1997, "Balancing of an inverted pendulum with a scara robot", IEEE/ASME International Conference on Advanced Intelligent Mechatronics, Tokyo, June.
  • Tuttle, T.D. and Seering, W.P., 1996, "A nonlinear model of a harmonic drive gear transmission", Transactions on Robotics and Automation, Vol. 12, No. 3, pp. 368-374.
  • Utkin, V.I.I., 1977, "Variable structure with sliding modes", IEEE Transactions on Automatic Control, Vol.1, No. 1, pp. 212-222.
  • Utkin, V.I.I., Shi, J. and Gulder, J., 1999, "Sliding Mode Control in Eletro-Mechanical Systems", Taylor & Francis, Inc.
  • Yang, S., and Tomizuka, M., 1988, "Adaptive pulse width control for precise positioning under the influence of striction and coulomb friction", ASME Journal of Dynamics System Measurement and Control, Vol. 110, pp. 221-227.

Publication Dates

  • Publication in this collection
    08 Sept 2003
  • Date of issue
    Nov 2002


  • Received
    Mar 2001
  • Accepted
    Mar 2001
The Brazilian Society of Mechanical Sciences Av. Rio Branco, 124 - 14. Andar, 20040-001 Rio de Janeiro RJ - Brazil, Tel. : (55 21) 2221-0438, Fax.: (55 21) 2509-7128 - Rio de Janeiro - RJ - Brazil