Journal Search Engine
Search Advanced Search Adode Reader(link)
Download PDF Export Citaion korean bibliography PMC previewer
ISSN : 1598-6721(Print)
ISSN : 2288-0771(Online)
The Korean Society of Manufacturing Process Engineers Vol.19 No.6 pp.1-8

Performance Enhancement of Motion Control Systems Through Friction Identification and Compensation

Ho Seong Lee*#, Sowon Jung*, Seonghyun Ryu*
*Department of Mechanical Convergence Engineering, Gyeongsang National University
Corresponding Author : Tel: +82-55-250-7301, Fax: +82-55-250-7399
09/04/2020 19/04/2020 28/04/2020


This paper proposes a method for measuring friction forces and creating a friction model for a rotary motion control system as well as an autonomous vehicle testbed. The friction forces versus the velocity were measured, and the viscous friction, Coulomb friction, and stiction were identified. With a nominal PID (proportional-integral-derivative) controller, we observed the adverse effects due to friction, such as excessive steady-state errors, oscillations, and limit-cycles. By adding an adequate friction model as part of the augmented nonlinear dynamics of a plant, we were able to conduct a simulation study of a motion control system that well matched experimental results. We have observed that the implementation of a model-based friction compensator improves the overall performance of both motion control systems, i.e., the rotary motion control system and the Altino testbed for autonomous vehicle development. By utilizing a better simulation tool with an embedded friction model, we expect that the overall development time and cost can be reduced.

마찰력 식별과 보상을 통한 운동제어 시스템의 성능 개선

이 호성*#, 정 소원*, 류 성현*
*경상대학교 기계융합공학과


    Gyeongsang National University

    © The Korean Society of Manufacturing Process Engineers. All rights reserved.

    This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License ( which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

    1. Introduction

    A high performance motion controller is a key element of manufacturing equipment such as machine tools, robots, semiconductor processing tools, and data storage devices as well as autonomous vehicles. Fig. 1 shows a block diagram of a typical motion control system with four exogenous input that includes three external disturbances, w(t), d(t) and n(t). In order to cancel or minimize the adverse effect of these disturbances, either a purpose-driven controller can be added or controller optimization based on the loop-shaping can be implemented[1~2].

    However, even with these specialized control efforts, the motion control system exhibits undesirable behavior such as stick-slip limit cycles, quadrant glitches, hysteresis, and/or tracking errors due to non-linear friction components[3~6].

    Armstrong-Helouvry, et al. did comprehensive study on the analysis, modeling and compensation of friction[3]. A typical friction model includes viscous and Coulomb friction. For high precision motion control with low velocity and multiple zero-velocity crossings, more elaborate friction model and compensation is required[4~5]. In order to mitigate adverse effect of friction, various control algorithms have been proposed and implement such as dither, impulsive control, stiff PD-control and fuzzy logic[3, 5,7,11]. Various model-based friction compensation schemes such as model-based feedforward, modelbased adaptive and learning control have been proposed and tested[3~6,8~10]. Itagaki and Tsutsumi combined both velocity- and position-loop friction model to improve the overall motion control performance of a linear motor feed drive system[12].

    In this paper, we investigate the behavior of nonlinear friction of the motion control system, modeling and compensation. Nonlinear friction models of a rotary motion control system and a testbed for autonomous vehicle have been developed. These models are constructed by measuring friction force versus velocity of the system and inserted as an augmented plant for system performance simulation. The same model is utilized as a friction compensator for both simulations and experiments to verify its effectiveness for performance enhancement.

    2. Description of Motion Control Systems and Controller Structure

    2.1 Rotary Motion Control System

    Fig. 2 shows a rotary motion control system (Quansar QUBE-Servo 2) that has been used for this motion control system research. The system consists of a DC motor with an optical encoder and Quarc real-time control software that provides an interface between the motion control system and MATLAB Simulink running inside the PC.

    The system is driven by a direct-drive 18V brushed DC motor. The motor is powered by a built-in PWM amplifier with integrated current sense. Single-ended rotary encoders are used to measure the angular position of the DC motor and the angular velocity of the motor can also be measured using an integrated software-based tachometer. A red disk in the lower left corner of Fig. 2 can be used as an extra load to the rotary motion control system.

    Fig. 3 shows Quark Simulink implementation of PID (Proportional-Integral-Derivative) control for Quanser motion control system. Since the Quarc development system uses the hardware-in-the-loop and Simulink GUI (graphics user interface) architecture, it is simple and flexible for control system design education and basic motion control research as demonstrated in this paper.

    2.2 Altino Testbed for Autonomous Vehicle System Development

    Fig. 4 shows Altino system based on Arduino SBC (Single-Board Computer) architecture. The Arduino board includes Atmega-128 and 88 dual microprocessors. For autonomous operations, the testbed is designed with various sensors: a temperature sensor, a 3-axis magnetometer as a compass, a 3-axis accelerometer, 1 CdS sensor for illuminance measurement and 6 infrared optical sensors for distance measurement.

    For reliable autonomous vehicle operations, precise distance measurement or estimation out of optical sensor readouts is essential. The infrared sensor used in Altino system has the effective range of up to 30 cm with sensor readouts of 0 to 800 as shown in Fig. 5. As we see in the figure, the signal strength is inversely proportional to the distance between the sensor and the reflective wall or an obstacle. The distance is estimated from the sensor signal by the following equation.

    d ( x ) = 966 x + 45 [ cm ]

    where d is the distance and x is the sensor readout.

    Since the sensor readout is dependent on ambient lighting condition and reflectivity of the object, accurate calibration methods are required for precise estimation of the distance between Altino platform and the facing wall. In this study, only one infrared sensor located in the center of the front bumper is used for position estimation.

    3. Tuning of Nominal PID Controller

    3.1 PID Controller for Rotary Motion Control System

    A typical rotary motion control system, as shown in Fig. 1, can be modeled as a simple second-order system as following:

    Y ( s ) R ( s ) = 1 s ( J e s + B e )

    where Y(s) is the position output, R(s) is the reference input, Je is the equivalent inertia and Be is the equivalent viscous damping coefficient. By utilizing the first-order system identification method, Je and Be are determined as following: Je = 7.143 × 10-3 [V-s2] and Be = 0.0446 [V-s]. Here Je includes both motor inertia and external load inertia.

    These equivalent values of inertia and viscous damping coefficient are used for a nominal plant as shown in Eq. (2). Performance requirements for this rotary motion control system are set as following: the rise time (tr) < 0.05 s, the peak time (tp) < 0.1 s, the settling time (ts) < 1.5 s, and the percent overshoot (PO) < 20%. Bounds for the parameters of PID controller have set as following: 0 < Kp < 10, 0 < Ki < 5 and 0 < Kd < 0.5. By running random search algorithm using MATLAB, we have found 328 controller candidates that satisfy the requirements, and selected the final values for the PID controller: Kp = 7.8, Ki = 1.5 and Kd = 0.275.

    These final parameters have been used for both MATLAB simulations and the experimental setup as shown in Fig. 3. The step responses are displayed in Fig. 6. If the identified system matches accurately with the actual system, the simulation result based on the nominal model should agree well with the experimental result. However, as we see in Fig. 6, there are some discrepancies in the result. The experimental result shows slower rise time, smaller overshoot, slower settling time and steady-state error of 2.78%. We suspect that this is due to unmodeled system dynamics such as nonlinear friction components that include stiction (or static friction) and Coulomb friction as described in Section 4.

    3.2 PID Controller for Altino Autonomous Vehicle System

    The purpose of a motion controller for Altino testbed is to autonomously navigate through unknown surroundings by identifying the road and obstacles. The distance to the obstacle is estimated by a simple algorithm shown in Eq. (1) based on sensor measurements. A PID controller is inserted and tuned to obtain reasonably good position control.

    Building a plant model for Altino testbed is not trivial due to its more complicated system structure.

    Hence the PID controller has been tuned by repeated experiments. Fig. 7 displays some test results with the PID controller. The target distance is 5 cm from the wall that is located at 0. With Ki = 10, the testbed overshoots and stays around at 3 cm. In order to remove steady-state errors, we increased Ki to 20. In this case, while the steady-state errors become smaller, the testbed oscillates around the target distance at 5 cm as shown in Fig. 7.

    We suspect that the cause of these oscillations (or limit cycles) and steady-state errors are due to a combined effect of gear trains, viscous and nonlinear friction in electrical motors and wheels.

    4. Friction Measurement and Modeling

    4.1 Friction Modeling of Rotary Motion Control System

    Accurate measurement and modeling of friction will make the system analysis easier and ultimately enable the friction compensation to improve the control system performance. Friction force versus angular velocity has been measured by varying input voltage to the motor control. The results are shown in Fig. 8(a): x-axis for angular velocity in radians per second and y-axis for input voltage that is equivalent to friction force. Fig. 8(b) displays a curve-fitted friction model with critical values shown as us+ = 0.210 V, uc+ = 0.124 V; us- = -0.190 V, uc- = -0.104 V; v0+ = 3.015 rad/s, v0- = -2.530 rad/s and the slope that is equivalent to the viscous friction coefficient as 0.0411 V/(rad/s).

    The viscous friction coefficient is obtained by measuring the slope of the dash-dot line in Fig. 8(b), and included in the nominal plant model as Be in Eq. (2). The solid line in Fig. 8(b), that represents the static friction (stiction) and Coulomb friction, is obtained by subtracting the dash-dot line from the measured friction force data in Fig. 8(a). This nonlinear friction model is added into the nominal plant model in Eq. (2) as a plant subsystem for MATLAB simulation. And this nonlinear friction model is also implemented as a friction compensator as shown in Fig. 9(a).

    In order to verify the effectiveness of a friction compensator, actual experiments were conducted on a Quanser rotary motion control system utilizing Quarc real-time control implementation. As we see in Fig. 9(a) and (b), the configuration for simulation using MATLAB Simulink is almost identical to Quarc hardware/software development system except the extended plant subsystem replaces the actual motion control system.

    4.2 Friction Modeling of Altino System

    A friction model for Altino testbed is similarly obtained by the method described in Section 4.1. The measurement results are shown in Fig. 10(a). Fig. 10(b) displays a curve-fitted friction model with critical values shown as us+ = 200, uc+ = 150.4; us- = -200, uc- = -119.6, all in control input units; and v0+ = 13.8 cm/s, v0- = -10.9 cm/s. The slope of the dash-dot line equivalent to the viscous friction coefficient as 10.93 units/(cm/s).

    The nonlinear friction component is modeled and added to the nominal PID controller as a friction compensator in the velocity feedback loop similar to those shown in Fig. 9(a) and (b). The effectiveness of the friction compensator for Altino testbed is demonstrated in Section 5.2.

    5. Results of Friction Compensation

    5.1 Performance Enhancement of Rotary Motion Control System

    Simulation and experimental results based on the setup shown in Fig. 9(a) and (b) are presented in augmented friction model for MATLAB Simulink and the friction compensator. For this performance comparison, we used the identical PID controller with Kp = 7.8, Ki = 1.5 and Kd = 0.275.

    As we see in the figure, with friction compensation, the steady-state error of the experimental system has been significantly reduced from 2.78% (Fig. 6) to 1.11% (Fig. 11). On the other hand, the simulation result displays zero steady-state error as we anticipated with near-perfect cancellation of nonlinear friction with the friction compensator. This result implies that with reasonably accurate friction modeling and compensation, we can build a realistic simulation package that can precisely predict the performance of a physical motion control system.

    5.2 Performance Enhancement of Altino System

    With added friction compensation, we have observed that the performance of position control of Altino testbed has been improved as shown in Fig. 12. The target distance is 5 cm from the barrier and we have compared the position errors from the target position. The rise time and settling time have been reduced to less than 1 sec and the steady-state error has been almost vanished. With this friction compensation scheme, we can develop more reliable position control and navigation algorithms for autonomous vehicle operations.

    6. Summary and Conclusion

    In this study, performance enhancement of motion control through friction compensation has been proposed. The effectiveness of the proposed scheme has been proven through experiments.

    1. A friction model of motion control systems has been achieved by relatively simple experiments. Nonlinear friction components have been used as unmodeled plant model and added into a velocity feedback loop as a friction compensator.

    2. Adding a nonlinear friction model into a nominal plant model is especially effective for realistic motion control simulations. Since simulation results match very well with experimental results, a control system designer can save time, efforts and cost in development.

    3. Even for a low-cost, low-performance and uncertain system like Altino testbed, the friction compensation scheme has effectively improved the positioning performance. Oscillations like a limit cycle have been successfully removed. Hence more precise and faster position control required for autonomous navigation can be achievable.


    This work was supported by the fund of research promotion program, the Office of Academy and Industry Collaboration, Gyeongsang National University, 2019


    Block diagram of a motion control system
    Rotary motion control testbed: Quanser QUBE-Servo 2 system
    Quarc software implementation of PID controller for Quanser motion control system
    Altino testbed for autonomous vehicle development
    Distance estimation versus infrared sensor readouts
    Performance comparison between simulation and actual experiment with the PID controller (Kp = 7.8, Ki = 1.5 and Kd = 0.275)
    Performance of nominal PID controller for Altino: Kp = 25, Kd = 12 and Ki = 10 or 20
    (a) Friction force versus angular velocity; (b) modeling of friction force with viscous friction, stiction and Coulomb friction
    (a) Simulink diagram for friction compensation simulation; (b) Quarc system setup for friction compensation experiments.
    Altino friction modeling: (a) friction force versus velocity; (b) modeling of friction force with viscous friction, stiction and Coulomb friction
    Comparison of step responses with friction compensation for simulation and experiment
    Friction compensation results with new PID tuning (Kp = 25, Ki = 0.5 and Kd = 7) indicated as the solid line



    1. Lee, H. S., “Controller Optimization for Minimum Position Error Signals of Hard Disk Drives,” IEEE Transactions on Industrial Electronics, Vol. 48, No. 5, pp. 945-950, 2001.
    2. Shim, D. H., Lee, H. S., and Guo, L., “Mixed-objective Optimization of Track-following Controllers Using Linear Matrix Inequalities,” IEEE/ASME Transactions on Mechatronics, Vol. 9, No. 4, pp. 636-643, 2004.
    3. Armstrong-Helouvry, B., Dupont, P., and Canudas de Wit, C., “A Survery of Model, Analysis Tools and Compensation Methods for the Control of Machines with Friction,” Automatica, Vol. 30, No. 7, pp. 1083-1138, 1994.
    4. Canudas de Wit, C., Olsson, H., Astrom, K. J., and Lischinsky, P., “A New Model for Control of Systems with Friction,” IEEE Transactions on Automatic Control, Vol. 40, No. 3, pp. 419-425, 1995.
    5. Dupont, P. E. and Dunlap, E. P., “Friction Modeling and PD Compensation at Very Low Velocities,” ASME Journal of Dynamic Systems, Measurement and Control, Vol. 117, pp. 8-14, 1995.
    6. Lee, H. S. and Tomizuka, M., “Robust Motion Controller Design for High-Accuracy Positioning Systems,” IEEE Transactions on Industrial Electronics - Special Section on Mechatronics, Vol. 43, No. 1, pp. 48-55, 1996.
    7. Teeter, J. T., Chow, M., and Brickley Jr., J. J., “A Novel Fuzzy Friction Compensation Approach to Improve the Performance of a DC Motor Control System,” IEEE Transactions on Industrial Electronics, Vol. 43, No. 1, pp. 113-120, 1996.
    8. Gong, J. Q., Guo, L., Lee, H. S., and Yao, B., “Modeling and Cancellation of Pivot Nonlinearity in Hard Disk Drive,” IEEE Transactions on Magnetics, Vol. 38, No. 5, pp. 3560-3565, 2002,
    9. Al-Bender, F., Lampaert, V., and Swevers, J., “The Generalized Maxwell-Slip Model: A Novel Model for Friction Simulation and Compensation,” IEEE Transactions on Automatic Control, Vol. 50, No. 11, pp. 1883-1887, 2005.
    10. Marton, L. and Lantos, B., “Modeling, Identification, and Compensation of Stick-Slip Friction,” IEEE Transactions on Industrial Electronics, Vol. 54, No. 1, pp. 511-521, 2007.
    11. Wang, Y., Wang, D., and Chai, T., “Extraction and Adaptation of Fuzzy Rules for Friction Modeling and Control Compensation,” IEEE Transactions on Fuzzy Systems, Vol. 19, No. 4, pp. 682-693, 2011.
    12. Itagaki, H. and Tsutsumi, M., “Control System Design of a Linear Motor Feed Drive System Using Virtual Friction,” Precision Engineering, pp. 1-12, 2013.