Next Article in Journal
Techno-Economic Analysis of Tilt Angle Adjustment in Fixed Tilt Angle Systems at a Real PV Power Plant
Previous Article in Journal
CGA-ViT: Channel-Guided Additive Attention for Efficient Vision Recognition
Previous Article in Special Issue
Automation and Robotics Pilot Lines in the Context of Industry 5.0
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Study and Implementation of State Observers for Flexible Industrial Manipulators Including Friction

1
Department of Electronics and Telecommunications, Politecnico di Torino, Corso Duca degli Abruzzi 24, 10129 Turin, Italy
2
COMAU SpA, Via Rivalta 30, 10095 Grugliasco, Italy
*
Author to whom correspondence should be addressed.
Appl. Sci. 2026, 16(4), 1743; https://doi.org/10.3390/app16041743
Submission received: 12 January 2026 / Revised: 2 February 2026 / Accepted: 5 February 2026 / Published: 10 February 2026
(This article belongs to the Special Issue Feature Papers in Robotics and Automation)

Abstract

The experimentation of state observers for the reconstruction of the angular velocity of the links of a flexible industrial manipulator is investigated in this paper, in the presence of unmodeled or uncertain parts. Considering only one axis moving at a time, a study is done to understand how faithfully the dynamics of the machine can be reconstructed using simple single axis models, extending them to take into account the multi-variable dynamics of the system and trying to reconstruct the action of non-linear friction as well. The goal is to show how a good estimate of the interactions between the links can be obtained, with the final aim of including it into a control architecture. Various models of different complexities have been tested with both the asymptotic Luenberger observer and the steady-state Kalman filter. The presence of friction is taken into account by a feedforward compensation or by the addition of a disturbance observer synthesized as a pole placement regulator. First, the observers are tested in simulation, then on real data from a Comau Racer 7-1.0 robot. To evaluate the quality of the reconstruction, a virtual sensor obtained from the identification of the manipulator is used, and then a final test is carried out using a real Xsens gyroscope. An accurate analysis of the achieved results is provided, devoting a particular attention to the trade-off between model complexity, estimate accuracy and computational burden in view of a possible future insertion into the control architecture of an industrial robot.

1. Introduction

In recent years, industrial robots are playing an increasingly important role in different applications and their performances are required to be much more accurate. In addition, there is also the desire of reducing costs, improving safety, and reaching high-speed and precision during the process of performing tasks. The nonlinear flexibilities and high frictional losses found in lightweight industrial robots with harmonic drive transmissions, make this objective a challenging operation. Furthermore, costs reduction of the mechanical hardware of the manipulators, if not compensated by a better performance of the control system, results in a dry loss of the quality of movement, loss of dynamic and static accuracy and, therefore, results in a loss of value for the end customer. This fact, over the years, has led all the major robot manufacturers to invest in more refined and advanced control and trajectory optimization techniques.
This paper is focused on flexible joint manipulators. The standard assumption that is made for the design of robot kinematics, dynamics and control is that manipulators consist only of rigid bodies. This is, however, an ideal situation that can only be considered valid for slow movements and small interacting forces [1]. In a real case, the elasticity of the joints must be taken into account. Considering elastic phenomena is important when high speeds or higher levels of accuracy must be achieved. There are several contributing factors that lead to the presence of resonances (linearized models are good for an approximate analysis, assuming that the elasticity is concentrated in the joints, but they are only an approximation). However, resonance phenomena can never be attributed to transmissions alone.
It is possible to identify sources of oscillation mainly in:
  • Drive shafts
  • Gearboxes
  • Elastic deformations of the mechanical structure
  • Non-ideal and distributed constraint reactions.
Nonlinearities are attributable to the transmission components (nonlinear friction, backlash). The lower resonance frequencies are primarily due to elastic deformations of the links and their inertial loads. Under certain conditions, the first resonant frequency is correctly predicted by the well-known model of two masses connected via an elastic element.
Harmonic drive systems can be modeled with joint flexibility in order to reduce modeling error and improve control [2], but incorporating this phenomenon in the dynamic model requires the knowledge of the rotation speed and rotation position of the mechanical arms about the controlled axes. These state variables are not generally measured, since on-board sensors, in most cases, measure the position and angular speed of axis motors.
Modern control architectures often include a state observer, which can be considered as a mathematical sensor. This component processes available signals from the plant to provide physical signals that are not already available for controlling the plant. It reconstructs the state vector through direct calculations using available output (motor positions) and input (motor current references) sequences, together with a model of the plant.

1.1. State of the Art

The literature focused on the development of observers for flexible industrial manipulator in the presence of uncertain parts is wide.
An extended Kalman filter (EKF) is developed in [3] for precise estimation of the position of the end-effector of a two-axis robotic arm with flexible links by employing direct end-effector position measurements in addition to the standard joint position ones. Two states are added to the EKF’s model in order to partially compensate for the joint angle encoder calibration errors and kinematic ones. The dynamics of these states is represented by a zero-derivative, since they reflect bias errors in the joint angle measurements.
In [4], an adaptive controller is proposed for flexible-joint space manipulators. An extended state observer (ESO) with two extended state variables is developed to accurately estimate the manipulator’s velocity states as well as the joint stiffness uncertainties.
In [5], a linear extended state observer (LESO) is designed to implement a feedback linearization-based control law, proposed for the trajectory tracking control of a single-link flexible-joint robotic system. The goal of the ESO is to estimate the state vector, as well as the uncertainties, unmodeled dynamics, and external disturbances. Assuming a small rate of change of uncertainty, the ESO error dynamics shows asymptotic stability.
In [6], it is shown that, when compared to the first-order ESO, the higher order ESO can provide better state estimation for sinusoidal disturbances as long as the observer bandwidth is chosen to be substantially larger than the disturbance’s frequency and sufficiently smaller than unmodeled high frequency dynamics.
In most practical cases, the system output is corrupted by measurement noise. The influence of the noise on system performance is greater, if the observer bandwidth is wider. In order to reduce the influence of noise, in [7] a first order low-pass filter is designed and added into the design of ESO. This procedure separates most of the noise from the input signal, and the observer’s estimation ability is improved. However, the low-pass filter also introduces a time-delay.
In [8], an extended state observer is used to estimate both the unmeasurable system states and acting lumped disturbance. A structure composed by a Kalman filter and ESO is proposed in order to get over the sensitivity to measurement noise. While the latter is in charge of online state and disturbance reconstruction, the former acts as noise filtering.
In [9], a state observer for a two-link flexible arm has been analyzed. It receives as measured inputs the joint angular position and velocity and three deflection measurements obtained through an optical transducer. The presence of vibration modes and noisy deflections requires the observer to perform a filtering action, achieved with a Kalman-Bucy filter, which finds the best linear estimate of the state by calculating the steady state filter gain matrix.
For robots with flexible joints, both the friction torques at the input of the gearbox and those acting downstream of the transmission can strongly influence the system performance, especially for robots with high gear ratio and for high-speed applications. For these reasons, friction modelling, identification, and compensation have been addressed by a number of researchers.
A simple method is model-based friction compensation that requires to know a precise friction model. However, friction is a highly nonlinear, complex phenomenon and its parameters can vary with time, joint position, load or with temperature. So, this method is often quite inaccurate. Furthermore, static friction torques highlight the existence of an internal state of friction which introduces the need for a dynamic and non-static model, as a function of speed. For these reasons, it is appropriate to model friction using advanced models such as Lu-Gre [10] or Dahl [11]. However, these friction models can work in real world applications only introducing strong identification, model calibration techniques and adaptive updating of parameters in real time. This means that the complexity does not reduce with these approaches. Some research projects (as [12]) demonstrate that, probably, generalized Maxwell-Slip Model is the best approach for modeling and compensation of friction in mechatronic systems. It is oriented to integration with state observers, but it appears complex and requires tuning of many parameters.
One of the most promising methods is observer-based control, where a Disturbance Observer (DO) or a Proportional-Integral Observer (PIO) is used to estimate friction and unknown inputs affecting the system [13]. This method has the advantage of being model-free and has been shown to be effective in practice to reject frictional effects.
In [14], a linear disturbance observer for friction compensation was proposed for flexible joint robots with joint torque sensing in order to increase the positioning accuracy and the performance of torque control. For the analysis, a standard friction model containing Coulomb friction and viscous friction is considered.
A Nonlinear Disturbance Observer (NDO) for two-link robotic manipulators is presented in [15]. A revised friction model is used, due to the discontinuity of the friction characteristics at zero velocity. By carefully selecting the observer gain function, global convergence is guaranteed, based on Lyapunov theory. The disturbance is assumed to vary slowly with respect to the observer dynamics.
In [16], a systematic design procedure is derived for a disturbance observer for the compensation of low-frequency disturbances. The principle of separation, which applies for an asymptotic state observer, also holds for the disturbance observer. Therefore, the poles of the closed-loop system can be placed independently from the poles of the augmented observer.
It must be underlined that in the papers in the analyzed literature, the focus is either on the use of a state observer, modeled as a Luenberger observer or a Kalman filter with some additional states ([3,4,5,6]) or on the specific estimation of the friction components ([14,15,16]). First, refs. [3,4] use a model with only two additional states, not considering friction. In [5], only one additional state is used in the extended state observer, but it does not include friction and a less complex single link manipulator is considered in the experimental phase. In [6], a more complicated model is used for the extended state observer, but it does not have a practical verification in an industrial scenario and it does not include friction. In [14,15,16], the focus is only on friction estimation, without using an extended model to obtain state estimation.
The present work introduces an innovative solution with respect to the analyzed literature, combining both the adoption of an extended state observer and the friction estimation, and carrying out an extensive experimentation with models of different complexities and even a verification on an industrial robot, as illustrated in the next subsection.

1.2. Innovative Contribution of the Paper

The objective of this paper, which comes from a collaboration between Comau and Politecnico di Torino, is the experimentation of state observers for the reconstruction of the angular velocity of the links of a Comau Racer 7-1.0 industrial non-rigid manipulator, in presence of unmodeled or uncertain parts, taking into account friction, too. The Racer 7-1.10 robot is an anthropomorphic robot with 6 degrees of freedom, but the analysis is restricted to axes 2 and 3 only (while the other links are kept at a fixed joint position, with minimum mutual interaction with joints 2 and 3), like in a 2 link, vertical SCARA robot.
The final aim of the work carried out through this collaboration will be the future development of a control architecture of manipulators, representing a trade-off between a simple decentralized control and a complex centralized control. The envisaged architecture will include estimates of the interactions between the links, achieved by observers implementable in an effective way, i.e., compatible with performances and computational burden required by an industrial control software architecture.
The main specific contributions of this paper, investigating different solutions for the structure and complexity of the observers, can be summarized as follows:
  • Study and experimentation of observer models using simple single axis models so that the complexity is reduced, extending them to take into account the multi-variable dynamics of the system. Some additional observable (non-measurable) state is used to reconstruct the interaction with the outside world, that otherwise would not be taken into account in the nominal model of the joint.
  • Ability to distinguish between the driving torque that changes the state of the system and friction. An additional external observer for each axis (an input disturbance observer synthesized as a pole placement regulator with cancellation of the closed loop poles of the inner asymptotic observer), reconstructs the friction components that are not immediately estimated, as well as the effect of other motor input disturbances not modeled at low frequency.
For each model, two different approaches are tested:
1.
Luenberger observers, whose gain matrix have been evaluated through a pole placement technique.
2.
Kalman Filter, whose gain matrix have been obtained tuning Q and R covariances.
The rest of the paper is organized as follows. Section 2 provides an analysis of the specific problem: the dynamics of flexible manipulators and the linear reduced model are described. In Section 3 the basics of observers are presented. In Section 4 the models of the tested observers are described. Section 5 illustrates the friction management methods, the approach applied to estimate the friction parameters and the method used for gravity compensation. Section 6 presents the experiments conducted in simulation, along with the obtained results. In Section 7 the results of the tests on real data coming from the robot are reported, both using a virtual sensor and a real gyroscope. Section 8 discusses the achieved results and suggests potential future works.

2. Manipulator Dynamic Model

The dynamics of a non-rigid manipulator can be approximated with a lumped parameter model, in which the links are considered as rigid bodies and concentrated stiffness parameters are associated, in the form of torsional (and/or linear) springs in revolute (and/or prismatic) joints. Considering only elastic joints, actuated by motors, the Spong’s model [17] is obtained, that is the basic model in which robots are considered as non-rigid systems. The model is nonlinear and is divided into three groups of equations:
M ( q ) q ¨ + C ( q , q ˙ ) q ˙ + G ( q ) + f l ( q ˙ ) + β l q ˙ = τ l
J m q ¨ m + β m q ˙ m + f m ( q ˙ m ) + Ntr 1 τ l = K t I r e f
τ l = K ( Ntr 1 q m q ) + β ml ( Ntr 1 q ˙ m q ˙ )
where q is the vector of angular positions that describe the trajectory of the centers of mass of the link, q m is the vector of the angular positions of the motors, K is the diagonal joint stiffness matrix, β ml is the matrix of dampers, I r e f is the vector of the (quadrature) currents of the motors, Ntr is the matrix including the reduction ratios of the mechanical transmissions (it is considered diagonal assuming that there are no significant kinematic coupling terms), G ( q ) is the gravity torque, C ( q , q ˙ ) includes the centripetal and Coriolis terms, f l ( q ˙ ) is the vector of non-linear friction on the links, f m ( q ˙ m ) is the vector of non-linear friction on the motor, β l is the diagonal matrix of viscous linear friction coefficients on the links, β m is the diagonal matrix of linear friction coefficients on the motor, τ l is the torque provided through the elastic elements in the mechanical system, J m is the inertia matrix of the motor, M ( q ) is the inertia matrix of the manipulator.
Equation (1) is the Lagrangian equation of the links, constituted by rigid bodies. Equation (2) is the dynamic equation on the motors side. Equation (3) is the Hooke’s law.
In this model, concentrated torsion springs are considered, which represent both the elastic torsion of the transmission but also bending effects of the real robot, which lie in the plane of rotation of the links, about the motorized axis. Therefore, they are less rigid torsional springs than those that define the elastic characteristics of the transmission only. Gyroscopic coupling effects between links and motors are assumed negligible: this hypothesis is acceptable, in practice, when considering high gear ratios in Ntr .
Starting from the Spong’s model, we are looking for a reduced, simpler model, valid in the considered case, i.e., when only one joint is moved at a time. To do this, we consider a certain q = q 0 and then we take into account the variations of q , to determine a Linear Parameter Varying (LPV) model.
Remark 1.
The minimum-order strategy is a necessity because plausible-order MIMO observers would present implementation difficulties due to the high order structure. The standard pole placement solution, for extended asymptotic observer, is extremely time and resources consuming. In the case where multiple axes are in operation, the low-frequency part of the inertial interactions can be calculated with rigid multi-body models and introduced into state estimation (as an additive external input signal to LPV observer), as a current practice in industrial control. High-medium frequency mutual interactions (interaction at the level of vibration modes) should be reconstructed from the additional state variables, as it will be experimentally verified in the performed tests.
The nonlinear parts of the complete model are considered as known torques calculable based on q and q ˙ . Then, in q = q 0 , the following equation appears as linear.
M ( q 0 ) q ¨ + β l q ˙ + τ ext = τ l
where τ ext includes the nonlinear parts of the model (the vector of gravitational torques, the vector of Coriolis torques, the vector of nonlinear components of the friction torques acting on the links, the mutual inertial torques of any degrees of freedom not modeled but present in the system). The mutual inertial torques relating to the modeled degrees of freedom are represented by the off-diagonal terms of the product M ( q 0 ) q ¨ .
However, as the position in the operational space varies, the matrix M ( q 0 ) changes, so the system is LPV. The matrices should be recalculated, because the inertia matrix varies as the position of the robot varies. However, the investigation is done moving only axis 2 and keeping axis 3 at rest, while the other axes are all stationary in a certain condition. For the purposes of the reduced model the working condition of the manipulator does not change, because the inertias of axes 2 and 3 remain the same.
State estimation and control algorithms are implemented at discrete-time. The discretization of the model is done using a sampling step T s = 400 μs under the hypothesis of:
1.
synchronous sampling step
2.
a transport delay of 650 μs, representing the network transmission delays. The drive dynamics, i.e., the relationship between the reference current I r e f and the torque τ m generated by the motor ( τ m = K t I r e f ), is assumed to be instantaneous and static.
3.
adoption of a zero-order-hold filter.
The zero-order-hold filter is used in the discretization process, because it is the solution adopted in the industrial control architecture. No predictive interpolation of values is performed (as it would be done using a first-order hold filter). The considered transmission delay of 650 μs, too, is coherent with the real functioning of the industrial control architecture. In particular, it results from:
  • buffering delays in the information exchange between the tasks that constitute the controller (i.e., between the encoders data acquisition and the control command computation);
  • communication delays between processors on the signal field bus;
  • actuation delays for the current control (performed by the drive), which has a limited, even if very wide, bandwidth.

3. Basics of Observers

An observer is a dynamical system which, having as inputs the output y ( t ) and the input u ( t ) of the considered dynamical system, generates an estimate x ^ ( t ) of its state x ( t ) .
The estimate error is defined as:
e ( t ) = x ^ ( t ) x ( t )
An estimator is an asymptotic state observer if it holds:
lim t e ( t ) = lim t x ^ ( t ) x ( t ) = 0
In particular, a Luenberger observer [18] is an asymptotic state estimator for linear systems.
Considering the state space equations of a discrete-time Linear Time Invariant (LTI) system, given by:
x ( t + 1 ) = Ax ( t ) + Bu ( t ) y ( t ) = Cx ( t ) + Du ( t )
the asymptotic estimator takes the form:
x ^ ( t + 1 ) = A x ^ ( t ) + B u ( t ) L ( y ^ ( t ) y ( t ) ) y ^ ( t ) = C x ^ ( t ) + D u ( t )
where L is the gain matrix. The condition lim t e ( t ) = 0 is satisfied only if ( A LC ) has asymptotically stable eigenvalues.
In the case of the Luenberger observer, the rapidity with which the estimate error converges to zero is established through the frequencies imposed to the eigenvalues. Increasing their frequency, the convergence speed of the error increases, but also the noise increases as well.
The Kalman filter [19] is a recursive filter that evaluates the state of a dynamic system starting from noisy measurements. Systems subject to uncorrelated process noise v 1 ( t ) and measurement noise v 2 ( t ) are considered. The state space equations of a discrete-time LTI system with noise can be expressed as:
x ( t + 1 ) = Ax ( t ) + Bu ( t ) + v 1 ( t ) y ( t ) = Cx ( t ) + v 2 ( t )
where the noises v 1 ( t ) and v 2 ( t ) are assumed to be uncorrelated, white and Gaussian.
The Kalman filter works by propagating the estimate of the mean and covariance of the state over time. Like many other state-of-the art observers, it is based on the following two phases:
1.
Prediction: at time t 1 , compute a prediction x ¯ ( t ) of the state x ( t ) and a prediction P ¯ of the covariance P of the estimation error, using the system model:
x ¯ ( t ) = A x ^ ( t 1 ) + Bu ( t 1 )
P ¯ = APA T + Q
where Q is the covariance matrix of v 1 ( t ) .
2.
Update: at time t, the prediction x ¯ ( t ) is corrected using the output measurement y ( t ) , thus providing a more accurate estimate x ^ ( t ) of the state as:
x ^ ( t ) = x ¯ ( t ) + K ( y ( t ) C x ¯ ( t ) )
with
K = P ¯ C T S 1
S = C P ¯ C T + R
P = ( I KC ) P ¯
where K is the gain matrix, and R is the covariance matrix of v 2 ( t ) .
Through simple operations, we obtain:
P ¯ = A ( P ¯ P ¯ C T ( C P ¯ C T + R ) 1 C P ¯ ) A T + Q
K = P ¯ C T ( C P ¯ C T + R ) 1
The first of these equations is called discrete algebraic Riccati equation. The second one provides the filter gain matrix.
On the whole, the Kalman filter can be expressed in a general form similar to Luenberger’s as:
x ^ ( t + 1 ) = A x ^ ( t ) + B u ( t ) K ( y ^ ( t ) y ( t ) ) y ^ ( t ) = C x ^ ( t ) + D u ( t )
The Kalman filter has quadratic stability based on a Lyapunov function. The observer asymptotically provides an estimate of the state, but the speed of convergence to zero of the estimate error cannot be established.
The Kalman filter design is based on the choice of the covariance matrices Q and R . These matrices can be defined from the available information on v 1 ( t ) and v 2 ( t ) .
  • R is the diagonal covariance matrix of the measurement noise and is chosen as the standard deviation of the measured values from the real values obtained from measurements on a real machine.
  • Q is a positive symmetric covariance matrix, which represents all process noises affecting the system (e.g., unmodeled dynamics and parameter uncertainties). The values on the diagonal are directly related to the corresponding states. Off-diagonal values represent interactions between different states. This matrix is usually obtained with trial-and-error techniques, which rely on users’ experiences and background.
In [20], an estimation approach is proposed to adaptively adjust Q and R matrices at each step of the Extended Kalman filter (EKF) to improve dynamic state estimation accuracy. Different from the state-of-art Kalman filter, which keeps the covariance matrices constant, they are updated during each correction step. An innovation-based method is used to adaptively adjust Q . A residual-based method is used to adaptively adjust R . However, users need to select adequate initial values for Q 0 and R 0 in the initialization step.
In this paper, we prefer to apply a trial-and-error technique to define the initial values of the matrices, and keep them constant during the estimation. This option is the most used in literature, since it is highly flexible and useful for finding practical, immediate solutions, providing a structured way to explore possibilities. It is worth noting that, despite the empirical method adopted for the initial values of the Q and R matrices, the structure of the covariance matrix, which introduces the presence of state error noise, is designed just to represent uncertainty and the unmodeled parts of the plant in a non-random way.

4. Implementation of Different Observers

In the considered situation, the manipulator dynamic model is reduced to the double pendulum case (relative to axis 2 and 3 only), analytically eliminating the other 4 axes considered as braked and ideally rigid (they have no elastic contributions). Axis 2 is considered as the observed system, and axis 3 as additional dynamics.
The simplified model thus obtained, which will be used in the construction of the observers, can be divided into two blocks, connected by mutual inertial torques in feedback, as shown in Figure 1, where the same notations used in Equations (1)–(4) are adopted:
1.
The nominal part of the model coincides with the modeled dynamics of the center of mass of the robotic arm, referred to the rotation axis 2.
2.
The higher order part is defined as the “uncertainty function”.
The mutual inertial action, which introduces higher order modes of vibration, can be represented in the nominal model as an external torque disturbance Δ ( ω ) , which acts on the torque balance at the output of the elastic joint. The Δ ( ω ) signal changes the nature of the system from an isolated and single-variable system to a multi-variable system. It is reconstructed by introducing additional state variables that could be observable, but not controllable. The various types of observers considered in this paper will be distinguished by the way such signal Δ ( ω ) is modeled.
The structure of the observer model, in state-space representation, is expressed by the following strictly proper ( D = 0 ) system of equations:
x ^ ( t + 1 ) = A x ^ ( t ) + B u ( t ) + B 1 τ pred L ( y ^ ( t ) y ( t ) ) y ^ ( t ) = C x ^ ( t )
where:
  • u = I r e f 2 , where I r e f 2 is the joint quadrature current induced by the motor of axis 2. Note that only axis 2 is controlled, while axis 3 is considered as a parasitic (driven) axis, with motor braked in a fixed position;
  • y = q 2 m , where q 2 m is the motor position of axis 2;
  • x ^ is the state vector, whose size and definition depend on the specific observer model adopted;
  • τ pred is the deterministic part of the τ ext torque, that can be calculated based on the dynamic model of the manipulator, as detailed in Section 5. It is taken into account as an additional input to the model;
  • L is the gain matrix, whose computation depends on the type of observer adopted (i.e., the Luenberger observer or the Kalman filter).
The complete expressions of matrices A , B , B 1 and C are available in Appendix A for the cases that are investigated in the following subsections, where four different models are taken into account for the observer. They are distinguished according to the state variables included in the state vector. The first three models correspond to state-of-art solutions, whereas the last one is given by a more complex system here proposed. In the first case, a 6-state observer is adopted, in which the complete model that also contains the braked axis 3 is used to better describe the reality of the physical plant. This representation is very demanding, since in addition to the parameters of axis 2, the rest of the structure should be known well. In the 5-state observer, only one state is added to the nominal model to take into account all the unmodeled parts. In the 4-state observer, no states are added to the nominal model of the isolated axis 2. Finally in the 7-state observer, the additional state is powered by its own dynamic block, i.e., a filter with the pass-band aligned with the frequency range in which the interaction between axes 2 and 3 takes place.

4.1. 6-State Observer

In this case, the state vector is defined as:
x ^ = q ˙ 2 q ˙ 3 q ˙ 2 m q 2 q 3 q 2 m
The degrees of freedom that correspond to the braked actuator (axis 3 motor) are eliminated, whereas the elastic dynamics of link 3 is present (since the link is not braked), even if the motor is braked.
The frequency response of the transfer function between the current reference and the speed of the motor of axis 2 computed using the parameter values of the considered robot (i.e., a Comau Racer 7-1.10), is shown in Figure 2.
It is worth to notice that in the frequency range between 10 and 100 Hz there are alternating transmission zeros and resonant poles. This behaviour is typical of non-rigid systems and it represents the mutual interaction between the axes.

4.2. 5-State Observer

In this case the state vector is reduced to:
x ^ = q ˙ 2 q ˙ 2 m q 2 q 2 m τ e x t
Axis 2 is considered as an isolated system and the additional state τ e x t represents all the torques acting on the link’s center of mass that are not explicitly modeled in the observer.
Figure 3 shows the the frequency response of the corresponding transfer function.

4.3. 4-State Observer

The state vector is here further reduced to:
x ^ = q ˙ 2 q ˙ 2 m q 2 q 2 m
It is the simplest model in which axis 2 is alone and mutual inertial torques are not included.

4.4. 7-State Observer

A more complex structure is here considered, in which the state vector is defined as:
x ^ = q ˙ 2 q ˙ 2 m q 2 q 2 m τ e x t τ ˙ e x t x 7
In this case, while the first four states in (23) are given by velocities and positions of the axis 2 (on link and motor sides), the last three ones correspond to an additional dynamic block that accounts for the interaction between axis 2 and 3. In particular, the fifth state, τ e x t , is powered by a filter with the pass-band aligned with the frequency range in which the interaction between axes 2 and 3 takes place. The state becomes longer and more difficult to manage, since there are more gains to calibrate, but it is much more focused on the description of the interactions between the two axes.
Various types of filters have been investigated, but the only one that makes the overall system completely observable is a resonant low pass filter of the following type:
H ( s ) = τ e x t X 7 ( s ) = ω n 2 1 + 2 ζ ω n s + ω n 2 s 2
where ω n = 50 · 2 π rad/s, ζ = 1 2 · Q , Q = ω n b w , where b w is the bandwidth that in this case is b w = 90 Hz.
The frequency response of the transfer function between the current reference and the speed of the motor of axis 2, computed for the 4-state and 7-state model using the parameter values of the considered robot, keeps the form shown in Figure 3 for the 5-state case.
Table 1 summarizes and compares the characteristics of the various observer models that have been tested in terms of model, main features, computational complexity and applicability to industrial scenarios.

5. Friction and Gravity Management

This section illustrates the methods used to manage the presence of friction, and details the role and definition of the predictable torque in the observer equations.
The predictable torque τ pred in (19) is a feedforward term that allows to take into account the dynamic components that are not included in the observer’s model, thus enhancing the robustness of the observer itself. It is the deterministic part of the τ ext torque, that can be calculated before the simulation based on the dynamic model of the manipulator. As said before, the investigation is done moving only axis 2 and keeping axis 3 at rest, while the other axes all stationary in a certain condition. Therefore, the predictable torque acting on link 2 is made up of:
  • Gravity torque
  • Inertial torque: apart from axis 3, which is more influenced by the movement of axis 2, it is assumed that the other axes do not vibrate, and therefore they do not generate mutual inertial torque impacting on link 2.
  • Coriolis terms: they tend to be naturally neglected because only axis 2 moves.
Therefore, only the gravity components need to be calculated (gravity is transferred from a disturbance acting on the motor to a disturbance acting on the center of mass of the link). Since gravity depends on the position, the gravitational torque acts at very low frequency below 10 Hz (a frequency range that is separate from vibrations). Therefore the presence of vibrations does not cause problems and the gravity torque can be computed using the dynamic model for a rigid machine. The gravity torque is defined as a sinusoidal function of the axis angular position, and is estimated applying the least squares estimation method, as formulated in Appendix B. With reference to such formulation:
  • The regression matrix is composed by the sine and the cosine of the angular position of axis 2. The position values used for the computation are obtained by processing the motor position samples in radians, and expressing them downstream of the reduction ratio, thus obtaining the position of the link as if the machine were ideally rigid.
  • The regressor is given by the motor torque K t I r e f .
While the predictable and gravity torques act downstream of the elastic elements (downstream of the transmission), friction is considered, for convenience, as a disturbance active on the transmission, and therefore essentially on the motor. Friction appears in (2) as composed of two terms (a linear and a nonlinear one), added to the torque transmitted by the motor to the mechanical system (the arm) in producing the driving torque, i.e., the total friction F on the motor is given by:
F = f m ( q ˙ m ) + β m q ˙ m
Only the linear part β m q ˙ m is included in the state-space model of the observer described in Section 4 (see the expressions of the system matrices in Appendix A). The nonlinear part, instead, f m ( q ˙ m )  represents a missing information for the observer that must be taken into account. The presence of friction causes anomalies in the reconstructed states, such as offsets or fictitious accelerations/decelerations. Without distinguishing the torque transmitted to the link and friction, it is not possible to reconstruct the operating state of the link, starting from the knowledge of the motor current and the motor position measurement only. This issue determines the need for accurate modeling of friction, in particular, of friction acting on the motor.
Two solutions are tested to model the nonlinear part of friction. The first one is the simplest and widely adopted, given by the Coulomb friction model, even if it can present some critical issues, as discussed in Section 5.1. The second solution, which represents an original contribution of this paper, is based on the introduction of an external disturbance observer to model friction as an uncertain input signal to the motor, as illustrated in Section 5.2.

5.1. Friction Modeling Through Coulomb Model

The nonlinear part of friction on the motor is here considered as purely of Coulomb type. Its representation is a static function of velocity; the most adopted expressions are based on arctangent or sigmoid functions of the rotation velocity. In particular, the arctangent function is chosen to model the term f m ( q ˙ m ) in (2) as β c a r c t a n ( q ˙ m ) . The resulting friction force on the motor is in this case given by:
F = β c a r c t a n ( q ˙ m ) + β m q ˙ m
where β c and β m are the two diagonal matrices including the parameters representing Coulomb friction and viscous friction, respectively.
The Coulomb friction term is inserted in the observer Equation (19) by subtracting it from u = I r e f 2 . This way, the observer is aware that a part of the currents applied to axis 2 are spent to balance the friction torques. The observer state equations are then modified as follows:
x ^ ( t + 1 ) = A x ^ ( t ) + B [ u ( t ) C w a r c t a n ( x ^ i ( t ) ) ] + B 1 τ pred L ( y ^ ( t ) y ( t ) ) y ^ ( t ) = C x ^ ( t )
where C w = β c ( 2 , 2 ) K t ( 2 , 2 ) and i is the index of the state vector corresponding to the state q ˙ 2 m . In the case of the 6-state model i = 3 , for the other models i = 2 .
The arctangent model works very well together with viscous friction, when the system is moving at medium-high speed, but the presence of the Stribeck effect, when the axis begins to rotate at a very low speed, or sliding friction phenomena cannot be traced back to such simple models, leading in general to quite inaccurate results.
In the analyzed context, the arctangent model is chosen anyway, because it is simple and represents a good compromise between accuracy and complexity. The introduction of a disturbance observer, constituting the focus of this paper, as illustrated in Section 5.2, will allow to achieve good results anyway, since the estimate it provides takes into account also the effects of the friction phenomena not explicitly included in the adopted arctangent model. Moreover, the motor input disturbance observer is simple, robust and it does not require strong calibration as Lu-Gre [10], Dahl [11] or the generalized Maxwell-Slip [12] models (just frequency bandwidth definition is sufficient).

5.2. Insertion of an External Disturbance Observer Synthesized as a Pole Placement Regulator

The use of an additional observer, defined as an input disturbance observer, represents a significant contribution of this paper to model friction as an uncertain input signal to the motor.
The disturbance observer was built as a synthesis of a regulator via pole placement algebraic approach, which produces a non-measurable signal at the motor input (that is used to reconstruct the friction components that are not directly estimated), and the missing part of the dynamics in the observer. The characteristics of this type of disturbance observer are the following:
  • It presents a trend with low frequency integrative action on the error position of the inner observer (dimensionally corresponding in practice to a rotation velocity). It is aimed at allowing a good representation of static and non-linear friction components.
  • It allows a better estimate of input disturbances, reducing their effect on the estimate of states that are not directly measurable.
  • It fixes the position of the poles of the internal state observer, using cancellation zeros. It allows the dynamics to be assigned to the disturbance observer independently of the pole assignment of the inner observer. The result is a greater robustness of the stability properties.
Pole placement control with pole cancellation process solves a Diophantine equation (with pole assignment of the complementary sensitivity function) after having fixed the poles of the inner state observer by introducing transmission zeros at the poles position on the complex plane. This cancellation by the outer loop fixes the poles of the inner loop, known without any uncertainty, and prevents any migration along a root locus. Therefore, the separation principle holds: the poles of the overall system are those assigned to the inner loop plus those assigned to the outer loop and they are all stable by construction. The detailed design of the proposed resulting structure is provided hereafter, after the following Remark.
Remark 2.
The stability of the observer’s inner loop is guaranteed by the usual assignment of eigenvalues of a control applied to a plant which is a pure mathematical model (there is no uncertainty). State reconstruction may not be compliant with the physical state, but the internal stability of the observer is guaranteed. The overall stability of the full observer (inner and outer) is ensured, robustly, by the synthesis method applied in the outer loop. A control technique is used, classic and well-known in industrial applications, which is the pole-placement with poles cancellation process [21]. When the internal observer is an extended Kalman filter, the closed-chain “poles” are neither known nor assigned. However, since the EKF dynamics is stable (as it can be proven via well-known techniques of Lyapunov stability analysis), it can be approximated with a linear (or LPV) system, whose poles can be evaluated. Then the condition of an internal, stable control loop, and an external control loop that uses transmission zeros to ensure the stability of the complete system holds in this case, too.
The scheme in Figure 4 shows the system consisting of the plant and the observer, characterized by the state-space equations in (28) and (29), respectively. The input u and the output y are those defined in (19) and the part related to the predictable torque is ignored for simplicity.
In the plant model:
x ( t + 1 ) = A p x ( t ) + B p [ u ( t ) + C w d ( t ) ] y ( t ) = C p x ( t )
the term d ( t ) represents a friction disturbance on the motor affecting the plant as an additional input, C w is defined as in (27). The plant represents the considered system, including also the braked axis 3; the state vector is the one defined for the 6-state model (20). The state-space matrices A p , B p , C p are the same reported in Appendix A.1.
In the observer model:
x ^ ( t + 1 ) = A x ^ ( t ) + B u ( t ) L ( y ^ ( t ) y ( t ) ) y ^ ( t ) = C x ^ ( t )
the state vector and matrices change depending on the model used, as illustrated in Section 4.
Given an augmented state x ˜ = [ x ; x ^ ] and an augmented input vector u ˜ = [ u ; d ] , we can derive the following complete system consisting of the plant and the observer, whose output e is the observer’s estimation error:
x ˜ ( t + 1 ) = A ˜ x ˜ ( t ) + B ˜ u ˜ ( t ) e ( t ) = C ˜ x ˜ ( t )
The complete expressions of matrices A ˜ , B ˜ and C ˜ are given in (31).
A ˜ = A p 0 L C p A LC , B ˜ = B p B p C w B 0 , C ˜ = C p C
Starting from the scheme in Figure 4, the complete system consisting of the plant, the observer and the disturbance observer, is developed as in Figure 5.
Here, the observer’s input is no longer the entire current that is applied to the drive, but only the remaining part, after the sum of the disturbance observer’s contribution.
The complete system can be considered as a regulator, aimed at making the observer’s estimation error e  converge to zero. This zero-regulation technique is used to add an integrative action to the system and to produce an estimate of the disturbances that conceptually affect the input.
To construct the pole placement regulator, we consider the 1dof architecture in Figure 6, where G ( z ) = N ( z ) D ( z ) represents the transfer function of the complete system in (30) between the friction disturbance d and the observer’s estimation error e , and D o ( z ) = S ( z ) R ( z ) is the digital controller and represents the disturbance observer’s transfer function. As mentioned before, r is the regulator reference and is equal to zero.
We assume that: N ( z ) , D ( z ) are coprime (i.e., they have no common roots), G ( z ) is strictly proper (i.e., d e g ( D ( z ) ) = m > d e g ( N ( z ) ) , D ( z ) is monic (i.e., unitary leading coefficient), N ( z ) has no roots at z = 1 , D o ( z ) is proper (i.e., d e g ( R ( z ) ) = v d e g ( S ( z ) ) .
The transfer function between the reference r and the output e is given by:
W ( z ) = G ( z ) D o ( z ) 1 + G ( z ) D o ( z ) = N ( z ) S ( z ) D ( z ) R ( z ) + N ( z ) S ( z ) = B m ( z ) A m ( z )
The problem is to design a controller D o ( z ) to place the roots of the closed loop characteristic polynomial A m ( z ) at given arbitrary locations. The problem can be solved by imposing the following diophantine equation:
D ( z ) R ( z ) + N ( z ) S ( z ) = A m ( z )
Pole-placement design reduces to the algebraic problem of finding polynomials R ( z ) and S ( z ) that satisfy (33) for given N ( z ) , D ( z ) and A m ( z ) . The problem can be always solved if the polynomials N ( z ) and D ( z ) do not have common factors.
Collecting the poles at z = 1 , G ( z ) and D o ( z ) are expressed as:
G ( z ) = N ( z ) ( z 1 ) l 1 D ( z ) , D o ( z ) = S ( z ) ( z 1 ) l 2 R ( z )
where d e g ( D ( z ) ) = m l 1 , d e g ( R ( z ) ) = v l 2 .
The closed loop transfer function from r to e becomes:
W ( z ) = N ( z ) S ( z ) ( z 1 ) l D ( z ) R ( z ) + N ( z ) S ( z ) = B m ( z ) A m ( z ) , l = l 1 + l 2
The diophantine equation then becomes:
( z 1 ) l D ( z ) R ( z ) + N ( z ) S ( z ) = A m ( z )
where ( z 1 ) l D ( z ) and N ( z ) are coprime.
To simplify the main closed loop dynamics, stable zero-pole cancellations between G ( z ) and D o ( z ) can be imposed:
G ( z ) = N + ( z ) N ( z ) ( z 1 ) l 1 D + ( z ) D ( z )
where N + ( z ) and D + ( z ) are the “stable” factors that can be cancelled.
To cancel N + ( z ) and D + ( z ) , R ( z ) and S ( z ) must be of the form:
R ( z ) = ( z 1 ) l 2 N + ( z ) R ( z ) , S ( z ) = D + ( z ) S ( z )
The controller then becomes:
D o ( z ) = S ( z ) R ( z ) = D + ( z ) S ( z ) ( z 1 ) l 2 N + ( z ) R ( z )
The diophantine equation to be solved is:
( z 1 ) l D ( z ) R ( z ) + N ( z ) S ( z ) = A m ( z )
In the considered case, the characteristics of the synthesis (pole placement by cancellation of the dominant poles) are:
1.
cancel all the dominant poles: D + ( z ) = D ( z ) , D ( z ) = 1
2.
keep the zeros in the output: N + ( z ) = 1 (and hence R ( z ) = R ( z ) ), N ( z ) = N ( z )
3.
presence of an integral action: l 2 = 1
4.
no poles at z = 1 in the plant: l 1 = 0 . The disturbance observer can only be designed on structures that do not have internal integral actions.
Combining the above information and choices, the diophantine equation to be solved is:
( z 1 ) R ( z ) + N ( z ) S ( z ) = A m ( z )
To obtain the feasibility of the regulator, it is necessary to specify as many poles of the closed loop as the number of poles of the system plus 1 or 2. In the simulation and experimental tests, the dominant pole of the closed loop was chosen at 10 Hz, the other poles were chosen as the inner observer’s poles. The feasibility of the input disturbance observer is affected by the model used by the observer that reconstructs the state of the axis.
Figure 7 shows the frequency response of the transfer function between the friction disturbance and the estimation error using the 5-state model for the observer, whose state vector is defined in (21).
The 5th state τ e x t , as explained in Section 4.2, represents all the torques acting on the link’s center of mass that are not explicitly modeled in the observer. As we can see from Figure 7, the additional state τ e x t provides an integrative action that generates a zero at the origin in the transfer function. This state tends to absorb all the causes of error and it does not allow to distinguish between them: with a 5th order observer, it is not possible to physically distinguish between mutual inertial torque, acting on the center of mass, and friction. Therefore, in the case of the 5-state model it is not possible to add the disturbance observer action to the system.
Figure 8 shows the frequency response of the transfer function between the friction disturbance and the estimation error using the 4-state model for the observer, whose state vector is defined in (22).
The blue function represents the frequency response of the system before adding the disturbance observer: we can see that there is no longer a zero in the origin. The orange function represents the frequency response transformed by the addition of the regulator. The addition of an external regulator to the observer, from the point of view of error reduction, achieves the same objective of the 5th state case: it tends to reduce the error to the minimum possible, but this time the integrative action is not inside the model of the system, but is external.
The frequency response of the transfer function between the friction disturbance and the estimation error, computed for the 6-state and 7-state model, keeps the form shown in Figure 8 for the 4-state case. Therefore, even for the 6-state and 7-state models, it is possible to add the disturbance observer to the system, because the frequency response before its addition does not have a zero at the origin.

5.3. Estimation of Friction Parameters

The goal of this part is to estimate the friction parameters that are descriptive of the axes we are considering (2 and 3). In particular, the vector of parameters to be estimated is given by:
[ β m ( 2 , 2 ) , β m ( 3 , 3 ) , β c ( 2 , 2 ) , β c ( 3 , 3 ) ]
where β m ( i , i ) and β c ( i , i ) , i = 2 , 3 , are the elements of the friction matrices in (26).
A movement program is made so that the considered axis (2 or 3) cycles back and forth at a constant speed (it goes from negative to positive strokend). To measure friction well, the axis must travel a fairly significant angular section at constant speed to obtain a trapezoidal speed profile: for very fast manipulators, if the speed is maximum and the acceleration is reduced to 40%, a triangular profile is obtained (it accelerates, reaches a maximum value and then decelerates) and friction cannot be measured. For this reason, a speed reduction factor is introduced. To carry out a data consistency analysis, three movement programs are tested: two for axis 2 (one with axis 3 extended and one with axis 3 folded) and one for axis 3 (the position of axis 2 is chosen to allow the travel of axis 3 to be extended as much as possible). The measurement cycle is repeated 5 times by changing the speed.
Two estimation procedures are tested. The first one provides a complete regressor, which serves to derive not only the friction terms but also the gravity torque and the overall inertial torque in such conditions. The least squares estimation method is applied as detailed in Appendix B, starting from the motor differential equations; in particular:
  • The regressor is the motor torque K t I r e f , that balances all the acting torques.
  • The regression matrix is given by the sine and the cosine of the angular position of axis 2 (gravity), the angular velocity of axis 2 (viscous friction), the sign function of the angular velocity of axis 2 (Coulomb friction) and the acceleration of axis 2 (inertial torques). Also in this case, the position values used for the computation are obtained by processing the motor position samples in radians, and expressing them downstream of the reduction ratio.
Figure 9 shows the estimate of friction motor torque (viscous and Coulumb) as a function of the motor speed.
The second estimation procedure includes gravity detrending, i.e., the estimated gravity contribution is subtracted from the current to remove its effects before estimating the friction parameters. Figure 10 shows the current reference as a function of the motor position before and after gravity detrending.
At the beginning and at the end, there are the acceleration and deceleration phases, which correspond to the positive and negative current peaks: they are cut because we consider only the sections of constant non-zero velocity.
In this case, all friction components are condensed in the regressor as a constant velocity torque. The friction curve is constructed by points using the least squares estimation method in each phase at constant non-zero velocity. The details of the problem formulation and solution are given in Appendix B. Then, in this case:
  • The regressor is the motor torque K t I r e f from which the gravity estimate is subtracted.
  • The regression matrix is given by a constant matrix of ones.
Figure 11 and Figure 12 show the sum of the viscous and Coulomb friction motor torque as a function of the motor speed, obtained for the 3 movements previously described.
The red dots correspond to the estimated friction per point for each constant speed section. The blue curves correspond to the upper and lower limits of friction (there are two curves because, depending on whether the section is traveled at decreasing or increasing speeds, different values are recorded). The dashed red curve corresponds to the average friction between the points. Such average curve is considered in the following, since it is a feasible simplification in practice.
Viscous and Coulomb friction parameters are estimated through a further linear regression, using again the least squares method, where:
  • The regression matrix is composed by the velocity and the sign function of the velocity.
  • The regressor is given by the average friction curve.
The green curve represents the estimate of friction thus obtained.
Table 2, Table 3 and Table 4 report the friction values obtained from the two parameter estimation methods and the average of the tests, for axis 2 (with axis 3 extended and folded) and for axis 3, respectively.
We can see that axis 2 has a slightly lower friction when the axis 3 is folded, but the order of magnitude does not change: this shows anyway that friction is not constant. The gearbox of axis 3 is a little smaller than that of axis 2, therefore it is reasonable that the level of both viscous and Coulomb friction is lower.
In conclusion, for both axis 2 and axis 3 the average values of the tests are chosen, considering the other values as upper/lower limits.

6. Simulation Results

All models were tested in both the simulation and experimental tests except the Kalman filter with the 4-state model and the Luenberger observer with the 7-state model, because they did not give acceptable results.
In the simulation tests, it is important to highlight that an additional test signal modeled as white noise is used to energize the system and to verify its behavior. In particular, excitation signals such as multi sinusoids are used to verify the quality of state reconstruction as the frequency content varies. In the Luenberger observer synthesis, the bandwidth has been maximized while taking measurement noise into account. The Kalman filter covariance matrices are designed to guarantee, under ideal simulation conditions, an equally good or better state reconstruction.
The nominal values of the dynamic parameters of the Racer 7-1.10 are used [22].

6.1. Closed-Loop Characteristics of the Observer in the Simulation Phase

Table 5 and Table 6 show the pole frequencies chosen in the simulation phase for the Luenberger observer and gain matrices of the Kalman filter, respectively.
The complex conjugate poles for the Luenberger observer are chosen as ζ ω n ± j ω n 1 ζ 2 . The simple real pole is chosen as 5 ζ ω n . For all the poles a damping ζ = 0.9 is chosen.
The pole frequencies of the Luenberger observer listed in Table 5 are chosen using a trial-and-error technique, assigning higher frequency values to the most uncertain states, even if there is not a strict correspondence between each eigenvalue to a specific state, because the A matrix is not diagonal. For example, in the case of the five-state model, a higher value is assigned to the last state, which represents the additional and therefore most uncertain state of the system. In general, the pole frequencies are chosen as dominant with respect to the vibration frequencies of the structure (i.e., the closed loop zeros of the transfer function between the current reference signal and the motor velocity).
As can be seen from Table 5, there is a tradeoff between model complexity and performance: if the model is very close to reality (6-state observer) then the reconstruction of the state in simulation is excellent even with low gains (there is less need to correct the estimate, because the 6th order observer has already internally represented the dynamic interaction between the axes); if instead a 4th order model is considered, a good reconstruction of the state can be obtained only with very high gains (the correction action balances the missing parts of the model), but noise sensitivity problems increase.
As far as the Kalman filter is concerned, matrix R is chosen as the standard deviation of the measured values from the real values obtained from measurements on the real machine, matrix Q is chosen as a positive symmetric matrix of the type Q = G · G T .
As can be seen from Table 6, the biggest diagonal value for the 5-state and the 7-state model has been assigned to the element representing the additional state, which is the most uncertain state of the system. For the 6-state Kalman filter, the biggest diagonal value has been assigned to the elements representing the position and velocity of motor 2, i.e., the measurable states. Off-diagonal values represent interactions between different states, e.g., the joint’s position and the motor’s position are related by the transmission ratio.

6.2. Analysis of Simulation Results

Figure 13 shows a detail of the reconstruction of the state (speed of link 2) with the 5-state Luenberger observer without friction compensation.
There are peaks in correspondence of passages from a situation where the axis is blocked by the static friction to a condition where the axis begins to slip. The observer, who is not aware of the presence of friction, interprets it as an oscillation on the mutual inertial couple and the reconstruction of the state is wrong from the physical point of view.
Figure 14 shows a detail of the reconstruction of the state (speed of link 2). Coulomb friction represented by the arctangent function is inserted in the 5-state Luenberger observer, as in (27). The reconstructions are much better than before; in particular, there are no longer peaks due to friction.
Figure 15 shows friction as reconstructed by the predictive model superimposed to the disturbance observer estimate illustrated in Section 5.2, when the 6-state Luenberger observer is used as internal observer.
From Figure 15 it can be seen that when friction is constant, the friction estimate of the disturbance observer tends to be very similar to the predictive model reconstruction; instead, when friction often changes, the disturbance observer acts as a sort of filter, because the transition is very fast, but the regulation system has a dominant pole at 10 Hz (it cannot follow dynamics faster than 10 Hz).
To perform a quantitative analysis of the results obtained in simulation, the fit percentage is used. The fit percentage is a criterion which, given two signals, measures the similarity of the signals on average, according to the following equation:
F I T = 100 · ( 1 | | Y Y ^ | | | | Y Y ¯ | | )
where Y is the reference signal, Y ^ is the signal reconstruction, Y ¯ is the mean of the reference signal.
In this case, Y is the angular velocity of link 2 coming from the plant and Y ^ is its reconstruction provided by the observer. For the plant, the 6-state model defined in Section 4.1 is used.
Table 7 shows the fit percentages obtained in simulation with and without friction compensation, for all the observer models that have been tested.
As it can be seen from the table, the results obtained by adding friction compensation with the Coulomb model are always better than those without friction compensation.
In conclusion, in a simulation environment, a good reconstruction of the state is obtained both with the Kalman filter and with the asymptotic Luenberger observer. However, it is an ideal and simplified scenario. In the considered context, there was a lot of information (because with the white noise the plant was energized well) and the plant was a linear model with simplified friction. Furthermore, all the friction components are attributed to the motor, without any kind of friction on the load.

7. Experimental Results

This section shows the achieved results by testing the observers on real data from the Racer 7-1.10 robot.
First, a virtual sensor obtained from the identification of the manipulator model is used, and then the final test is done with an Xsens gyroscope [23]. Acquisitions are made at 400 Hz, then a program with more exciting characteristics is tested.
For the experimental phase, the values of the dynamic parameters of the Racer 7-1.10 are obtained from two different models:
1.
A first approximation model (nominal, i.e., with data obtained from mechanical design), which is less precise.
2.
An identified model, which is local and optimized on the machine in a certain condition.
The model obtained from the identification of the manipulator provides parameters and information to develop the observer but, also, the way to predict, with an identified linear model, the angular speed of the axis link center of mass, starting from the motor angular speed and keeping into account all the observed vibrating modes. The pure predictive linear model can be used as a “virtual sensor” to predict the link rotation speed, provided that the inertia matrix does not change significantly during the single axis experiment. The identified linear model is effective in predicting vibrating modes excitation and frequencies. Therefore, the virtual sensor is employed before the introduction of a gyroscope to assess the state estimation, while using observer model with reduced order and reduced vibrating modes representation.
Remark 3.
In literature, articles that use virtual sensors often refer to model-based devices, created and characterized using identification techniques ([24,25]). In this work, gray box identification techniques were used, based on the estimation of the vibrating modes of the mechanical structure. The gray box identification of the experimental frequency response, implemented as a nonlinear fitting and based on a physical model, gives (optimal) model reduction while keeping the vibrating modes observed on the axis under experiment.
In these tests, motor torque oscillations are compensated. The torque ripple in permanent magnet brushless motors appears as an irregularity in the generation of the torque, which shows a ripple added to the nominal torque provided by the motor. A calibration of the drives of axes 2 and 3 was made, so that the torque disturbances of the motors are minimized in amplitude. The effects of motor saturation in the current-torque relationship are also taken into account: it is called saturation of the magnetic flux in the air gap, and causes apparent torque loss effects. In this case, current preprocessing is used to correct distortions introduced by saturation.

7.1. Analysis of Experimental Results

A motion recording of axis 2 is taken by assigning a relative pose with axis 3 held braked (there is a 90 °angle between axis 2 and 3). The program moves axis 2 back and forth at different speeds, with time intervals in which axis 2 remains still for a few seconds.
Figure 16 shows the link 2 velocity reconstruction superimposed to the virtual sensor. The first part of the signal reconstruction has been cut to avoid the transient.
In the following, a detail of the speed reconstructions of link 2, in which there is a reversal of motion, is shown to see the difference in detail between virtual and real sensor.
Figure 17 shows a detail of the velocity reconstruction of link 2 with the 6-state Luenberger observer superimposed to the virtual sensor (left) and to the real gyroscope (right). The gains are equal to the ones chosen in simulation.
Figure 18 shows a detail of the velocity reconstruction of link 2 with the 6-state Kalman filter superimposed to the virtual sensor (left) and to the real gyroscope (right). Also in this case, the gains are equal to the ones chosen in simulation.
Using the real data, the observers have a different oscillating transient, but the one that works best is the 6-state Kalman filter, comparing it with the virtual sensor. The prediction of oscillatory motion that the identification-based predictor gives does not appear in the result of the other observers. However, since it has very low gains compared to the other observers, the 6-state Kalman filter works too much in prediction and not enough in correction (since it has a predictive model that predicts oscillations, it keeps them in the estimate). This results in a reconstruction of the state subject to vibrations, very close to the estimate given by the virtual sensor, but different from the real behavior (gyroscope) in which the damping effect of nonlinear friction emerges. To increase the ability of the 6-state Kalman filter to correct the information, the gains must be increased, as it will be explained in Section 7.2.
Figure 19 shows a detail of the velocity reconstruction of link 2 with the 6-state Kalman filter with the covariance matrix discussed in Section 7.2.
With higher gains there is a more plausible reconstruction of the state that takes less into account the model’s oscillations.
The Luenberger asymptotic observer, on the other hand, is more capable to reconstruct the real velocity, including damping effects due to friction. It weights more the information derived from measurements than the predictive estimate. This suggests that the asymptotic observer is easier to tune to obtain realistic results. The cutoff frequency criterion more directly guides the tuning and the observer’s ability to reconstruct the state.
The important thing that can be noticed is that the virtual gyroscope showed more evident oscillations than the real gyroscope. Possible reasons are here listed:
  • The virtual gyroscope model is linear and the effects of nonlinear friction may dampen the vibrations a lot. The nonlinear friction acting on the output of the gearbox appears to have strong damping capacity.
  • There is also a problem of energization: if normal functioning signals are used, the energy level is not such as to create persistent oscillations, and the friction present in the transmissions is probably enough to dampen the signal.
  • The virtual gyroscope collects information from the machine when the dynamics is fast, it is well energized and the non-linear friction that acts is unable to dampen the vibrations.

7.2. Closed-Loop Characteristics of the Observer in the Experimental Phase

The gain values using the nominal values of the dynamic parameters are the same as those used in the simulation phase. Using the identified values of the dynamic parameters, the gains are changed. Table 8 and Table 9 show the pole frequencies values chosen in the experimental phase for the Luenberger observer and the gain matrices of the Kalman filter using the identified values for the dynamic parameters of the Racer 7-1.10.
The complex conjugate poles for the Luenberger observer are chosen as ζ ω n ± j ω n 1 ζ 2 . The simple real pole is chosen as 5 ζ ω n . For all the poles a damping ζ = 0.9 is chosen.
As for the Luenberger observer, using the identified values of the robot parameters allows to help the observer in estimating the state, and therefore it is possible to lower the gain values because less correction action is needed.
In the experimental analysis, the covariance matrix Q of the 6-state Kalman filter is changed with respect to the simulation: the uncertainty raises on what in the model represents the interaction with the second axis (i.e., the state corresponding to link 3 velocity in this case), because that is the most uncertain part. With higher gains there is a more plausible reconstruction of the state that takes less into account the model’s oscillations.

7.3. Fit Percentages

Table 10 and Table 11 show the fit percentages obtained with all types of observers compared with the real gyroscope with a sampling time frequency of 400 Hz.
Table 12 and Table 13 show the fit percentages obtained with all types of observers compared with the real gyroscope with the exciting trajectory.
Both in a normal signal context and with a more energized signal, all the tested observers work well. The result of the 4-state Luenberger observer seems to suggest maintaining a minimal description of the dynamics of axis 2 for the observer model. The best Kalman filter is the 7-state one that has a simpler model, but interprets the interaction with the outside world through a resonant low pass filter. In conclusion, if it is possible to represent the uncertain part of reality (even in an approximate way), the observer tends to function better. It is important to see that the results with identified data are always much better than those with nominal data.
Remark 4.
High fit percentage reported in Table 10 and Table 11 can be related to the use of a typical motion program for assessment that do not excite properly the robot dynamics. The reason is that the robot’s position and speed control are designed to ensure indirect damping of structural vibrations. There are transmission zeros in the closed-chain dynamic response that act as notch filters on the signals passing through the system. The reported result means that, at least for monitoring and diagnostic purposes of normal robot operations, the different solutions appear equally usable for reconstructing the rotation speed of robotic arms.

8. Conclusions

In this paper, different kinds of observers have been designed to estimate the state (link velocity) of a two-link non-rigid industrial manipulator, including the presence of friction. In a particular simplified condition in which there is only one axis moving at a time, the objective was to understand how faithfully the dynamics of the machine can be reconstructed using simple single axis models, trying to properly reconstruct the action of non-linear frictions and defining a minimum order model.
The specific goal was to check if the complexity of the observer can be reduced, by modeling each single axis (the second one in the analyzed case) considering only its own dynamics (i.e., as if it were isolated) with the addition of a further term related to some observable (not measurable) state.
This work has allowed also to understand that the friction at the transmission input, acting on the motor axis, can be observed. Two strategies have been investigated to allow the observer to take into account the presence of friction acting on the motor axis: the compensation of Coulomb friction in feedforward and the addition of an input disturbance observer, synthesized as a pole placement regulator. The friction at the transmission output has an effect on the damping of the oscillations that the models obtained by linearization-identification are unable to predict.
In a simulation environment, we managed to reproduce a good reconstruction of the state both with the Kalman filter and with the asymptotic Luenberger observer. However, it is an ideal and simplified scenario. As far as real data are concerned, the prediction made with a linear model deduced from the identification does not allow to see the damping action of friction, which instead it is shown by the real gyroscope. The Kalman filter for a model that has a nominal part plus an additional one simulating the uncertainty, gives the best reconstruction. Using a more accurate and better identified model, the quality of the reconstruction is better than with a first approximation model, and therefore better results can be obtained. Identification is very important in the observer’s project because the more precise is the model, the more reliable the reconstruction is.
On the basis of the carried out investigation, we can conclude that, for a good reconstruction of the state we must have:
  • A good model, i.e., very close to reality, as it could be quite obviously expected.
  • A way to compensate for the unknown part of the model (i.e., the part that is relevant to the functioning of the real system that we cannot explicitly represent in the model)
  • A reasonable calibration of the observer gains, with a very strong correction action, because it allows to include those elements that the predictive model does not take into account.
  • A model of all the disturbance signals that act on the system: those ones that are not represented or compensated lead to reconstruction errors. In particular, to have a very good reconstruction of the state variables, we must reconstruct the action of friction.
It is worth to notice that the parameters used by the proposed observers are mechanical parameters that are normally identified in industrial applications. Since we did not introduce more performative and explicit nonlinear models of friction, the observer robustness is not affected by thermal drift and wear acting on friction torques. The robot rigid multi-body model computation represents the biggest burden in real time implementation, but it is cheap for modern robotic industrial control architectures. The implementation of independent joints LPV observers can then be considered feasible, thanks to effective recursive computing solutions, which represent the state of art of industrial robotics since many years.
Some analyses could be done for future applications:
1.
The nature of the Linear Parameter Varying (LPV) system should be analyzed by updating the matrices every 10 ms. Otherwise, an adaptive re-evaluation based on the varying trend of the matrix could be applied.
2.
A more complex friction model could be used.
3.
Kalman filtering theory should be strengthen to understand how properly select covariance matrices.
4.
The final test done with the real gyroscope could be improved through a fine calibration between the three axes of the sensor and the rotation axis of the link (in this case it was done visually).

Author Contributions

Investigation, M.Z., A.M.B. and M.I.; Methodology, M.Z. and A.M.B.; Resources, A.M.B.; Validation, M.Z. and A.M.B.; Writing—Original Draft Preparation, M.Z.; Writing—Review and Editing, M.I. and A.M.B.; Supervision, M.I. and A.M.B. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

Data are contained within the article. Further inquiries can be directed to the corresponding author.

Conflicts of Interest

Author Aldo Maria Bottero was employed by COMAU SpA. The remaining authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.

Appendix A

This section provides the continuous time state space matrices for the observer models described in Section 4. They are obtained combining the Equations (1)–(3) together with the definitions of state, input and output.

Appendix A.1

For the 6-state model, the following (continuous time) state space matrices are obtained:
A = M ( 3 , 3 ) β l m l ( 2 , 2 ) det M M ( 2 , 3 ) β l m l ( 3 , 3 ) det M M ( 3 , 3 ) β m l ( 2 , 2 ) N t r ( 2 , 2 ) · det M M ( 3 , 3 ) K ( 2 , 2 ) det M M ( 3 , 2 ) β l m l ( 2 , 2 ) det M M ( 2 , 2 ) β l m l ( 3 , 3 ) det M M ( 3 , 2 ) β m l ( 2 , 2 ) N t r ( 2 , 2 ) · det M M ( 3 , 2 ) K ( 2 , 2 ) det M β m l ( 2 , 2 ) N t r ( 2 , 2 ) J m ( 2 , 2 ) 0 β m ( 2 , 2 ) + β m l ( 2 , 2 ) · N t r ( 2 , 2 ) 2 J m ( 2 , 2 ) K ( 2 , 2 ) N t r ( 2 , 2 ) J m ( 2 , 2 ) 1 0 0 0 0 1 0 0 0 0 1 0 M ( 2 , 3 ) K ( 3 , 3 ) det M M ( 3 , 3 ) K ( 2 , 2 ) N t r ( 2 , 2 ) · det M M ( 2 , 2 ) K ( 3 , 3 ) det M M ( 3 , 2 ) K ( 2 , 2 ) N t r ( 2 , 2 ) · det M 0 K ( 2 , 2 ) N t r ( 2 , 2 ) 2 J m ( 2 , 2 ) 0 0 0 0 0 0
B = 0 0 K t ( 2 , 2 ) J m ( 2 , 2 ) 0 0 0 , B 1 = 1 M ( 2 , 2 ) 0 0 0 0 0 , C = 0 0 0 0 0 1
where β l m l ( i , i ) = β l ( i , i ) + β m l ( i , i ) and det M = M ( 2 , 2 ) M ( 3 , 3 ) M ( 2 , 3 ) M ( 3 , 2 ) .

Appendix A.2

For the 5-state model, the following (continuous time) state space matrices are obtained:
A = β l ( 2 , 2 ) β m l ( 2 , 2 ) M ( 2 , 2 ) β m l ( 2 , 2 ) N t r ( 2 , 2 ) M ( 2 , 2 ) K ( 2 , 2 ) M ( 2 , 2 ) β m l ( 2 , 2 ) N t r ( 2 , 2 ) J m ( 2 , 2 ) β m ( 2 , 2 ) β m l ( 2 , 2 ) · N t r ( 2 , 2 ) 2 J m ( 2 , 2 ) K ( 2 , 2 ) N t r ( 2 , 2 ) J m ( 2 , 2 ) 1 0 0 0 1 0 0 0 0 K ( 2 , 2 ) N t r ( 2 , 2 ) M ( 2 , 2 ) 1 M ( 2 , 2 ) K ( 2 , 2 ) N t r ( 2 , 2 ) 2 J m ( 2 , 2 ) 0 0 0 0 0 0 0
B = 0 K t ( 2 , 2 ) J m ( 2 , 2 ) 0 0 0 , B 1 = 1 M ( 2 , 2 ) 0 0 0 0 , C = 0 0 0 1 0

Appendix A.3

For the 4-state model, the following (continuous time) state space matrices are obtained:
A = β l ( 2 , 2 ) β m l ( 2 , 2 ) M ( 2 , 2 ) β m l ( 2 , 2 ) N t r ( 2 , 2 ) M ( 2 , 2 ) K ( 2 , 2 ) M ( 2 , 2 ) K ( 2 , 2 ) N t r ( 2 , 2 ) M ( 2 , 2 ) β m l ( 2 , 2 ) N t r ( 2 , 2 ) J m ( 2 , 2 ) β m ( 2 , 2 ) β m l ( 2 , 2 ) · N t r ( 2 , 2 ) 2 J m ( 2 , 2 ) K ( 2 , 2 ) N t r ( 2 , 2 ) J m ( 2 , 2 ) K ( 2 , 2 ) N t r ( 2 , 2 ) 2 J m ( 2 , 2 ) 1 0 0 0 0 1 0 0
B = 0 K t ( 2 , 2 ) J m ( 2 , 2 ) 0 0 , B 1 = 1 M ( 2 , 2 ) 0 0 0 , C = 0 0 0 1

Appendix A.4

For the 7-state model, the following (continuous time) state space matrices are obtained:
A = β l ( 2 , 2 ) β m l ( 2 , 2 ) M ( 2 , 2 ) β m l ( 2 , 2 ) N t r ( 2 , 2 ) M ( 2 , 2 ) K ( 2 , 2 ) M ( 2 , 2 ) K ( 2 , 2 ) N t r ( 2 , 2 ) M ( 2 , 2 ) β m l ( 2 , 2 ) N t r ( 2 , 2 ) J m ( 2 , 2 ) β m ( 2 , 2 ) β m l ( 2 , 2 ) · N t r ( 2 , 2 ) 2 J m ( 2 , 2 ) K ( 2 , 2 ) N t r ( 2 , 2 ) J m ( 2 , 2 ) K ( 2 , 2 ) N t r ( 2 , 2 ) 2 J m ( 2 , 2 ) 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 M ( 2 , 2 ) 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ω n 2 2 ζ ω n ω n 2 0 0 0
B = 0 K t ( 2 , 2 ) J m ( 2 , 2 ) 0 0 0 0 0 , B 1 = 1 M ( 2 , 2 ) 0 0 0 0 0 0 , C = 0 0 0 1 0 0 0

Appendix B

In this section, the formulation and solution of a linear regression problem are defined.
Given the measurements of n + 1 real variables y ( t ) , u 1 ( t ) , , u n ( t ) over a time interval (e.g., for t = 1 , 2 , , N ), the goal is to find, if possible, the values of n real parameters θ 1 , θ 2 , , θ n such that the following relationship holds:
y ( t ) = φ ( t ) T θ
where θ = θ 1 θ n R n , φ ( t ) = u 1 ( t ) u n ( t ) R n .
In the actual problems, there exists always a nonzero error ε ( t ) = y ( t ) φ ( t ) T θ . By defining J ( θ ) = t = 1 N ε ( t ) 2 , the problem is solved by finding θ * = arg min θ R n J ( θ ) .
In order to find the minimum figure of merit J, we have to require that:
d J ( θ ) d θ = d J ( θ ) d θ 1 d J ( θ ) d θ n = 0
d J ( θ ) d θ i = d d θ i [ t = 1 N ε ( t ) 2 ] = t = 1 N d d θ i [ ε ( t ) 2 ] = t = 1 N d d θ i [ ( y ( t ) φ ( t ) T θ ) 2 ] = 2 t = 1 N ( y ( t ) φ ( t ) T θ ) u i ( t ) = 0 , i = 1 , 2 , , n
d J ( θ ) d θ = 2 t = 1 N ( y ( t ) φ ( t ) T θ ) φ ( t ) T = 0
t = 1 N ( y ( t ) φ ( t ) T φ ( t ) T θ φ ( t ) T ) = t = 1 N y ( t ) φ ( t ) T t = 1 N φ ( t ) T θ φ ( t ) T = 0
t = 1 N φ ( t ) T θ φ ( t ) T = t = 1 N y ( t ) φ ( t ) T
t = 1 N [ φ ( t ) φ ( t ) T ] θ = t = 1 N φ ( t ) y ( t )
The relationship in (A11) is a system of n scalar equations involving n scalar unknowns θ 1 , θ 2 , , θ n that is called normal equation system. If the matrix t = 1 N φ ( t ) φ ( t ) T is nonsingular, then the normal equation system has a unique soltion given by the Least Squares estimate:
θ ^ = [ t = 1 N φ ( t ) φ ( t ) T ] 1 [ t = 1 N φ ( t ) y ( t ) ]
The obtained results may be rewritten in a compact matrix form by defining:
  • The regression matrix:
    Φ = φ ( 1 ) T φ ( N ) T = u 1 ( 1 ) u n ( 1 ) u 1 ( N ) n n ( N ) R N × n
  • The regressor:
    y = y ( 1 ) y ( N ) R N
The normal equation system becomes:
Φ T Φ θ = Φ T y
and, if Φ T Φ is nonsingular, it has a unique solution given by the least squares estimate:
θ ^ LS = [ Φ T Φ ] 1 Φ T y

References

  1. De Luca, A.; Book, W.J. Robots with Flexible Elements. In Springer Handbook of Robotics; Springer International Publishing: Cham, Switzerland, 2016; pp. 243–282. [Google Scholar] [CrossRef]
  2. Lightcap, C.A.; Banks, S.A. An Extended Kalman Filter for Real-Time Estimation and Control of a Rigid-Link Flexible-Joint Manipulator. IEEE Trans. Control Syst. Technol. 2010, 18, 91–103. [Google Scholar] [CrossRef]
  3. Lertpiriyasuwat, V.; Berg, M.C.; Buffinton, K.W. Extended Kalman Filtering Applied to a Two-Axis Robotic Arm with Flexible Links. Int. J. Robot. Res. 2000, 19, 254–270. [Google Scholar] [CrossRef]
  4. Zhan, B.; Jin, M.; Liu, J. Extended-state-observer-based adaptive control of flexible-joint space manipulators with system uncertainties. Adv. Space Res. 2022, 69, 3088–3102. [Google Scholar] [CrossRef]
  5. Talole, S.E.; Kolhe, J.P.; Phadke, S.B. Extended-State-Observer-Based Control of Flexible-Joint System With Experimental Validation. IEEE Trans. Ind. Electron. 2010, 57, 1411–1419. [Google Scholar] [CrossRef]
  6. Godbole, A.A.; Kolhe, J.P.; Talole, S.E. Performance Analysis of Generalized Extended State Observer in Tackling Sinusoidal Disturbances. IEEE Trans. Control Syst. Technol. 2013, 21, 2212–2223. [Google Scholar] [CrossRef]
  7. Wei, W.; Liang, B.; Li, D.; Su, W. Improving the efficiency of extended state observer under noisy measurements by low-pass filter. In Proceedings of the 2016 Chinese Control and Decision Conference (CCDC), Yinchuan, China, 28–30 May 2016; pp. 3566–3569. [Google Scholar] [CrossRef]
  8. Sun, H.; Madonski, R.; Li, S.; Zhang, Y.; Xue, W. Composite Control Design for Systems With Uncertainties and Noise Using Combined Extended State Observer and Kalman Filter. IEEE Trans. Ind. Electron. 2022, 69, 4119–4128. [Google Scholar] [CrossRef]
  9. Panzieri, S.; Ulivi, G. Design and implementation of a state observer for a flexible robot. In Proceedings of the [1993] Proceedings IEEE International Conference on Robotics and Automation, Atlanta, GA, USA, 2–6 May 1993; Volume 3, pp. 204–209. [Google Scholar] [CrossRef]
  10. Canudas de Wit, C.; Olsson, H.; Astrom, K.; Lischinsky, P. A new model for control of systems with friction. IEEE Trans. Autom. Control 1995, 40, 419–425. [Google Scholar] [CrossRef]
  11. Dahl, P.R. A Solid Friction Model-Technical Report; The Aerospace Corporation: El Segundo, CA, USA, 1968. [Google Scholar]
  12. Al-Bender, F.; Lampaert, V.; Swevers, J. The generalized Maxwell-Slip model: A novel model for friction simulation and compensation. IEEE Trans. Autom. Control 2005, 50, 1883–1887. [Google Scholar] [CrossRef]
  13. Zhang, G.; Furusho, J. Control of robot arms using joint torque sensors. IEEE Control Syst. Mag. 1998, 18, 48–55. [Google Scholar] [CrossRef]
  14. Le Tien, L.; Albu-Schaffer, A.; De Luca, A.; Hirzinger, G. Friction Observer and Compensation for Control of Robots with Joint Torque Measurement. In Proceedings of the 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems, Nice, France, 22–26 September 2008; pp. 3789–3795. [Google Scholar] [CrossRef]
  15. Chen, W.H.; Ballance, D.; Gawthrop, P.; O’Reilly, J. A nonlinear disturbance observer for robotic manipulators. IEEE Trans. Ind. Electron. 2000, 47, 932–938. [Google Scholar] [CrossRef]
  16. De Vries, T.; Coelingh, E.; Schrijver, E.; Dijk, J. Design of Disturbance Observers for the Compensation of Low-Frequency Disturbances. In Proceedings of the 5th International Conference on Motion and Vibration Control (MOVIC 2000), Sydney, Australia, 4–8 December 2000. [Google Scholar]
  17. Spong, M.W. Modeling and Control of Elastic Joint Robots. J. Dyn. Syst. Meas. Control-Trans. ASME 1987, 109, 310–319. [Google Scholar] [CrossRef]
  18. Luenberger, D. Observing the State of a Linear System. IEEE Trans. Mil. Electron. 1964, 8, 74–80. [Google Scholar] [CrossRef]
  19. Kalman, R.E. A New Approach to Linear Filtering and Prediction Problems. J. Basic Eng. 1960, 82, 35–45. [Google Scholar] [CrossRef]
  20. Akhlaghi, S.; Zhou, N.; Huang, Z. Adaptive adjustment of noise covariance in Kalman filter for dynamic state estimation. In Proceedings of the 2017 IEEE Power & Energy Society General Meeting, Chicago, IL, USA, 16–20 July 2017; pp. 1–5. [Google Scholar] [CrossRef]
  21. Aström, K.J.; Wittenmark, B. Computer Controlled Systems: Theory and Design, 3rd ed.; Prentice Hall, Inc.: Hoboken, NJ, USA, 2013. [Google Scholar]
  22. Available online: https://www.comau.com/it/competencies/products-solutions/robot-team/racer-7-1-4/ (accessed on 2 February 2026).
  23. Xsens—3D Motion Tracking Technology. Available online: https://www.movella.com/products/xsens (accessed on 2 February 2026).
  24. Milanese, M.; Ruiz, F.; Taragna, M. Linear virtual sensors for vertical dynamics of vehicles with controlled suspensions. In Proceedings of the 2007 European Control Conference (ECC), Kos, Greece, 2–5 July 2007; pp. 1257–1263. [Google Scholar] [CrossRef]
  25. Milanese, M.; Ruiz, F.; Taragna, M. Virtual sensors for linear dynamic systems: Structure and identification. In Proceedings of the 3rd International Conference “Physics and Control” (PhysCon 2007), Potsdam, Germany, 3–7 September 2007. [Google Scholar]
Figure 1. Simplified model for axis 2 to be used in the observers’ structure.
Figure 1. Simplified model for axis 2 to be used in the observers’ structure.
Applsci 16 01743 g001
Figure 2. Frequency response of the 6-state observer transfer function.
Figure 2. Frequency response of the 6-state observer transfer function.
Applsci 16 01743 g002
Figure 3. Frequency response of the 5-state observer transfer function.
Figure 3. Frequency response of the 5-state observer transfer function.
Applsci 16 01743 g003
Figure 4. System composed by plant and observer.
Figure 4. System composed by plant and observer.
Applsci 16 01743 g004
Figure 5. System composed by plant, observer and disturbance observer.
Figure 5. System composed by plant, observer and disturbance observer.
Applsci 16 01743 g005
Figure 6. 1dof architecture considered for the construction of the pole placement regulator.
Figure 6. 1dof architecture considered for the construction of the pole placement regulator.
Applsci 16 01743 g006
Figure 7. Frequency response of the transfer function between the friction disturbance and the estimation error using for the observer the 5-state model.
Figure 7. Frequency response of the transfer function between the friction disturbance and the estimation error using for the observer the 5-state model.
Applsci 16 01743 g007
Figure 8. Frequency response of the transfer function between the friction disturbance and the estimation error using for the observer the 4-state model before (blue) and after (orange) the addition of the disturbance observer.
Figure 8. Frequency response of the transfer function between the friction disturbance and the estimation error using for the observer the 4-state model before (blue) and after (orange) the addition of the disturbance observer.
Applsci 16 01743 g008
Figure 9. Estimate of viscous and Coulumb friction motor torque.
Figure 9. Estimate of viscous and Coulumb friction motor torque.
Applsci 16 01743 g009
Figure 10. Motor current before (left) and after (right) gravity detrending.
Figure 10. Motor current before (left) and after (right) gravity detrending.
Applsci 16 01743 g010
Figure 11. Friction curve of axis 2 with axis 3 extended (left) and with axis 3 folded (right).
Figure 11. Friction curve of axis 2 with axis 3 extended (left) and with axis 3 folded (right).
Applsci 16 01743 g011
Figure 12. Friction curve of axis 3.
Figure 12. Friction curve of axis 3.
Applsci 16 01743 g012
Figure 13. Reconstruction of the state with a 5-state Luenberger observer without friction compensation.
Figure 13. Reconstruction of the state with a 5-state Luenberger observer without friction compensation.
Applsci 16 01743 g013
Figure 14. Reconstruction of the state with a 5-state Luenberger observer with friction compensation.
Figure 14. Reconstruction of the state with a 5-state Luenberger observer with friction compensation.
Applsci 16 01743 g014
Figure 15. Friction estimate of the disturbance observer and friction reconstructed by the predictive model using the 6-state Luenberger observer as internal observer.
Figure 15. Friction estimate of the disturbance observer and friction reconstructed by the predictive model using the 6-state Luenberger observer as internal observer.
Applsci 16 01743 g015
Figure 16. Link 2 velocity reconstruction superimposed to virtual sensor.
Figure 16. Link 2 velocity reconstruction superimposed to virtual sensor.
Applsci 16 01743 g016
Figure 17. Link 2 velocity reconstruction using 6-state Luenberger observer superimposed to virtual sensor (left) and to real gyroscope (right).
Figure 17. Link 2 velocity reconstruction using 6-state Luenberger observer superimposed to virtual sensor (left) and to real gyroscope (right).
Applsci 16 01743 g017
Figure 18. Link 2 velocity reconstruction using 6-state Kalman filter superimposed to virtual sensor (left) and to real gyroscope (right).
Figure 18. Link 2 velocity reconstruction using 6-state Kalman filter superimposed to virtual sensor (left) and to real gyroscope (right).
Applsci 16 01743 g018
Figure 19. Link 2 velocity reconstruction using 6-state Kalman filter (with greater correction action) with identified data superimposed to real gryroscope.
Figure 19. Link 2 velocity reconstruction using 6-state Kalman filter (with greater correction action) with identified data superimposed to real gryroscope.
Applsci 16 01743 g019
Table 1. Summary of the characteristics of the observer models.
Table 1. Summary of the characteristics of the observer models.
Model StructureMain FeaturesComputational ComplexityApplicability to Industrial Scenarios
4-states model“Basic” Spong elastic joint model for axis 2. No state is added to model inter axes interaction or unmodelled dynamicsLowPoor/No applicability. Not enough robust against not modeled dynamics. This model can cause increase of robot repeatability error when applied to feedback control (due to bias on the link rotation speed estimate)
5-states modelExtended Spong elastic joint model for axis 2. One state added to model inter axes interaction and/or unmodelled dynamicsLowImproved applicability. Lower estimation errors and no bias on the link rotation speed estimate (reduction of repeatability error)
6-states model“Basic” Spong elastic joint model for axis 2 is integrated with 2 additional states and an inertia sub-matrix. This introduces the explicit model of multi axes interaction. The identified modal vibrations on axis 2 are fully representedHigher complexity but still fully reasonable/cheap in a modern robot control architecture“Optimal” applicability. The inertial interaction between the axes should be estimated with an optimal trade-off between effectiveness and complexity
7-states modelEvolution of 5-states model. The state added as inertial torque node additional input is modeled as output of a dynamic system, which introduces 2 additional states to shape uncertainty in frequency domainHigher complexity but still fully reasonable/cheap in a modern robot control architectureCompared to 6-states model, it is a less structured and more general way to represent interactions with the MIMO system that “contains” the dynamics of axis 2. It is the most innovative model. Performance are aligned with that of the 6-states model. The actual effectiveness still requires further investigation in future research activities
Table 2. Friction parameters of axis 2 with axis 3 extended.
Table 2. Friction parameters of axis 2 with axis 3 extended.
β m ( 2 , 2 ) [Nm/(rad/s)] β c ( 2 , 2 ) [Nm]
Method 10.00810850.27149
Method 20.00791720.41535
Average0.00801290.34342
Table 3. Friction parameters of axis 2 with axis 3 folded.
Table 3. Friction parameters of axis 2 with axis 3 folded.
β m ( 2 , 2 ) [Nm/(rad/s)] β c ( 2 , 2 ) [Nm]
Method 10.0073610.23871
Method 20.00727730.31747
Average0.00731920.27809
Table 4. Friction parameters of axis 3.
Table 4. Friction parameters of axis 3.
β m ( 3 , 3 ) [Nm/(rad/s)] β c ( 3 , 3 ) [Nm]
Method 10.00657930.22582
Method 20.00661190.22402
Average0.00659560.22492
Table 5. Luenberger observer pole frequencies chosen for simulation.
Table 5. Luenberger observer pole frequencies chosen for simulation.
ModelPoles Frequencies
5-state ω n = 2 π · [ 250 , 300 , 1000 ] rad/s
4-state ω n = 2 π · [ 500 , 600 ] rad/s
6-state ω n = 2 π · [ 40 , 80 , 100 ] rad/s
Table 6. Kalman filter gain matrices chosen for simulation.
Table 6. Kalman filter gain matrices chosen for simulation.
ModelGain Matrix
5-state G = 0.1 1 Ntr 2 , 2 0.1 0 0 1 Ntr 2 , 2 0.1 1 Ntr 2 , 2 0.1 0 0.1 1 Ntr 2 , 2 0.1 1 Ntr 2 , 2 0 0 0.1 1 Ntr 2 , 2 0.1 0 0 0 0 0 500
6-state G = 0.01 0 0.1 Ntr 2 , 2 0.01 0 0 0 0.01 0 0 0.01 0 0.1 Ntr 2 , 2 0 100 0.1 Ntr 2 , 2 0 0.01 0.01 0 0.1 Ntr 2 , 2 0.01 0 0.1 Ntr 2 , 2 0 0.01 0 0 0.01 0 0 0 0.01 0.1 Ntr 2 , 2 0 100
7-state G = 0.01 1 Ntr 2 , 2 0.1 0 0 0 0 1 Ntr 2 , 2 1 1 Ntr 2 , 2 0.1 0 0 0 0.1 1 Ntr 2 , 2 0.01 1 Ntr 2 , 2 0 0 0 0 0.1 1 Ntr 2 , 2 500 0 0 0 0 0 0 0 5 e 6 100 0 0 0 0 0 100 1 0 0 0 0 0 0 0 1
Table 7. Fit percentages obtained in simulation with and without friction compensation.
Table 7. Fit percentages obtained in simulation with and without friction compensation.
ModelWithout
Friction Compensation
With Friction Compensation
(Coulomb Model)
4-state Luenberger85.643491.8784
6-state Luenberger92.530599.9934
6-state Kalman99.453699.9998
5-state Luenberger81.281896.0253
5-state Kalman83.696493.9618
7-state Kalman84.193893.9047
Table 8. Luenberger observer pole frequencies chosen for experimental tests with identified data.
Table 8. Luenberger observer pole frequencies chosen for experimental tests with identified data.
ModelPoles Frequencies
5-state ω n = 2 π · [ 60 , 80 , 300 ] rad/s
4-state ω n = 2 π · [ 400 , 500 ] rad/s
6-state ω n = 2 π · [ 200 , 250 , 300 ] rad/s
Table 9. Kalman filter gain values chosen for experimental tests with identified data.
Table 9. Kalman filter gain values chosen for experimental tests with identified data.
ModelGain Matrix
5-state G = 0.1 1 Ntr 2 , 2 0.1 0 0 1 Ntr 2 , 2 0.1 1 Ntr 2 , 2 0.1 0 0.1 1 Ntr 2 , 2 0.1 1 Ntr 2 , 2 0 0 0.1 1 Ntr 2 , 2 0.1 0 0 0 0 0 100
6-state G = 1 0 0.1 Ntr 2 , 2 0.01 0 0 0 100 0 0 0.01 0 0.1 Ntr 2 , 2 0 1 0.1 Ntr 2 , 2 0 0.01 0.01 0 0.1 Ntr 2 , 2 1 0 0.1 Ntr 2 , 2 0 0.01 0 0 1 0 0 0 0.01 0.1 Ntr 2 , 2 0 1
Table 10. Kalman filter results on real data (Xsens gyroscope—400 Hz).
Table 10. Kalman filter results on real data (Xsens gyroscope—400 Hz).
N. StatesKalman Filter
Disturbance ObserverNominal DataIdentified Data
6-stateYES97.979797.9565
5-stateNO97.599498.2280
7-stateNO97.979998.0004
Table 11. Luenberger observer results on real data (Xsens gyroscope—400 Hz).
Table 11. Luenberger observer results on real data (Xsens gyroscope—400 Hz).
N. StatesLuenberger Observer
Disturbance ObserverNominal DataIdentified Data
6-stateYES97.923698.0433
5-stateNO97.628998.0528
4-stateYES97.871798.0949
Table 12. Kalman filter results on real data (Xsens gyroscope—exciting trajectory).
Table 12. Kalman filter results on real data (Xsens gyroscope—exciting trajectory).
N. StatesKalman Filter
Disturbance ObserverNominal DataIdentified Data
6-stateYES90.882293.5114
5-stateNO89.355992.7743
7-stateNO90.828693.9836
Table 13. Luenberger observer results on real data (Xsens gyroscope—exciting trajectory).
Table 13. Luenberger observer results on real data (Xsens gyroscope—exciting trajectory).
N. StatesLuenberger Observer
Disturbance ObserverNominal DataIdentified Data
6-stateYES91.372193.4999
5-stateNO89.607393.2436
4-stateYES90.128993.8911
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Zampolini, M.; Indri, M.; Bottero, A.M. Study and Implementation of State Observers for Flexible Industrial Manipulators Including Friction. Appl. Sci. 2026, 16, 1743. https://doi.org/10.3390/app16041743

AMA Style

Zampolini M, Indri M, Bottero AM. Study and Implementation of State Observers for Flexible Industrial Manipulators Including Friction. Applied Sciences. 2026; 16(4):1743. https://doi.org/10.3390/app16041743

Chicago/Turabian Style

Zampolini, Matilde, Marina Indri, and Aldo Maria Bottero. 2026. "Study and Implementation of State Observers for Flexible Industrial Manipulators Including Friction" Applied Sciences 16, no. 4: 1743. https://doi.org/10.3390/app16041743

APA Style

Zampolini, M., Indri, M., & Bottero, A. M. (2026). Study and Implementation of State Observers for Flexible Industrial Manipulators Including Friction. Applied Sciences, 16(4), 1743. https://doi.org/10.3390/app16041743

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop