Acessibilidade / Reportar erro

A new robotic drive joint friction compensation mechanism using neural networks

Abstract

The knowledge of realistic dynamic models to robotic actuators would be of great aid in the synthesis of control laws to robot manipulators, mainly in cases of great precision robotic or even for manipulators with flexible links. In this paper we present a training scheme and propose a structure of neural network (NN) to learn the friction torque of a geared motor drive joint robotic actuator. To train the NN was used experimental data obtained by an harmonic-drive actuator, equipped with an encoder to measure the rotor angular position. It was considered the motor torque and the rotor angular velocity as NN input, while the friction torque was the only output, which was used in the proposition of a non-linear friction compensation mechanism. The experimental results attested the efficiency of the NN friction estimation and compensation with the proposed mechanism.

Neural network; friction compensation; robotic actuator; control


A new robotic drive joint friction compensation mechanism using neural networks

V. I. GerviniI; S. C. P. GomesII; V. S. da RosaIII

IFundação Universidade Federal do Rio Grande, FURG, DMT, Av. Itália, Km 8, 96201-900 Rio Grande, RS. Brazil. gervini@ele.ita.br

IIFURG, DMT. dmtdcpg@furg.br

IIIFURG, DMT. vagner@dmat.furg.br

ABSTRACT

The knowledge of realistic dynamic models to robotic actuators would be of great aid in the synthesis of control laws to robot manipulators, mainly in cases of great precision robotic or even for manipulators with flexible links. In this paper we present a training scheme and propose a structure of neural network (NN) to learn the friction torque of a geared motor drive joint robotic actuator. To train the NN was used experimental data obtained by an harmonic-drive actuator, equipped with an encoder to measure the rotor angular position. It was considered the motor torque and the rotor angular velocity as NN input, while the friction torque was the only output, which was used in the proposition of a non-linear friction compensation mechanism. The experimental results attested the efficiency of the NN friction estimation and compensation with the proposed mechanism.

Keywords: Neural network, friction compensation, robotic actuator, control

Introduction

Nowadays, there are many applications of neural networks (NN) in the majority of science domains (see Jung and Hsia (1998) and Kaynak and Ertugru (1997)). This subject has been object of great attention of the scientific community. In Miller (1995), for instance, there is an important description of the history of the so-called neural networks.

This paper investigates the identification of the friction torque of a geared motor drive joint robotic actuator using neural networks. The main motivation is the difficulty in obtaining a very realistic drive joint dynamic model. This difficulty is due mainly to the internal non-linear friction characteristic of the actuators (Armstrong, 1988). In spite of NN application in robotic being relatively old (nearly fifteen years ago), the NN applications to drive joint non-linear friction estimation is much more recent. Dapper et al. (1999) proposed a hybrid force-position control to the 6 DOF manipulator robot. They estimated, using a neural network, the dry friction of the actuators and showed, by simulations, improvements in the efficiency of the hybrid control for slow movements of the end-effector. Selmic and Lewis (2000) tested, with simulations, the possibility of a NN to learn the friction torque given by a representative friction model.

Once estimated the non-linear friction from a NN, it is propose a friction compensation mechanism to eliminate the actuator's non-linearities. The NN friction estimation (net structure, definitions of the input, output and training strategy) and the proposition of the compensation mechanism, validated by experimental results, constitute the main contribution of the present work.

Nomenclature

Ir = Rotor inertia, Kgm2

Is = Load inertia, Kgm2

K = Elasticity const., Nm/rd

n = Gear ratio

Tat = Friction torque, Nm

= NN estimated friction torque, Nm

Tm = Motor torque, Nm

qr = Rotor angular position, rd

qs = Load angular position, rd

Robotic Actuator

A geared motor drive joint robotic actuator can be visualized as a motion transmitter element containing an internal elasticity of constant K, as represented in Fig. 1. The motor torque Tm is applied to the rotor with inertia Ir. Non-linear frictions are always present in this kind of dynamic, making the motor torque not being transmitted integrally to the load inertia Is coupled at the gear output axis. The Eq.(1) describes the dynamic of this system (Gomes and Chrétien, 1992). Tatis the non-linear friction torque, qr and qs are respectively the rotor and load angular positions, and n is the gear ratio.


To train NN is necessary to create the training patterns. As it will be seen later, these patterns can be generated by experimental identification of the friction torque using different motor torques in open and closed loops. However, the model given by the Eq.(1) is not convenient for friction identification because of the internal elasticity. Since the elastic constant for the geared motor drive joint is usually high, a rigid approximation is acceptable only for the experimental friction torque identification purpose. The model for friction torque identification is simplified to the form:

In order to identify experimentally the non-linear friction torque (Tat), it is evident that we need to know the rotor and load inertias, the gear ratio, the angular rotor acceleration and the motor torque. It is necessary to point out that the experimental friction torque identified with Eq.(2) is not the more realistic possible friction torque, because the internal elasticity was neglected. As it was showed by Taghirad and Bélanger (1996), harmonic drives are source of non-linear friction and compliance. Effectively, compliance appears mainly with locked load experiments. Experimental results in this situation show that there is a behavior in a hysteresis form, relating internal elasticity and friction. However, for free motion of the actuator output axis, the model approximation given by the Eq.(2) may be assumed for friction identification. As one can see in the next sections of this article, the identified friction is a good approximation of the real friction torque in the present case, which is consistent with the performance of the proposed friction compensation mechanism.

Experimental Setup

A dedicated hardware was built using an harmonic-drive based actuator, a personal computer and an interface module, in order to obtain the experimental results (Fig.2).


As one can see in (Fig 2), the PC is connected to a dedicated interface module using PC’s parallel port (printer port) in EPP mode, which is bi-directional. The Interface Module is composed by a FPGA (Field Programmable Gate Array) and a driver interface. The FPGA condenses all the logic necessary to implement an EPP interface, an incremental encoder interface and a PWM (Pulse Width Modulation) generator. The driver interface then converts the PWM signal coming from the FPGA in a current signal to drive the DC motor of the actuator, producing a torque proportional to the applied current. A software driver written in C language for DOS makes available to the control-law the position (rad) and velocity (rad/s) and sends the torque calculated by the control-law to the actuator. A 12V DC motor, an harmonic-drive gear and an incremental encoder coupled to the rotor axis, composes the actuator (a PSA-80 model made by Harmonic-Drive Technologies, Fig 3). The actuator's data sheet provides the following parameters values:


The experimental results were obtained without load inertia coupled at the gear output axis, but all of the strategy presented here could also be used with some load inertia. In real time control implementation, the sampling frequency used was 500 Hz (zero order sample hold with step time of 0.002s).

NN Training Patterns

Many experiments were performed and, in all of them, the experimental friction torque was obtained through the model of the Eq.(2). These experiments were made in open and closed loops and the obtained friction torque data was used as a pattern for the NN training process.

An initial difficulty was to measure the experimental acceleration. The angular acceleration was found in this way: first the rotor velocity was obtained through online time position (encoder) derivate, generating a rotor velocity with a certain noise. This signal was then filtered by a least square sixth order polynomial, by parts, that is, each part of the velocity signal different from zero was considered as one part, it was filtered independently and after joined together to form the entire velocity signal. The rotor acceleration was obtained from the analytical time derivative of the smoothing polynomial velocity. Fig. 4 shows the rotor velocity and the filtered rotor velocity. This acceleration was then used in the experimental determination of the friction torque to generate NN training patterns.


A sequence of experimental results was performed in closed and open loop in order to generate the experimental friction torque. The data sequence is presented in Table 2. When the time intervals (in seconds, for example, 8 to 9, 10 to 11, etc) are not indicated, it means that the step in motor torque was null. In order to guarantee the uniformity in the experimental determination of the friction torque, the experimental results of the Table 2 (showed in Fig. 5) were programmed in the same sequence. It was performed a "pre-heating" phase, in which the actuator was submitted to a sinusoidal torque during five minutes just before the initialization of the experimental sequence to obtain friction data in real work conditions.


NN Architecture

The NN architecture proposed to learn the friction torque is a multi-layer fully connected feed-forward network (Beale and Jackson, 1991), using back propagation with momentum (Fausett, 1994) as the training rule. The input layer is composed with two neurons (motor torque and rotor velocity) and the output layer is composed by one neuron (friction torque).

After testing several feed-forward network configurations to identify a configuration able to learn and to reproduce the training patterns with a minimum of neurons, was noticed that a neural network with only one intermediate layer and with only four neurons on it, was enough to reproduce the training patterns. Fig. 6 shows the architecture of the proposed NN.


The neuron architecture is showed in Fig. 7, where it was used a sigmoidal activation function (tanh). After training, the NN reproduced the training patterns with 98% of accuracy.


Fig. 8 shows the experimental friction torque (used as training patterns) and the friction torque recognized by the NN. It can be seen that the accuracy was really high. It is interesting to notice that the experiments were accomplished with a great variety of motor torques, in open and closed loop. This diversification of the torque proposed in the training strategy was important for the NN generalization. Only four neurons in just one hidden layer showed good generalization into the envelope of training patterns, limited by the actuator maximum torque. Outside of this envelope there is no generalization effectively. The spikes in Fig. 8 (friction torque spikes) coincide with acceleration spikes, due to changes in motor torque input at the beginning of each new control torque interval, as showed in Table 2.


Compensation Mechanism

The proposed friction compensation is very efficient, in spite of being simple, consisting of the direct rejection of the non-linear friction estimated by NN. The motor torque in the instant K+1 has the form:

Tc(k) is the control torque, that is, the torque effectively desired to be applied at k instant, assuming an actuator without friction. (k) is the estimated non-linear friction (NN output), with the rotor velocity (k) and motor torque Tm(k) as NN input.

Experimental Results

Many experiments were conducted mainly with the objective to test the efficiency of the friction torque compensation mechanism. All measures presented in the next figures have physical units expressed on the load side (gear output axis).

Fig. 9 shows an experiment relative to the application of a sinusoidal motor torque, with and without (right and left, respectively) the proposed friction compensation mechanism. This figure puts in evidence the stick-slip effect (Gomes, 1995): without friction compensation, when the rotor velocity goes to zero, it holds on this value while the resultant torque through the drive joint remains smaller than the static friction (or dry friction by approximation). Applying the friction compensation, the rotor velocity does not present this phenomenon, instead, it presents a sinusoidal form, as expected if the actuator had a linear behavior.


The amplitude of the motor torque in Fig. 9 is close to the limit of the static friction experimentally identified to the actuator used in this work, which is approximately 12.7% of the maximum torque. The static friction defines the dead zone in torque: any torque inferior to 12.7% of the maximum torque, positive or negative, will not move the gear output axis.

Fig. 10 shows an experimental result with friction compensation, for a sinusoidal motor torque with amplitude equal to 10% of the maximum torque (completely into the dead zone). It can be noticed that, even in the interior of the dead zone, the proposed friction compensation mechanism was efficient. In this figure, as in the others, the NN friction graphics show the friction torque multiplied by -1 (compensation torque). It can be seen that the control torque is sinusoidal, but the motor torque is not anymore, being now the control torque plus the NN friction compensation. Others experimental results obtained in a similar way (not shown here by space limitations) indicated that compensation mechanism reduced the dead zone by almost six times.


Beginning from the Fig. 11, the results are in closed loop with proportional or proportional and derivative control. Fig. 11 was obtained using only a proportional control, with the proportional gain calculated in order to obtain a step response with a rise time and a damping ratio of 0.2s and 0.3 respectively, as if the system was linear (only viscous friction). The step reference position was 25 degrees. There is a great steady state error with a remarkable presence of the stick mode: the joint is blocked, the rotor velocity goes to zero and it remains in this value because the motor torque is not superior to the static friction anymore (12.7% of the maximum torque or 0.18 Nm on the load side).


Fig. 12 shows an experimental result with the same control as in Fig. 11, although using the friction compensation mechanism. Added to the experimental angular position, is shown the angular position of a simulation (dashed line) performed with the model of the Eq.(2), but considering the friction torque linear with a viscous coefficient equal to 0.0169 Nms/rd (value expressed on the load side and identified by the analysis of the experimental response decaying). The efficiency of the compensation mechanism is evident: the actuator becomes approximately linear and reversible in terms of torque inside the dead zone.


Fig. 13 shows an experimental result in closed loop without friction compensation, using a proportional and derivative control with projected gains in order to obtain a step response with a rise time and a damping ratio of 0.3s and 0.9 respectively, as if the system was linear (only viscous friction). The input reference was a step of 30 degrees. A great steady state error is evident and it is important to verify that the identified friction by NN (not compensated in this case) remains approximately equal to the residual steady motor torque.


In Fig. 14 was applied the same proportional and derivative control as in Fig. 13, but in this case the friction compensation mechanism was used. There was no more steady state error, attesting the efficiency of the proposed NN friction compensation mechanism. Many other similar results with different reference values in step, positive or negative, were obtained experimentally. In some cases it was verified a very small steady state error (below 0.3 degrees) and in others the error was null.


The next three experimental results were obtained one and a half year later than results shown previously. This means that the actuator worked several hours (approximately 30 working hours) in this period. The actuator was used in a SCARA robot manipulator, showed in Fig. 15, being the actuator that moves the second and last link. It was verified a little static friction variation and the actuator now has a link connected in your output axe, with inertia of 0.0046 Kgm2. It was identified that is not necessary to train again the NN, being enough to multiply the NN output (neural friction torque estimation) by a constant (0.95) identified experimentally. With this modification, the Eq.(3) began:

Tm(k + 1) = Tc(k) + 0,95(k).


Fig. 16 presents experimental results in closed loop, with a PD control, projected for a rise time of 0.4 s and a damping ratio of 0.85. The PD gains were obtained considering a linear dynamic approximation (Eq.(2) without non-linear friction torque). It shows the load angular position and velocity in three different situations: with neural friction compensation; with compensation based on the Coulomb model (dry friction is compensated multiplied by the rotor velocity sign); without friction compensation. It can be noticed that the compensation based on the Coulomb model generates oscillations around the reference position and if it is considered a smaller Coulomb friction compensation than the dry friction obtained experimentally, these visible oscillations in angular position disappear. However, it remains a steady state error and high frequency oscillations in the motor torque, generated in reason of the noise in the experimental rotor velocity. It was also verified that for any amplitude of the step reference input, the neural compensation provided good results.


The same PD control was used to obtain the experimental result showed in Fig. 17. This result was accomplished with the objective of showing the efficiency of the NN friction compensation, even for small step reference input. Only 0.08 rd (approximately 4.6 degrees) was used as reference step position. A small steady state error remains, indicating that NN does not reduce torque dead zone absolutely to zero, as already mentioned previously. It is still important to point out that, without NN compensation, the result was omitted because there is no motion of the link for this level of step input, once the motor torque is totally into the torque dead zone.


The experimental results presented in Fig. 18 were accomplished to show NN friction compensation capability in a position trajectory tracking. It was used a sawtooth function as input reference position, with only 0.1 rd (» 5.7 degrees) as reference position excursion. The PD parameters, in this case, were obtained considering rise time of 0.22 s and damping ratio of 0.5. We can see that, even with NN compensation, there is a small steady state error because the PD control is not indicated for this kind of reference input. However, without NN friction compensation there is a stick-slip behavior, compromising definitely the control performance.


Conclusions

It can be extracted as a main conclusion of the present work that a small NN can be efficient in a real time friction estimation of a geared motor drive joint robotic actuator. The proposed friction compensation mechanism, that uses the neural friction estimate (NN output), showed to be very efficient and reduced significantly the dead zone in torque for the harmonic-drive actuator used in the experiments. The main advantages of using NN friction estimation and posterior compensation are:

  • Large NN generalization (into the learn envelope limited by the actuator maximum motor torque) due to the training strategy and of the chosen net structure;

  • Simplicity of the proposed net structure, which means a great economy in terms of processing time in real time implementations;

  • The proposed mechanism turns the actuator approximately linear and, therefore, this mechanism can be used in parallel to any linear control law of the literature;

  • Models based on Coulomb model indicate that the friction is a function of the velocity sign. The tentative to compensate the friction based on these models can generate limit cycles around reference position or high frequency vibration, due to commutation of the rotor velocity sign for velocities near to zero (shattering): this phenomenon was not verified with the application of the proposed compensation mechanism;

  • After 30 working hours of the actuator and with a load coupled on the output axis, it was not necessary to train the NN again. The performance of the compensation mechanism was just maintained by the multiplication of the NN output by a constant value (0.95).

Finally, as the paper pointed out, it can be said that NN functions can be much more efficient than models based on Coulomb’s model. However, NN comparisons with other friction models will be performed as a continuation of the present work.

Paper accepted May, 2003

Technical Editor: José Roberto de França Arruda

  • Armstrong, B. S. R., 1988. "Dynamics for Robot Control: Friction Modeling and Ensuring Excitation During Parameter Identification". PhD thesis, Stanford University.
  • Beale, R. and Jackson, T., 1991. "Neural Computing: an Introduction". Adam Higler Bristol.
  • Dapper, M., Zanh, V., Maass, R. and Ekmiller, R., 1999. "How to Compensate Stick-Slip Friction in Neural Velocity Force Control (NVFC) for Industrial Manipulators". In IEEE Robotic and Automation Conference, Detroit, USA, May.
  • Fausett, L., 1994. "Fundamentals of neural networks". Prentice Hall, New Jersey.
  • Gomes, S. C. P. and Chrétien, J. P., 1992. "Dynamic Modeling and Friction Compensated Control of a Robot Manipulator Joint". In proceedings of IEEE Robotic and Automation Conference, Nice, France, May.
  • Gomes, S. C. P., 1995. "Robot Drive Joint Friction Modeling". In proceedings of XIII COBEM (Brazilian Congress of Mechanical Engineering), Belo Horizonte, Brazil.
  • Jung, S. and Hsia, T. C., 1998. "Analysis of Non-Linear Neural Network Impedance Force Control for Robot Manipulator". In IEEE Robotic and Automation Conference, Leuven, Belgium, May.
  • Kaynak, O. and Ertugru, M., 1997. "Neural Network Adaptive Slinding Mode Control and its Application to SCARA Type Robot Manipulator". In IEEE Robotic and Automation Conference, Albuquerque, New Mexico, USA, April.
  • Miller III, W.T., Suton, R.S. and Werbos, P.J., 1995. "Neural Networks for Control". MIT Press.
  • Selmic, R. R. and Lewis, F. L., 2000. "Dead Zone Compensation in Motion Control Systems Using Neural Networks". IEEE Transactions on Automatic Control, Vol 45, April.
  • Taghirad, H. D. and Bélanger, P. R. (1996). "An Experimental Study on Modelling and Identification of Harmonic Drive Systems". In 35th IEEE Conference on Decision and Control.

Publication Dates

  • Publication in this collection
    18 Mar 2004
  • Date of issue
    Apr 2003

History

  • Accepted
    May 2003
Associação Brasileira de Engenharia e Ciências Mecânicas - ABCM Av. Rio Branco, 124 - 14. Andar, 20040-001 Rio de Janeiro RJ - Brazil, Tel.: +55 21 2221-0438, Fax: +55 21 2509-7129 - Rio de Janeiro - RJ - Brazil
E-mail: abcm@abcm.org.br