Identification of Motor Parameters on Coupled Joints

06/12/2019 ∙ by Nuno Guedelha, et al. ∙ 0

The estimation of the motor torque and friction parameters are crucial for implementing an efficient low level joint torque control. In a set of coupled joints, the actuators torques are mapped to the output joint torques through a coupling matrix, such that the motor torque and friction parameters appear entangled from the point of view of the joints. As a result, their identification is problematic when using the same methodology as for single joints. This paper proposes an identification method with an improved accuracy with respect to classical closed loop methods on coupled joints. The method stands out through the following key points: it is a direct open loop identification; it addresses separately each motor in the coupling; it accounts for the static friction in the actuation elements. The identified parameters should significantly improve the contribution of the feed-forward terms in the low level control of coupled joints with static friction.



There are no comments yet.


page 1

page 2

page 3

page 4

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

Some tasks require highly dynamic motions like running, jumping or even walking on uneven terrains, and for that, the robot has to account for the dynamic properties of the low level joint actuation. In typical torque control architectures composed by two nested control loops, this concern lies within the inner, low level control loop, which guaranties that the desired torque computed by the outer loop is generated at the joint level as expected within a delay that doesn’t compromise the stability of the controller.

The feed-forward control allows to anticipate the changes in the controller setpoint, which in the case of low level joint torque control, would be the desired joint output torque. At that point, the only errors left to be corrected by the feedback controller are the model errors, the sensors noise and the external disturbancies applied to the system. This improves the stability of the controlled system, and the ability to use a wider range of gains in the feedback control depending on the desired stiffness of the joints. This type of control design is one among other model based control designs which benefit from the accurate identification of the joint low level actuation subsystem.

Commonly, identifying the feed-forward parameters goes through the breakdown of the overall transfer function relating the motor input parameter to the output torques, by modeling the sub-elements of the joint actuation system as well as their interaction. Throughout this paper, we will consider electrical joint actuation subsystems typically powered by a Direct Current (DC) motor, or a higher performance brush-less motor. It is actually the case for most of the humanoid robots tall or above, apart from those equipped with hydraulic actuators.

DC motors, or brush-less motors are typically driven by current or voltage PWM—Pulse Width Modulation—duty cycle. The generated torque is then multiplied in a reduction drive (gearbox or harmonic drive), then transmitted to the load on the output shaft, directly or through a coupling system, for instance as the one used on the humanoid robot iCub’s torso or shoulders depicted in Figure 1. Some torque is wasted in the process, through friction in each of the transmission components. The output torque on the shaft is what we define as the joint torque. The identification process then consists in quantifying the parameters of the PWM to joint torque model.

Figure 1: CAD view of the iCub right arm with the three coupled shoulder joints (a) and CAD view of the shoudler joints actuated by the differential drive and three motors. Source: [1, Fig.4 & 5]

A commonly used simple model defines the generated motor torque as a linear function of the motor input voltage duty cycle, and an overall friction term as an affine function of the joint velocity.

A large range of models have been employed to describe the friction dynamics, from static models like the Coulomb, the viscous and Stribeck models, to more complex ones, like the switching models (seven parameters model, Dahl model), or the most advanced dynamic models (LuGre model) accounting also for stick-slip phases transitions and other properties inherent to the interaction of surfaces in contact


More recent works proposed improvements on joint torque and external forces estimation, while the joints were not moving [3], or were moving at very low velocities [4]. The presented methods accounted for the significant torque disturbances due to static, Coulomb and viscous friction, modeling them either as a deterministic affine function [5]

, either as a uniformly distributed noise, with a range (the Coulomb ”friction band”) dependent on the velocity, combined to a Gaussian noise of zero mean, with a variance increasing with joint velocity

[4]. In both cases, the respective parameters were identified manually and few details were given on the procedure. In [6], a more thorough spectral-based identification is performed, accounting for a position dependent torque variations due to multiple parts in the transmission contributing to the overall friction. This paper addresses the identification of the static and dynamic friction parameters on coupled joints, using a deterministic model, but avoids the complexity arising from the combination of the friction effects in the coupled motors and gearboxes. While addressing each motor transmission at a time, the paper focuses on the automatic identification the static friction, without any manual tuning as seen in previous works. The paper is organized as follows: we first present an overview of the joint actuation architecture implemented on the major joints of iCub (the platform we used for performing our identification tests); after describing the model of each component composing one typical joint actuation sub-system, we build the model of the full transmission chain and pose the Newton-Euler equations describing its dynamics; based on those equations, we define the identification framework and methodology; we then address the case of the coupled joints and present the experiment results.

2 Background

2.1 Notation

The notation used for describing the models and the algorithms in this paper is summarized as follows:

Motor torque applied on point of link ;
Generalized friction torque applied on point of link ;
Coulomb friction torque applied on point of link ;
Viscous friction torque applied on point of link ;
Force normal to a contact surface;
Respectively Coulomb and viscous friction coefficients;
Sign of the angular velocity;
Output joint torque (applied to the joint child link);
Identity matrix of dimension .

2.2 Friction Models

While modeling the multiple components in the joint transmission chain, we will often come across friction torques that can be found in the bearings, reduction drives, coupling systems or result from electromotive forces. Before addressing the friction modeling specific to each component, we present in this section the general concepts and typical models. There is a fair list of candidate friction models: The most simple and common are the static ones (constant parameters and structure) and are not defined for a zero relative velocity between the two surfaces in contact; the ”switching” models (seven parameters model, Dahl model described in [2]), and the most advanced dynamic models (LuGre model) switch between two distinct ”stick” and ”slip” states applying specific parameters for each of them; the dynamic models account for the transition between stick and slip phases in a continuous function. We list and describe below the two most common.

The Static/Coulomb/Viscous friction model

We represent in Figure 2 a moving object , either sliding over a flat surface or revolving about a rotary joint (Figure 1(b)). In the rotary joint case, we can see the load force on the joint rotation axis ( is normal to the axis), the rotation velocity and the total friction torque due to the rotary contact.

Figure 2: Representation of the friction force on an object M moving relative to a flat surface at velocity (a), or the friction torque on an object rotating about a rotary joint axis at velocity (b). is the force normal to rotation axis.

The friction torque can be written as a composition of three models: the Coulomb, the Viscous and the Static friction, as defined in (2.2),


where the Coulomb friction is linear with respect to the load force on the rotation axis, and the viscous friction is a linear function of the axis angular velocity . and are respectively the Coulomb and viscous friction coefficients and are positive, such that the friction is always opposed to . The static friction , initially expressed here as a general function of , , is the torque required to set the axis into motion starting from a null velocity, and typically is higher than the Coulomb and Viscous added components close to a null velocity. The first simple model would consider the static friction as a constant, usually higher than the Coulomb friction, as described in [2] and illustrated in Figure 3(a). This approximation creates a discontinuity when the system velocity crosses zero, and thus can cause numerical issues and torque instabilities.

The Stribeck/Coulomb/Viscous friction model

In this approximation the transition from static to Coulomb+viscous friction is progressive: the friction first decreases with increasing velocity from rest state, before increasing again following the Viscous friction model. This is called the Stribeck effect, as shown in Figure 3(b). In some cases, the initial friction drop can be significant, and the overall friction appears not to have the Coulomb component.

Figure 3: Models of friction force versus angular velocity. (left) Static, Coulomb and viscous friction model. (right) Negative viscous, Coulomb and viscous friction model (Stribeck). Source: [2].

The previous models are all static, i.e. the model parameters are the same for all working regimes (joint velocities). They are unable to properly describe what happens at zero velocity (stick phase) or in the transition from stick to slip phase. Considering the joints of a humanoid robot, they operate near zero velocity or cross zero velocity quite often. In this case a dynamic or switching model is preferred. Some models, more complex, deal with hysteresis and have a local memory of previous slip/stick states, but this is out of the scope of this thesis, and will be addressed in a future work.

2.3 The Brushless Motor Control and Modeling

Motor Control and PWM to Torque Transfer Function

The BrushLess DC motor (BLDC) is a ”synchronous” motor: the rotor is composed of a hub holding permanent magnets arranged in alternating pole pairs; the stator generates a magnetic field that can be rotated through electronic commutation or modulation of the current in the stator windings [7]. The motor driver uses the feedback on rotor position for aligning the stator field always along the rotor quadrature axis, which results in maximum constant torque for a given PWM setpoint, and independent from the rotor angular position. This can be achieved through Sinusoidal Commutation Control or Field Oriented Control if the loop is closed on the Park Transform of the measured phase currents [8] [9]. In this case, the motor torque , the amplitude of the rotating magnetic field, the common amplitude of the sinusoidal currents on all three phases of the stator and the motor input parameter PWM are all linearly dependent.

The rotation of the magnetic field generated by the rotor induces an electromotive force (Faraday’s law) in the stator windings, , also called Back ElectroMotive Force (Back EMF), and therefore an induced current. The Back EMF is proportional to fixed parameters like the number of winding turns per phase , the rotor radius , length and magnet flux density , and to a variable parameter which is the rotor velocity [7]:


We can then write:


Where is the motor driver input parameter, the rotor angular velocity, is the PWM to torque coefficient and is the velocity to Back EMF torque coefficient. Here we added a residual generalized friction term which could be the friction on the axis bearings. We can assume to be negligible compared to the Back EMF counter torque which can be considered as a viscous friction, since it acts as a counter torque proportional to the rotor velocity.

2.4 Velocity, Torque and Power Conversions by Reduction or Coupling Drives

2.4.1 Harmonic Drives

Close after the motor in the actuation chain, the harmonic drive is the next component to transform the transmission dynamics variables, namely the angular velocity, the torque and the rotor apparent inertia in the sub-system [motor]-[harmonic drive]. We describe in 4 a spinning mass with the respective rotational inertia and angular velocity both expressed on the point of the shaft. We can apply this model to an humanoid robot main joint motor group, where is the harmonic drive and is the lumped mass of the fast rotating parts—the rotor and the harmonic drive wave generator. We observe a torque across the point of the shaft. The harmonic drive transforms the three dynamics quantities , and depending on the step-down ratio , such that from its output point of view, i.e. on point , the mass is seen rotating at an angular velocity , the output torque is , and the rotational inertia is . We give a more detailed explanation on these conversions further on.

Axiom .1

A reduction drive doesn’t inject power into a mechanical system: it is conservative with respect to the power of the torques applied to input shaft, except for the power loss due to friction and the potential power stored in the elastic deformation of the drive components. The same principle is applicable to cable driven coupling mechanisms like the differential drives on humanoid robot.

In the harmonic drive, the friction lies in the contact between the wave-generator and the flex-spline, and in the contact between the flex-spline and the circular spline gear teeth.

Conversion of angular velocity and torque:

We write the identity between the input power and the output power. We consider the effect of the generalized friction in the reduction drive as a negative power added to the input:

Figure 4: Reduction drive dynamics conversions.

and in view of the unaltered input to output velocity ratio, we get:


Where is the generalized friction in the reduction drive expressed on and the generalized friction expressed on . We can either consider that the resulting input to output torque ratio is changed from to or consider an ideal friction-less reduction drive with torque ratio in series with a friction brake applying .

Conversion of angular momenta:

Since the derivative of an angular momentum is equivalent to a torque, it is converted by the gearbox ratio the same way, as follows:


Which makes be the apparent inertia of the spinning mass . We then realize that in the case of a motor group on a humanoid robot, even when the standalone inertia of the rotor is negligible, it might not be the case of its apparent inertia if the actuation chain is using a high ratio gearbox and performing fast rotations: is then four orders of magnitude greater than .

Static friction and stiffness in Harmonic drives

In the study [10], the authors characterized the friction and stiffness in harmonic drives by running load tests on the drives, and observe that the static friction, referred to in the article as “dry friction torque”, depended on the applied load and on the angular position of the rotating shaft. This dependency was highlighted by the hysteresis in the experimental results. They defined multiple hypothetical mechanical models of the harmonic drive in order to match the experimental observations. The models were always composed by three dynamic parameters: the friction between the gear teeth; the stiffness of the flexspline; and the play in the gears. These parameters were then combined in different, sequential arrangements: friction (F) - play (P) - Stiffness (S); F-S-P; S-P-F; and so on. They concluded verifying their initial observations and retained the model best matching the experimental results: stiffness-friction-play, with an almost null play and a friction torque of .


2.4.2 Differential Cable Drives

Power, velocity and torque conversion:

Differential drives, when used, are commonly placed at the front end of a transmission chain for routing and coupling the transmission power from a set of motors to a set of joints. They can be found on a humanoid robot for coupling the waist yaw roll pitch joints to three motors 0B4M0, 0B3M0 and 0B3M1 as shown in Figure 5 and illustrated in the functional sketch 5

. The same principles apply here as for the reduction drives. We define the vectors of motor velocities

and torques as being the drive input, and the vectors of joint velocities and torques

as being the drive output. The mapping between motor and joint velocities is defined through a bijective linear transformation

, as done in [11, 3.3.3]. can be expressed as an invertible coupling matrix defined as follows:

Figure 5: Differential drive coupling on the waist joints: the yaw, roll and pitch joints are actuated by the motors 0B4M0, 0B3M0,and 0B3M1 in differential configuration. Source: [11, Fig.5, 6].

The identity between the input and output mechanical power still holds [11, section 3.3.3]:

Static friction and stiffness

We will not analyze the effect of the cables stiffness or the friction in the differential drive, instead we will assume that effect can be modeled the same way we did for the harmonic drives model, only this time with higher static friction and lower stiffness.

3 Methodology

3.1 Assembling the Joint Actuation Model

We consider a joint actuation chain composed of a single motor M, a gearbox (or harmonic drive) G , and a rotary joint, as shown in Figure 6. A input voltage feeds the motor, and the actuation chain delivers a joint torque . For building the full joint transfer function mapping the input PWM to the output joint torque, we concatenate the sub-models described in the previous section—the motor model (4) and the harmonic drive model (7, 8, 10)—and integrate them in the system Euler equation.

Figure 6: Kinematic chain representing a single joint.

3.1.1 Angular momenta and Euler equation

We can write the Euler dynamics equation for the system, which equates the sum of torques applied on the system to the time derivative of the added angular momenta of the rotating elements. In this analysis we consider the child link rotating with the joint as an external element with respect to the joint actuation system:


where and are respectively the rotational inertia of the motor and the gearbox projected on the rotation axis such that and are scalars. In the above equation, all the derivatives are defined with respect to the same inertial frame, and expressed on the same point of the axis at the reduction drive output. In view of 7, 8 and 10, we expand the motor torque and reorder the terms as illustrated in Figure 7, and rewrite the equation solving for :

Figure 7: Parallel representation of the physical model of a single joint actuation and the respective transfer function in the Laplace domain. represents the motor block grouping the brush-less motor and the harmonic drive.

3.1.2 Equivalent Motor PWM Torque

We define the motor PWM torque as the torque produced after the PWM input parameter and applied on the rotor, not accounting for any friction effect of mechanic or electric nature, i.e. the linear term , being the equivalent parameter of the [motor + harmonic drive] block:


3.1.3 Equivalent Friction model

We can see that a series of terms contribute to the overall friction torque applied to the shaft: the friction on the rotor bearings , the Back EMF torque , the friction in the reduction drive , and the friction on the joint bearings . The approach adopted in this methodology consists in grouping all these friction terms in a single friction model, which could be the Static/Coulomb/Viscous or the Stribeck friction model.

All the terms are grouped in a single Static friction term , a single Coulomb friction term and a single viscous friction term : all the friction on the bearings contributes to the terms and , although we could consider them negligible with respect to the friction in the harmonic drive and the Back EMF; the Back EMF in particular is a linear function of and so has the properties of a viscous friction; the friction in the harmonic drive contributes to the three terms , and , with a significant static friction component as we will observe in the experiment results.

Assumption .1

For professional grade bearings, or at least in the case of iCub’s brushless motors and joints bearings, the static friction on those bearings is negligible with respect with all the other friction terms and will be ignored.

We can write the three terms , and as follows:


Where , and relate to the nature of the friction—respectively Coulomb, viscous and static—and , , relate to the origin of the friction—respectively the motor bearings, harmonic drive (gearbox) and joint bearings. is the maximum static friction measured at zero velocity.

3.1.4 Identification of The Equivalent Model Parameters

In view of (15), (16) and (17), we can rewrite the output joint torque as:


The identification of the motor and gearbox inertial parameters is out of the scope of this thesis, so we assume they are given. We then need to identify the motor parameter and the friction parameters , and .

The identification will be performed in two phases: the first phase identifies the viscous friction parameters , and ; the second phase identifies the motor parameter . This approach allows to simplify the fitting of the model parameters by reducing the problem dimension for each phase of the identification.

3.2 First phase - friction parameters identification

3.2.1 Symmetric Coulomb/viscous Friction Model

We initially only consider the Coulomb and viscous friction components, for describing the base estimation algorithm, and will later introduce the static friction component. We need to place the system in a condition where only the friction torques are present and acting on the shaft. This is achieved by setting the motor input to zero, canceling the motor PWM torque and leaving only the motor internal mechanical friction and the counter torque due to the Back EMF. In normal operating conditions, the Back EMF adds a significant contribution to the overall joint actuation friction, and for this reason, it’s crucial to account for that contribution in this phase of the identification. The Back EMF creates induced currents in the motor electromagnetic coils circuit 111located in the stator in the case of brushless motors which result in a torque opposed to the motor PWM torque. Setting the parameter as mentioned above, instead of turning off the motor, allows to keep the stator circuit closed and the Back EMF current to flow. In view of (18) and , we express the joint torque as follows:


Where the joint velocity and acceleration are respectively measured from joint encoders or inertial sensors. The joint torque is measured by a joint torque sensor or estimated from Force-Torque sensors measurements and a modified inverse dynamics algorithm as seen in [12, Chapter 4 section 4.4.2]. We get the training data from a set of measurements, and then fit the model (19) by defining and solving the over-constrained linear system below:




where is the measured velocity at instant , is the column vector of the joint angular acceleration measurement samples and is the column vector of the joint torque measurement samples. Obtaining the system (21) is straightforward as it’s just the matrix formulation of (19). The linear least squares solution can be computed by inverting the matrix through a Moore-Penrose left pseudo-inverse:


is of full column rank since the second column is an evenly distributed set of velocities and so cannot be a multiple of the first column which is a series of elements. The matrix is well conditioned, assuming that we use a reasonable range of joint velocities and have a low level of noise in the encoder measurements. In any case, we verify numerically the condition number of that matrix in the experiments in section 4.

3.2.2 Stribeck/Coulomb/viscous friction model

If the static friction in the reduction drive is significant, for instance around or higher, the results obtained with the models proposed above will not result in an accurate fitting, giving a good approximation at higher velocities, and a poor approximation near zero velocities, where the friction torque curve appears to be quite non linear, and right before the state transitions to a “stick” phase, as we will observe in the experiment results (4.1). The non linearity and the unaccounted effects of the “slip-stick” phase transitions are aggravated when the joint reaches or crosses the zero velocity.

For that reason we now integrate in the estimation algorithm the model combining the Coulomb and Viscous friction components with the Stribeck effect [2] [13]. The Stribeck effect is modeled here with an empiric non linear function, but still linear with respect to the fitting parameters. The function we are looking for has to approximate the torque response characterized by the plot in Figure 10, which strongly resembles the Stribeck model depicted in 3 and analyzed closer in this section. For that and in view of (17), the overall friction function has to meet the following properties:

By applying (17) in each of the above equations we get:


We could have chosen for an hyperbolic function but such function would have a singularity at that could be avoided with the shifted function: , only this introduces a new parameter with respect to which would be non-linear. The good candidate we found is an exponential function linearly parameterized. Let’s consider the function . is symmetric with respect to the origin, coincides with in the half-plane , and coincides with in the half-plane , as illustrated in figure 8. We can then write:

Figure 8: Decomposition of Stribeck model into Coulomb/Viscous + exponential function.

where , , and are respectively the step and ramp functions such that:


So the overall friction can be posed as the linear system:


with and defined as follows:


3.3 Second phase - Motor Parameter Identification


The friction coefficients having been identified, we can now use them in the joint dynamics equation (18) for identifying . The approach is then equivalent, defining a system correlating this time the input duty cycle and the output joint torque , where is the only unknown parameter. From (18) we can write (20) with:


where . accounts for an eventual offset current in the stator windings. A null motor current and torque could then be obtained from an input value . The system is solved as the previous one, through the computation of a Moore-Penrose left pseudo-inverse.

3.4 The Coupled Joints Case

The kinematic and dynamic coupling implemented by the differential drives has to be accounted for when correlating joint with motor torques. this aspect significantly impacts the measurement procedures and the estimation results. Let us consider three joints actuated by three motors through a differential coupling. We depict in Fig. 9 the respective actuation system.

3.4.1 Velocities and torques transformation

Figure 9: Kinematic chain representing three coupled joints, the gearboxes and motors. , and are respectively shaft angular velocities and the measured or estimated torque on the motor C transmission chain. is the output joint torque estimated on the joint .

We’ve seen in section 2.4.2 how to transform velocities (11) and torques (12) between the input and the output of a coupling system like the differential drive on the torso. If we apply (11) and (12) to the quantities illustrated in the figure 9, we get:


3.4.2 Decorrelating the coupled motors

At this point we have the choice between two methods: either we express all the quantities at the joint level in the algorithms proposed in this section like (21) and (32), either we express them at the point of each motor group shaft , and and apply the algorithms on the torques or or . This second approach is indeed simpler: we first transform all the joint velocities and torques measurements and , into the respective transformed quantities and expressed in the point of the motor group shaft , and , as illustrated in 9. We then just have to apply the proposed methodology described in sections 3.2 and 3.3, using in place of . This converts the problem into three independent problems, each on a single motor actuation chain.

The first method is motivated by the choice to perform the estimation joint wise, each joint ”seeing” a virtual motor resulting from its interaction with the coupled motors. In this case, each joint is moved alone, which results in the coupled motors moving simultaneously. The second method instead, is motivated by an estimation motor wise, which then requires to constrain the motors to move one by one and to focus on the estimation of that motor’s actuation chain parameters.

The idea is to constrain all the power to be exchanged only between one motor and the three coupled joints. Let’s consider the actuation chain between the motor and the three joints for the friction and motor parameters identification. We first block the remaining motors and in any desired position (e.g. position initially giving the origin position of the three joints). We then apply the torque transformation to get the joint torque projected on the motor actuation chain illustrated in Fig. 9 and defined as follows:

where is the column of related to motor . We then apply the dynamics equation 18 to , replacing by and by . At last we solve the system for the friction and motor parameters following the algorithms proposed in 3.2 and in 3.3.

We followed the second method, which presents the following benefits: it is less sensitive to model uncertainties that can arise from bad estimates of the coupling reduction ratios and the cables elongation in case of a cable driven differential; it allows to track unexpected slip/stick phase transitions separately for each of the three motor actuation chains; whatever the complexity of the coupling it will be easier to cover a desired range of velocities on each motor.

In platforms having Field Oriented Control motor drives, the motor velocity can be estimated from the measurements of a high resolution encoder placed on the motor stator, which benefits from much higher accuracy compared to the typical three hall-effect sensors used in motors driven by a Trapezoidal Control.

4 Experimental Results

We have tested the estimation algorithms proposed in section 3, on the robot iCub. We have estimated the joint friction and motor parameters on the right leg knee and on the coupled joints—yaw, roll, pitch—connecting the waist to the torso. The sensors data were captured at 100Hz sampling rate: joint positions, velocities, torque and motor velocities.

4.1 First Phase - Friction Parameters Identification

4.1.1 Procedure

After setting the to zero, we apply an external torque to the joint in an oscillating motion 222This can be done manually or with an external actuation.. It is preferred to avoid significant accelerations in order to minimize and eventually neglect the inertial terms, otherwise we use the inertial sensors measurements for estimating and accounting for the inertial terms. We then apply the method described in 3.2.1 on the acquired data. When applying the model, we verified numerically that the matrix is well conditioned, which is a requirement for the pseudo-inverse computation to give an accurate solution.

4.1.2 Experiment Results

The plot in Figure 10 shows the friction estimation results on the right leg knee, a single joint free of any coupling or cable driven actuation.

Figure 10: Friction model fitting results on the right leg knee. Coulomb/Viscous model parameters: , . Stribeck model parameters: static frictions , ; ; . : Boundary Lubrication regime, : Full Fluid Lubrication regime (viscous friction).

As we can observe in the plot 10, the model (cyan color line) doesn’t seem to fit well the data near the zero velocity: while at zero velocity the model gives a Coulomb friction , the measured torque is twice as high, rising up to .

Later tests on most of the joints on the right leg of iCub—hip pitch/roll/yaw, knee—revealed the same consistent increase of friction when the joint velocity decreases to zero, similar to the Stribeck effect, as can be observed in all the plots of friction torque in this section. When the surfaces are in solid-to-solid contact, we are in a regime called “Boundary Lubrication”, the sheared solid surfaces being the boundary lubricants.

Unlike the Coulomb/Viscous model, the Stribeck model (as seen in the same figure) gives a good estimate of and . Although we get approximately the same coefficient , differs significantly between the two models.

A better fit of the “Boundary Lubrication”:

The constraint on the derivative of the model function at zero velocity, , ensures that we better fit the “Boundary Lubrication” plateau. we can observe the fitting improvement in Figure 10, where we applied the constraint on the right derivative, i.e. .

We have run a friction estimation trial on all the right leg joints, listed in the table 1. These results haven’t been validated yet with the low level controller. On top of that, the present low level controller doesn’t integrate yet static nor Coulomb friction compensation.

4.1.3 The Coupled Joints Case

The PWM-to-torque identification results are illustrated in Figure 11, showing the impact of the Harmonic Drive hysteresis on the measured output torque. The motor velocity-to-friction torque model identification results are equivalent to those obtained for a single joint and will not be illustrated in this paper.

Figure 11: Hysteresis in the PWM to torque characteristics due to static friction in the harmonic drive.
right hip pitch 1.31 2.24 1.16
right hip roll 2.49 0.96 0.50
right hip yaw 1.30 2.58 1.22
right knee 1.27 1.95 0.69
right ankle pitch 2.90 0.71 1.32
right ankle roll 2.05 1.29 1.20
Table 1: Friction parameters extimation results on the iCub right leg joints.

5 Conclusions

The paper first defines a detailed model of a typical joint low level actuation sub-system used on a humanoid robot with electrical actuators, then extends the model to coupled joints. It then highlights how a linear PWM-to-torque model (before the conversion in the Harmonic Drive), free of ripples, depends on the motor hardware and a Field Oriented Control mode for tracking the motor current. The Back EMF and the friction in the Harmonic Drive are identified as the main sources of friction. The method uses a least squares fitting algorithm for identifying the parameters of the Stribeck model, with three dynamic regimes: elastic deformation, Boundary Lubrication, Full Fluid Lubrication. This model fits the better the measured friction torques. Unlike previous works on friction identification, the method presented here was performed in open loop control, relying on the joint torque estimations based on force-torque sensors instead of motor currents adjusted by a closed loop control. This guarantees a simpler and more reliable control of the motor input, avoiding any quantization in the motor torque response, and better revealing in the plots the static friction from the Harmonic Drive. In a future work, the identified friction parameters shall be used on a dynamic friction model.


  • [1] Parmiggiani, A., Maggiali, M., Natale, L., Nori, F., Schmitz, A., Tsagarakis, N., Victor, J.S., Becchi, F., Sandini, G., Metta, G.: The design of the icub humanoid robot. International Journal of Humanoid Robotics 09(04), 1250,027 (2012). DOI 10.1142/S0219843612500272
  • [2] Van Geffen, V.: A study of friction models and friction compensation. DCT 118, 24 (2009)
  • [3] Stolt, A., Robertsson, A., Johansson, R.: Robotic force estimation using dithering to decrease the low velocity friction uncertainties. In: 2015 IEEE International Conference on Robotics and Automation (ICRA), pp. 3896–3902. IEEE, Seattle, WA, USA (2015). DOI 10.1109/ICRA.2015.7139742
  • [4] Linderoth, M., Stolt, A., Robertsson, A., Johansson, R.: Robotic force estimation using motor torques and modeling of low velocity friction disturbances. In: 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 3550–3556. IEEE, Tokyo (2013)
  • [5] Stolt, A., Carlson, F.B., Ardakani, M.M.G., Lundberg, I., Robertsson, A., Johansson, R.: Sensorless friction-compensated passive lead-through programming for industrial robots. In: 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 3530–3537. IEEE, Hamburg, Germany (2015). DOI 10.1109/IROS.2015.7353870
  • [6] Popovic, M., Goldenberg, A.: Modeling of friction using spectral analysis. IEEE Transactions on Robotics and Automation 14(1), 114–122 (1998). DOI 10.1109/70.660854
  • [7] Akin, B., Bhardwaj, M., Warriner, J.: Trapezoidal Control of BLDC Motors Using Hall Effect Sensors p. 34 (2011)
  • [8] Kiran, Y., Swamy, D.: Field Oriented Control of a Permanent Magnet Synchronous Motor using a DSP. International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering 03(10), 12,364–12,378 (2014). DOI 10.15662/ijareeie.2014.0310008
  • [9] Yousef, A.Y., Abdelmaksoud, S.M.: Review on Field Oriented Control of Induction Motor 2(7), 13 (2015)
  • [10] Chedmail, P., Martineau, J.P.: Characterization of the friction parameters of harmonic drive actuators. WIT Transactions on The Built Environment 22 (1970)
  • [11] Nori, F., Traversaro, S., Eljaik, J., Romano, F., Del Prete, A., Pucci, D.: icub whole-body control through force regulation on rigid non-coplanar contacts. Frontiers in Robotics and AI 2, 6 (2015). DOI 10.3389/frobt.2015.00006
  • [12] Traversaro, S.: Modelling, estimation and identification of humanoid robots dynamics (phd thesis). Italian Institute of Technology. Retrieved from (2017)
  • [13] Harnoy, A., Friedland, B., Cohn, S.: Modeling and measuring friction effects. IEEE Control Systems Magazine 28(6), 82–91 (2008). DOI 10.1109/MCS.2008.929546