InTechOpen uses cookies to offer you the best online experience. By continuing to use our site, you agree to our Privacy Policy.

Robotics » Robotics and Automation » "Automation and Control Trends", book edited by Pedro Ponce, Arturo Molina Gutierrez and Luis M. Ibarra, ISBN 978-953-51-2671-3, Print ISBN 978-953-51-2670-6, Published: October 12, 2016 under CC BY 3.0 license. © The Author(s).

Chapter 3

Force Estimation for Teleoperating Industrial Robots

By Enrique del Sol Acero
DOI: 10.5772/63788

Article top


General control scheme for a bilateral system for dissimilar master-slave.
Figure 1. General control scheme for a bilateral system for dissimilar master-slave.
Proposed force-position bilateral control for teleoperating non-backdrivable slaves.
Figure 2. Proposed force-position bilateral control for teleoperating non-backdrivable slaves.
KRAFT GRIPS hydraulic telemanipulator.
Figure 3. KRAFT GRIPS hydraulic telemanipulator.
Robot’s end-effector reference system equipped with the ATI force sensor and an elastic interface.
Figure 4. Robot’s end-effector reference system equipped with the ATI force sensor and an elastic interface.
Measured and estimated motor torques for joint 2. The dashed line represents the external torque caused by the compression effort in joint 2.
Figure 5. Measured and estimated motor torques for joint 2. The dashed line represents the external torque caused by the compression effort in joint 2.
Measured and estimated motor torques for joint 3. The dashed line represents the external torque caused by the compression effort in joint 3.
Figure 6. Measured and estimated motor torques for joint 3. The dashed line represents the external torque caused by the compression effort in joint 3.
Vectorial sum of the measured and estimated external forces. The measurements have been taken with the ATI 6-DOF force/torque sensor.
Figure 7. Vectorial sum of the measured and estimated external forces. The measurements have been taken with the ATI 6-DOF force/torque sensor.
Motor torques during the spring compression test. The values represented here include the gravity, inertial and Coriolis torque and also the action of external torques and forces.
Figure 8. Motor torques during the spring compression test. The values represented here include the gravity, inertial and Coriolis torque and also the action of external torques and forces.
External torques predicted using the Luenberger observer during the spring compression test. Three different parts can be distinguished here, e.g. the pre-convergence stage, where estimation of external torques appears even in the absence of external forces. This only occurs during the first seconds of estimation until the observer converges to zero error. Afterwards, four impacts are performed on a plane surface where the spring is compressed; these conform to the second stage. Finally, after 25 s, a period of instability is shown when the robot was placed on hold position and disconnected to finalise the experiment.
Figure 9. External torques predicted using the Luenberger observer during the spring compression test. Three different parts can be distinguished here, e.g. the pre-convergence stage, where estimation of external torques appears even in the absence of external forces. This only occurs during the first seconds of estimation until the observer converges to zero error. Afterwards, four impacts are performed on a plane surface where the spring is compressed; these conform to the second stage. Finally, after 25 s, a period of instability is shown when the robot was placed on hold position and disconnected to finalise the experiment.
External torques predicted using Luenberger-sliding observer.
Figure 10. External torques predicted using Luenberger-sliding observer.
 Comparison of force magnitude for estimations based on Luenberger observer and Luenberger-sliding observers. Validation against measurement performed with a 5-DOFATI force/torque sensor.
Figure 11. Comparison of force magnitude for estimations based on Luenberger observer and Luenberger-sliding observers. Validation against measurement performed with a 5-DOFATI force/torque sensor.

Force Estimation for Teleoperating Industrial Robots

Enrique del Sol Acero
Show details


As the energy on the particle accelerators or heavy ion accelerators such as CERN or GSI, fusion reactors such as JET or ITER, or other scientific experiments is increased, it is becoming increasingly necessary to use remote handling techniques in order to interact with the remote and radioactive environment.

Traditionally, the remote handling techniques employed for bilateral teleoperation in the nuclear industry have been based on mechanically linked manipulators, backdrivable slaves or robotic devices equipped with a force or torque sensor. In this chapter, a bilateral control system based on a sensorless force-position architecture is introduced. This method avoids the use of force/torque sensors, whose electronic content makes them very sensitive to radiation. Its main purpose is to teleoperate industrial robots, which due to their well-known reliability, easiness to be adapted to harsh environments, cost-effectiveness and high availability, are considered as an interesting alternative to expensive custom-made solutions for remote handling tasks.

The proposed control technique implements a Luenberger-sliding observer of the slave robot as a force estimator, in order to employ a bilateral control based on force-position. A set of experiments demonstrates the applicability of this approach for estimating external forces acting on a hydraulic manipulator. The implementation of these techniques is straightforward and the results obtained during the experiments achieve an estimation error lower than 10%. This research develops an alternative method for teleoperating industrial robots whose teleoperation in radioactive environments would have been impossible in a different way.

Keywords: force estimation, industrial, sensorless, non-backdrivable, teleoperation, robots, radiation

1. Introduction

Most of bilateral control architectures developed to employ industrial robots for remote handling operations make use of force/torque sensors. The main reason for this, is the need of implementing any type of force-position bilateral control when teleoperating non-backdrivable devices. The force sensors are typically placed on the robot’s end-effector, which implies that only external forces on that end can be measured. These devices also require additional wiring in the robot and cannot withstand the dose rates of the high-energy scientific facilities due to the utilisation of electronics [1]. Moreover, force sensors can be expensive and can increase the production cost of the robot. Therefore, a different research line seeks to develop an approach where the benefits of a force-sensing equipment are obtained without the need of using such devices.

Conventional master-slave devices have exploited one of the main requirements for bilateral teleoperation which is the backdrivable design of the manipulators. This characteristic facilitated the use of the positional error between master and slave, to estimate the external forces acting on the slave side. Nevertheless, the conventional industrial robots are non-backdrivable due to their mechanical properties such as, high reduction gears, high friction or non-backdrivable gear design, i.e. worm gears. Specific solutions of rad-hard dexterous and backdrivable manipulators are costlier than standard industrial solutions. The approach presented in this research looks into the possibility of adapting conventional robots to be deployed in these facilities. It would be very useful to take advantage of the big stock of industrial manipulators on the market and, through basic modifications in order to ensure radiation resistance, achieve a sensorless remote handling solution at a competitive price. This research looks into force estimation methods which can be applied to these devices and it is mainly focused on disturbance observers.

The area of research involving disturbance observers provides a useful framework for the problem of estimating external forces acting on a manipulator. Disturbance observers have been widely proposed for motion control and collision control applications [24], for determining disturbance forces such as friction. Estimation techniques based on observers for robot motion control were carried out by Ohishi et al. [57] using a nominal model of the robot. In this work, a disturbance torque is calculated by subtracting the nominal torque to the motor torque provided by the actuators while performing position control. The value of the nominal torque is calculated with a nominal inertia for every link. This method seeks to decouple the joint control by treating the effect of coupled inertia, Coriolis torque, friction and external effects as a disturbance torque. This basically consists of a feed-forward torque control with the nominal values of inertia. No distinction between the effect of external forces and the coupled inertia, Coriolis and friction is done. The method was tested with a 3-DOF robot.

The first observers for robots which use the complete manipulator model were implemented by Nicosia and Tomei and a large amount of research has been derived from their findings. Their aim was to design observers to perform robotic control without using velocity measurements which tend to introduce a large amount of noise [8]. The dynamic model of a manipulator can be written in the following way:

u=H(q)q¨+C(q, q˙)+τg(q)+τf(q˙)


q: is the vector of joints’ values.

u: denotes the vector of motor input torques exerted in each joint

H(q): is the symmetric positive definite robot inertia matrix which is bounded for any q.

C(q, q˙): is the centrifugal and Coriolis forces matrix in the Christoffel form.

τg(q): is the gravity forces vector.

τf(q˙): is the friction torques vector, τf(q˙)=F·q˙

Assuming the joint displacements as the output variables of the robot system, the observer output would be the following:

And defining the observed state as y^ and the observation error as y˜=yy^, the proposed observer is described by:

{x^˙1=x^2+ kDy˜x^˙2=H1(y)[C(y,x^˙11)x^˙11+u+kPy˜τg(q)Fx^˙1]y^=x^1

where kD is a positive scalar constant and kP is a symmetric positive definite matrix. In [8] it is proved the convergence of this observer by finding an appropriate Lyapunov’s function, if the joints’ velocities are assumed to be bounded and the initial observation error belongs to a suitable region of attraction.

Afterwards, Hacksel and Salcudean [9] employed the mentioned observer to estimate external forces on robots by splitting the total force in two terms, the control force and the environmental force: f=fcon+fenv. On the robot state, the term f is applied, while in the observer, only the known control force fcon is taken into account. By calculating the observer’s estimation error, they yield to:

H(q)x˜¨1+C(q, q˙)x˜˙1+C(q,x^˙1)x˜˙1=Kpx˜1Kv H(q)x˜˙1+uenv

which has an equilibrium point that acts as a stretched spring:

It was found that, in equilibrium, the external force can be assumed to be proportional to the observation error and established the conditions for that to happen. From [8], they obtained the condition of bounded joint velocities. Also, if kc>0 is such that C(q, q˙)kcq˙ and kv>kcMλmin (H), then the equilibrium point, [x˜1,x˜˙1]=[0, 0], is asymptotically stable, and a region of attraction is given by (6).

S={  xϵR2N: x<σmin(Hd) /σmax(Hd )) (λmin(H)kvkcM)}

where Hd=diag[Kp, H(q)], and σmin and σmax denote the minimum and maximum singular value, respectively. A constant environmental force can shift the equilibrium from [x˜1,x˜˙1]=[0, 0] to [x˜1,x˜˙1]=[Kp1uenv, 0] and has a shifted region of attraction as in (6) [9].

The same approach is employed again in [10] in order to predict the external forces acting in an ABB IRB2000 robot at the Robotics Lab, in Lund. The ABB control hardware has been replaced by an external VME-based control computer. They established that external forces at robot end-effector can be estimated with the following expression:


with J being the robot’s jacobian, and the ϕi functions taking the following values:


The environmental force is then estimated by:


with † denoting the matrix pseudo-inverse.

This observer has the advantage of not assuming a measurement of the joint velocities. However, it has the following drawbacks [11]:

  • It needs to compute the Coriolis matrix for different input values, and also the friction effects separately.

  • It assumes a perfect model of the manipulator, because otherwise, the observation errors will be manifested has an external force offset.

  • Means of calculating the observer gains Ki are not provided.

  • A good value of the external force is only guaranteed at steady state, this is when x˜˙10, and media/ueq1X.png0. The Coriolis term is very hard to compute or measure and the force estimation may have large error and slow response to external force steps.

Different approaches based on robust observers [1115] were also focused on avoiding the smaller stability margins of the disturbance observers during motion control [16]. Particularly interesting is the work of Colome et al. in [11] during their experiments with a cable-driven robot called WAM. They use an observer based again in [8], where only the inertial term is calculated with an a-priori knowledge of the robot and the rest is learnt by methods such as locally weighted projection regression (LWPR) and local Gaussian process (LGP). These approaches allow to improve the model even when the system is in operation. The observer makes use of the position and velocity errors with the related differentiation errors due to the numerical differentiation. They also find high complexity driving the robot with low control gains due to the static friction and cogging effects which are impossible to learn by the algorithm.

The proposed observer in [11] it is based in [17], and it estimates the state and the disturbance at the same time. The robot state space is represented in (9) while the observer state space equations are in (10).


where d is the disturbance external torque with the sign changed, and A=[0I00], B=[0H1(x1)] and Γ*(uc,x)=[0Γ(u,x)],where, Γ(uc,x)=M1(x1)[ucC(x1, x2)x2τfτg]. While the state observer is defined in the following way:


With this, the external force estimation is derived and it yields:

d^=M(x^1)(x^˙2+Σ(x2x^2))+n^(x^1, x^2)uc

where media/ueq2n.png is the learned function which comprises the Coriolis Effect, friction torque and gravity torque and Σ is a set of gains. With this approach, the measurement of the joint velocity is necessary, but at the same time, no requirements for the system to be in equilibrium are given. The approximate value of the learned function will appear as an error in the contact force estimation, although this may happen in most of the model-based observers.

Different techniques are based on Ohishi’s previous work and have employed the adaptive disturbance observer scheme [18], testing the proposed method for a 2-DOF planar robot. This research presents a novel approach in which a simple disturbance observer is developed with the nominal model of a robot. This model matches with Ohishi’s work in the sense that the nominal inertia of each axis is used as a constant inertia matrix with only diagonal terms. Additional torque due to the coupled inertia, Coriolis, friction, etc. is considered torque disturbance, together with the external torque. In absence of external forces, the disturbance observer is used to calibrate a complete model of the robot by adjusting it, using the gradient method. Once the model is calibrated, it is used to compute in real time the external force by subtracting the model output to the observer output. The main drawback of this algorithm is the need of using the velocity and acceleration values in real time, in order to estimate the external forces, and the errors in the dynamic model which will introduce noise in the force estimation. Nevertheless, this method involves an improvement with respect to Ohishi’s previous work, solving the lack of estimation of some torque components, which is accomplished with the use of the model.

In [19], a H robust force observer is designed with the objective of controlling a robot joint by joint and considering all the force effects, except the nominal inertia, as a disturbance. This research completes Ohishi’s work in robot control with robust observers. As mentioned earlier, the external force is estimated inside the entire disturbance, its independent determination being impossible.

Kalman filter has also been used to estimate external disturbances. In [20], the adaptive Kalman filter (AKF) is employed to estimate the disturbances of a 2-DOF robot. The particular advantage of using this method is the continuous updating of the noise covariance during the disturbance estimation process. Unfortunately, this research does not detail the effect of considering a 6-DOF robot without having the complete model. The theoretical solution works well with 1-DOF and DC motor, since all the disturbance is due to external torque effects. However, when considering a 6-DOF robot, if the complete model is not used, it would be difficult to distinguish the external torque from the internal torques caused by un-modelled effects.

Additionally, in [20], an alternative approach based on disturbance observers is used where a PID-like observer gain is employed to guide the observer convergence. The drawbacks of this method are similar to AKF implementation due to the lack of complete model for a 6-DOF robot.

Canudas de Wit and Slotine introduced the concept of sliding observers for robot manipulators [21]. The sliding observers had been used before to control highly non-linear processes using a non-linear control action. This technique has been good for controlling certain systems where the control chattering is not important, as in motor control, but cannot be used when no chattering is allowed. In state observers it is clear that discontinuities in control action are not important since it is not a real system and the chattering problem is not crucial. They prove the exponential convergence of sliding state observers under some circumstances and show the results when applying a time-varying gain observer. This technique is excellent when the exact model of the system is not known since observation errors tend to zero asymptotically.

Sliding observers have also been used in teleoperation to estimate velocities and forces in the presence of delays as in [22], where the only use position measurements. However, these algorithms were only tested during simulation and no real tests are provided.

In [23], three non-conventional state observers are compared, these are: high-gain observers, sliding mode and non-linear extended state observers. The high-gain observer [24] of a plant described by (12) is indicated by (13).

y¨=f(y, y˙, w)+k·u
{x^˙1=x^2+ h1(yx^1)x^˙2=f0+b0u+ h2(yx^1)

where f represents the dynamics of the plant and disturbance, w is the unknown input disturbance, u is the control action and y is the output that can be measured. f0 is a nominal model of the function f. With this, the estimation error equations are described by (14).

{x˜˙1= h1x˜1+x˜2x˜˙2= h2x˜1+δ(x, x˜)x˜=[x1x^1x2x^2]

where δ(·)=f(·)fo(·). The convergence of the error is achieved in absence of disturbance if the observer gain matrix is designed such that the matrix A0 is Hurwitz,that is, for every positive constants, h1 and h2. In the presence of δ, the observer gains are adjusted as (16).


where 0<ε1, and the gains γ1 and γ2 can be determined via pole placement.

The sliding observer is explained later and no more detail will be given here. Both high-gain observer and sliding require some knowledge of the plant dynamics. An alternative method termed non-linear extended state observer has been created by Han [25] as follows. The plant in (12) is firstly augmented as:

{x˙1=x2x˙2=x3+b0ux˙3=f(y, y˙, w)y=x1 

where f is an extended state, x3. Here both f and its derivative are assumed unknown. By making f a state, it is now possible to estimate it using a state estimator. Han proposed a non-linear observer for (17) as follows:

{z˙1=z2+β1g1(e)z˙2=z3+β2g2(e)+ b0uz˙3=β3g3(e) 

where e=yz1 and z1 is the estimation of the function f. Then, g(⋅) is defined as a modified exponential gain function:

gi(e, αi, δ)={|e|αisign(e), |e|>δeδ1αi,|e|δ δ>0

As αi is chosen between 0 and 1, gi yields high gain when error is small. δ is a small number to limit the gain in the neighbourhood of the origin. Starting with linear gain gi(e, αi, δ)=e, the pole placement method can be used for the initial design of the observer, before the non-linearities are added to improve the performance.

The comparison of these three types of observers is accomplished in [23], proving best performance for the non-linear extended observer and followed closely by the sliding gain observer.

In parallel with the force estimation techniques, based on disturbance observers, another research approach that implements sensor fusion has been developed to reduce the noise levels of the force sensors used in teleoperation. In [26, 30], the information from a force sensor is fused with an accelerometer measurement in order to eliminate the effect of the tool inertia in the force sensor measurements. This sensor fusion is performed with the Kalman filter. In [27], data from force sensors and position encoders are fused. In [28, 29], data gathered by means of a force sensor are combined with visual information to estimate position measurements between a grasped object and other objects in the environment.

2. A new general approach for teleoperation

An overview of the framework where this research is set is detailed next. A general approach for bilateral control must consider situations when the external variables are either measured or estimated. Figure 1 represents an approach of a bilateral teleoperation where only conventional positional and force feedback are considered. Also, no delay in transmission of the information is taken into account. The operator (human) exchanges forces and torques with the master device, in such a way that they both share their position, xh=xm, at all time. While the operator applies position commands and reaction forces, the haptic master conveys the external forces, measured or estimated from the environment, assistive and dragging forces, to the operator.


Figure 1.

General control scheme for a bilateral system for dissimilar master-slave.

The measured or estimated forces, which are transmitted to the human, have been previously processed in the dissimilar dynamics block and sent back to the master controller as reference torques for the master joints. The assistive forces are those artificially created and conveyed to the operator in order to facilitate the teleoperation tasks. These can be vibratory, kinaesthetic or from different type and their objective is to guide the operator in his movement along the master´s workspace. On the other hand, the dragging forces are unintentional forces created in some control architectures where the force feedback depends on the positional and velocity errors. This is due to the fact that, in some control schemes, such as position-position, a positional error is required in order to produce a torque that moves the slave manipulator towards the master´s pose and vice versa. In these cases, the operator would feel a resistive force as if he was continuously pulling from the haptic device. Finally, the inertial forces arise by the fact that the master device is not ideal. This presents mass and inertia which will induce a reaction force to the movement.


Figure 2.

Proposed force-position bilateral control for teleoperating non-backdrivable slaves.

In the most common scenario, the master control system would receive the positional feedback from the master device and send the appropriate joint torque to it. The assistive forces are calculated in the dissimilar kinematics block in order to correct the trajectory of the human operator in a way that the movement is always performed inside the slave’s workspace. Afterwards, these are processed in the dissimilar dynamics block to be transformed into the joint space. The remaining forces are calculated by the dissimilar dynamics block depending on the external forces or control scheme utilised. This block typically employs the master’s Jacobian to transform the external forces and torques from Cartesian space to the master’s joints space. The dissimilar kinematic block interfaces the master´s control with the slave´s control in a way that the master´s end-effector pose and position are mimicked by the slave’s end-effector as much as possible. The slave´s control will close the loop with the slave device by controlling its position by means of torque commands applied on its actuators.

A state observer of the slave is introduced here as a general scenario for those control schemes where a force has to be estimated without using force sensors—the central topic of this chapter. In a common scenario, the observer would receive the torque command issued to the slave device, and all the available feedback from it, such as position, velocity or acceleration. With this information, it will estimate the value of the external forces and torques applied on the slave, if any. Afterwards, the dissimilar dynamic block transforms all the forces from the slave’s reference to the master’s reference.

The bilateral control presented here is displayed in Figure 2, where the force/torque sensor is substituted by a dynamic model of the robot or a force observer. The central idea is to convey to the operator the estimation of environmental forces as if they were measured by the sensor. Several approaches can be used to perform this estimation, but most of them make use of the knowledge of the slave’s dynamic model, the commanded torque and the state space variables of the manipulator.

As described in Section 1, some approaches try to reduce the complexity of the model and implement a learning algorithm to avoid the analytic calculation [11], some others are based on Kalman [2224, 30, 27] or Luenberger [9, 10], observers, but almost all of them need at least a basic model of the slave manipulator.

3. Estimation of external forces for robots

In this section, a review of the main methods for force estimation is carried out, starting from an off-line evaluation of the robotics dynamics equation. A set of experiments accomplished by means of a hydraulic manipulator is explained, highlighting the benefits and drawbacks of this approach. Afterwards, a Luenberger observer of the robot is designed and tested for estimating external forces and compared with the off-line approach. This observer is based on the one presented by Nicosia and Tomei in [8] which was adapted by Hacksel and Salcudean [9] for force estimation. This method is considered one of the main techniques for force estimation so far, and presents clear advantages over the evaluation of the robot dynamics equation. Following this, research is conducted towards the search of robust estimators with zero offset in absence of external forces, in a way that the human operator does not receive unnecessary stimuli that could lead to tiredness and lack of concentration. The main advance here comes with the adaptation of sliding observers for force estimation in teleoperation. Their use improves the results obtained with simpler Luenberger observers.

3.1. Evaluation of the forward dynamics equation

As the forces and torques applied on the master device are proportional to those applied to the slave in bilateral control using force channel, the estimation of the robot end-effector torques in a sensorless system is crucial. In this section, to obtain the force information from the disturbance signal, the external torques are estimated using the robot dynamic equation (20) modified to take into account the external effect.


where τm is the vector of motor torques exerted in each joint, H(q) is the robot inertia matrix, which is a function of the joints’ values, C(q,q˙) is the Coriolis and centripetal forces vector, which also depends on the joints’ values and velocities. τg is the gravity forces vector depending on the robot position. τf is the friction torques vector, which in general terms, is also dependent on the joints’ velocities. Finally, τext is the vector of external torques on each joint.

The external forces can be estimated by applying the kinematic information contained in the robot Jacobian and obtaining (21).


where Text is the vector of forces and torques ejected in the robot end-effector and expressed in the base coordinates system and J is the robot jacobian with † denoting the matrix inverse or pseudo-inverse when corresponds.

When a force estimation is needed in online mode, i.e. for teleoperation purposes, a real-time estimation of the speed and acceleration should be accomplished. When a tachometer is available on the robot, there is no need of differentiation of the position measurements; however, this is not the case of most of manipulators, and velocity and acceleration have to be obtained from position measurements. Also, generator-type tachometers and encoder-based velocity measurement electronics often provide unsatisfactory outputs at very slow velocities due to noise and low resolution [31] and they are not compatible with radioactive environments.

It has been proved in the literature [32] that a recommended sampling time of 1 kHz should be used for teleoperation when requiring force feedback. Therefore, any method implemented for obtaining the velocity data should not introduce a delay superior than 1 ms.

The simplest velocity estimation method is the Euler approximation that takes the difference of two sampling positions divided by the sampling period. Typically, the position measurements are taken with encoders or resolvers, which contain stochastic errors that result in enormous noise during the velocity estimation by the Euler approximation when the sampling period is small and the velocity low [31]. Different alternatives have been tried which utilise more backwards steps to reduce the noise but introducing a small delay. In [33], a first-order adaptive method is shown which is able to vary the backward steps depending on the speed. Also, in [34] it has been found that three steps are the best for a sampling rate of 2500 Hz in their experiments with an encoder of 655,360 pulses per revolution. They also implemented a Kalman observer and non-linear observers, obtaining the same results than an averaging of the Euler formula. In [35], a Kalman filter is tested assuming a normal distribution of the position error. In [31], a dynamic method which varies the samples used for averaging depending on the speed is developed with very good results.

Given a desired relative accuracy (rj) of the velocity calculation, with encoder measurements by the formula (22) taken from [31], it is possible to derive the required amount of time for obtaining a velocity measurement. This is assuming that the velocity is not calculated with two consecutive samples, but with two samples separated by a certain number of backwards steps j in order to increase the velocity resolution. For an incremental encoder with resolution R, if the position q(t) is sampled with a sampling period T, and for k = 1, 2, …, the discrete sampled position at time kT is given by θ(k). The relative accuracy is given by (22).


where vj is the real velocity and v^j is estimated with the measurements. For example, in order to obtain a relative accuracy of rj=2%,sj=100, i.e. 100 past pulses have to be traced back on the velocity calculation. If this is to be achieved with an encoder of 10.000 lines/rev, the elapsed angular space for 100 pulses would result to be 3.6°. With a motor running at 1 rpm, the required amount of time for completing that angular slot is 10 ms. This amount of delay is detrimental for a good bilateral performance.

The scheme used in this section for obtaining the smoothed position, velocity and acceleration makes use of a Savitzky-Golay filter due to its good properties for smooth differentiation. A conventional low-pass filter can be utilised for smoothing the torque data since no differentiation is needed.

3.1.1. Force estimation results of a hydraulic manipulator by direct evaluation of the dynamics equation

To evaluate the previous method, an identification procedure based on damped least mean squares, with optimisation of the parameters, was implemented for the hydraulic manipulator from Kraft Telerobotics as shown in Figure 3. This allowed to obtain a complete model of the manipulator as described by equation (21).

The experimental setup was composed of the following elements:

  • 1 x KRAFT GRIPS hydraulic telemanipulator.

  • 1 x NI-PXIe-8108 Real Time controller.

  • 1 x PC running Labview 2011, © National Instruments, interfacing with the PXI.

  • 1 x Force/Torque sensor, ATI, Gamma SI-130-10.

  • 1 x Resilient interface with an elastic constant of 5000 [N/m].

The manipulator was mounted with an elastic interface attached on the robot end-effector with an ATI force sensor between them, in order to verify the effectiveness of the proposed approach (see Figure 4). This allowed to evaluate the accuracy of the estimation during a wide dynamic range, and identify the occurrence of estimation offsets. Initially the robot was commanded to a pose with the end-effector approximately perpendicular to the horizontal plane. An up-down movement was accomplished, compressing the elastic interface by commanding joint 2, while the PID controllers of each joint maintained the positions of the other joints. This configuration was chosen with the objective of maintaining the spring as perpendicular to the plane as possible. The duration of the compression movement was approximately 4 s.


Figure 3.

KRAFT GRIPS hydraulic telemanipulator.


Figure 4.

Robot’s end-effector reference system equipped with the ATI force sensor and an elastic interface.

Figures 57 present the result of this experiment, comparing the estimated motor torque for the given dynamics with the real torque exerted by the actuators. The external torque has been calculated by subtracting the estimated torque from the measured one. During the compression effort, the model only estimates the dynamics given by the movement accomplished by the robot, that is, the inner torque, ignoring the existence of external elements. However, the measured torque takes into account the real effort exerted by the joints which considers the addition of external forces and torques plus the torques required for moving the robot. During this test, the main effort was accomplished by joints 2 and 3.


Figure 5.

Measured and estimated motor torques for joint 2. The dashed line represents the external torque caused by the compression effort in joint 2.


Figure 6.

Measured and estimated motor torques for joint 3. The dashed line represents the external torque caused by the compression effort in joint 3.

The major issue to overcome when applying this method is the differentiation of position and velocity to obtain the joints’ velocity and acceleration respectively. In this experiment, the sampling rate has been 1 kHz and an offline Savitzky-Golay filtering has been applied to smooth the position and differentiate it. Performing this operation in real time, with conventional low pass filters, would lead to either unaffordable delays or prohibitive estimation errors. The former would cause an unstable teleoperation. However, it would be required due to the noisy positional feedback and the noise amplification effect of the differentiation process.

Therefore, an increased sampling frequency up to a minimum of 4 kHz would help to reduce the delay caused by filtering, allowing the bilateral system to have any delay lower than 1 ms. Also, the application of more advanced smoothing techniques would be desirable. This issue motivated the development of force estimation techniques based on state observers. A state observer was found to be useful in order to avoid position differentiation and the undesirable effects produced by it.


Figure 7.

Vectorial sum of the measured and estimated external forces. The measurements have been taken with the ATI 6-DOF force/torque sensor.

3.2. Torque estimation via observation error

This section considers defining the dynamic model of a manipulator as in (20). The non-linear velocity observer of [8] will be used, where x1=q and x2=q˙ are the joints’ position and velocity respectively. The state space representation of the robot dynamics is then the following:


Assuming that only joint’s positions are measured and without accounting explicitly for the external forces, it is possible to construct a non-linear observer by copying the manipulator dynamics. The output variable will then be x1.


where k1 and k2 are the Luenberger (observer) gains and they will be symmetric and definite positive gains, properly selected to place the poles of the linearised system into the desired positions. Using the results given in [810], one can demonstrate that the dynamics of the observation error can be expressed as in (25).


where ø2=H(x1), ø1=C(x1,x˙1)π(x1, x^˙1)+τf(x˜˙1)+H(x1)k1  and ø0=k2. And thus, in the equilibrium, the expression in (25) could be simplified to (26), which provides an expression to estimate the external torques when the velocity and acceleration are small.

Let us now apply the same reasoning as in [10] with an extended Luenberger-sliding observer to see how the forces and torques can be estimated when in steady state. By including the sliding gains, one can yield to the Luenberger-sliding observer for robots represented in Eq. (27), where k1 and k2 are the Luenberger gains,which will be symmetric and definite positive gains, properly selected to place the poles of the linearised system into the desired positions. k3 and k4 are the sliding gains. K3 can be seen as a boundary of the steady state error and k4 is chosen to be higher than the modelling error.

{                                                                                     x^˙1=x^2+k3sgn(x˜1)+k1x˜1                                                x^˙2=H1(x1)[C(x1,x^˙1)x^˙1τg(x1)τf(x˙1)+τm+k4sgn(x˜1)+k2x˜1 ]

with x˜1=x1x^1.

After operating with the Coriolis torques and friction torques, it is possible to get the expression for the observer error:

{                                                                                              x˜˙1=x˜2k1x˜1k3sgn(x˜1)                                                           x˜˙2=H1(x1)[C(x1,x˙1)x˙1+C(x1, x^˙1)x^˙1τf(x˜˙1)τextk2x˜1k4sgn(x˜1)]

By differentiating and combining the two terms, the expression for the dynamics of the position error is obtained.

x˜¨1=x˜˙2k1x˜˙1k3sgn(x˜˙1)=H1(x1)[C(x1,x˜1)x˜˙1+π(x1, x^˙1)x˜˙1τf(x˜˙1)τextk2x˜1k4sgn(x˜1)]k1x˜˙1k3sgn(x˜˙1)

Collecting the terms of (29), it yields:



ø3=C(x1,x˙1)π(x1, x^˙1)+x˜˙1(x˜˙1)+H(x1)k1

And thus, on equilibrium, the external torques can be estimated using (31).


Although this theoretical result seems feasible during steady state force estimation, it is not adequate for practical implementation due to the likely strong chattering of the sliding action. In order to avoid this effect of the sliding control, several methods have been developed in the literature. These are summarised in [36] and are divided into two main types: gain modification algorithms and structural methods. In this research, a gain modification algorithm based on boundary layer solution is employed. This has been done by varying the value of the k4 gain depending on the torque predicted via Luenberger observer only; in this way (31) is converted to (32).

{ξ=0if |k2x˜1|<τthresholdξ=|k2x˜1τthreshold|τthresholdif |k2x˜1|τthreshold 

In addition to this transformation, ξ is saturated to a maximum value which is 1. This allows a progressive increase of the effect of the non-linear observer action in a way that the chattering is avoided.

3.2.1. Experimental results on force estimation implementing Luenberger and Luenberger-sliding observers

The same experimental setup as in Section 3.1.1 has been employed here. During a similar scenario, the KRAFT manipulator was commanded to different poses, carrying an elastic interface and the ATI force/torque sensor between the interface and the last link. The objective of this test was to validate the estimators presented earlier and to compare the performance between the two observers. During this test, the robot was teleoperated in free space by a human operator during approximately 25 s and then placed in the parking position before disconnection. At intermediate positions during its trajectory, the robot was forced to compress the spring against a horizontal surface.

Luenberger observer gains
K2100⋅diag([1.5, 7, 2.3029, 0.345, 0.2918, 0.0651]) (*)

Table 1.

Luenberger observer gains used during the experiment. (*) The function diag() indicates a diagonal matrix composed by the elements between brackets.

A Luenberger observer was tuned with the gains shown in Table 1. The motor torques during this operation are represented in Figure 8, and the external torques predicted with this observer are shown in Figure 9. The observer behaves as expected, and after a period of convergence of approximately 8 s, it reaches the steady state and performs a stable force estimation. It is clear that this algorithm decouples the external torque from the efforts due to different actions other than the external. Although the estimation is still not perfect, the method explained here exhibits good performance and clearly improves the results of the method based on evaluating the robot’s dynamics equation since it can be implemented during real time for teleoperation purposes. Increasing the gains not only improves the average of the estimated torques, but it also increases the noise of the estimation. A compromise must be reached when tuning the observer gains.

The inaccuracies found when implementing this algorithm, especially in the form of estimation offsets in absence of external forces, led this research towards the search of a more robust estimator which was not affected in such a way by the modelling errors. The sliding observers were found to be an extremely effective solution with easiness of implementation.


Figure 8.

Motor torques during the spring compression test. The values represented here include the gravity, inertial and Coriolis torque and also the action of external torques and forces.


Figure 9.

External torques predicted using the Luenberger observer during the spring compression test. Three different parts can be distinguished here, e.g. the pre-convergence stage, where estimation of external torques appears even in the absence of external forces. This only occurs during the first seconds of estimation until the observer converges to zero error. Afterwards, four impacts are performed on a plane surface where the spring is compressed; these conform to the second stage. Finally, after 25 s, a period of instability is shown when the robot was placed on hold position and disconnected to finalise the experiment.

These estimators were previously used when controlling highly non-linear processes and when only a rough model of the system was known. A Luenberger-sliding observer was thus designed and tuned with the gains from Table 2. Predicted external torques are shown in Figure 10. One can appreciate great differences with respect to the simpler version of the observer illustrated in Figure 9. Offsets and unmodelled torques have almost disappeared, resulting in a much clearer estimation.

Luenberger-sliding observer gains
K260⋅diag([1.5;8;1;0.345;0.2918; 0.0651 ]) (*)

Table 2.

Gains used on the Luenberger-Sliding observer during the spring compression test. (*) The function diag() indicates a diagonal marix composed by the elements between brackets.


Figure 10.

External torques predicted using Luenberger-sliding observer.


Figure 11.

Comparison of force magnitude for estimations based on Luenberger observer and Luenberger-sliding observers. Validation against measurement performed with a 5-DOFATI force/torque sensor.

In Figure 11, comparative results for the force estimation between Luenberger and Luenberger-sliding observers are shown. One can check that estimations carried out without the sliding action present offset errors due to modelling inaccuracies. These offsets disappear when implementing the sliding-observer as a result of a more robust action, and a clearer force estimation is achieved after the convergence period. An average error of 10% has been achieved during dynamic impact when using the sliding action. In the absence of external forces, the estimation error is negligible.

4. Conclusions

During the development of this chapter, the theoretical basis for the external force estimation for teleoperation has been established. The main algorithms have been introduced during the review of the state of the art, and three methods have been developed further.

It was proved that the evaluation of the robotics dynamics equation was not feasible for real-time force estimation due to the noise caused by the differentiation, unless the position was sampled at a much higher frequency than the one used for the bilateral loop. This approach should only be used when estimating forces during an off-line process, e.g. during the determination of the dynamics of a new end-effector placed on the robot.

This chapter introduced the use of Luenberger observers for estimating the internal state of a robot manipulator, a common mathematical tool. However, this observer has been proved to be also useful for force estimation by demonstrating that the observation error is proportional to the external force.

These observers were used to estimate external forces by means of the observation error. One of the contributions of this method is that the position differentiation and filtering is not needed anymore. This avoids having either a noisy velocity and acceleration or a detrimental delay if filtering techniques are used. The former would lead to noisier and less accurate force estimation which would deteriorate the transparency and performance of the teleoperation. Presence of a delay greater than 1 ms is considered in the literature [32] as a source of instabilities during the bilateral control, and then, it cannot be tolerated.

It has been shown that the only use of a Luenberger observer does not provide accurate results when the robot model is not perfectly known, which is the most common scenario. Experimental tests were performed with a Kraft manipulator, showing that although a decoupling of the external force was possible, incorrect torque offsets were introduced when the model was not perfect. This conducted the research towards the search of a more robust observer, more reluctant to model inaccuracies. A simple but powerful non-linear mathematical tool, called sliding observer, was identified. This type of estimator was previously used to control highly non-linear processes and it was typically implemented when the model of the system was not totally known. The main disadvantage of this observer is the chattering effect provoked by the switching behaviour around the zero torque. This effect creates a high content of noise on the estimation. However, the strong switching action was smoothed by varying the sliding gains, depending on the value of the external torques which are previously obtained by the simpler Luenberger observer.

The proposed solution provides successful results, allowing the sliding action to reduce the offset error almost totally, with minimum chattering. The results were shown by estimating external forces on a manipulator and validating them against the measurements taken by a 6-DOF force/torque sensor. During the tests performed thorough spring compression, the average error on force estimation during the impact was 7% for the Luenberger estimator and 10% for the Luenberger-sliding. Direct comparison of the accuracy value is not fair since the offset errors on the Luenberger observer tend to decrease the amplitude error observed during the impact, i.e. the estimation is moved upwards.

To summarise, a new method for estimating the external forces based on Luenberger-sliding observers has been presented here, proving its application for bilateral teleoperation. This method is able to perform accurate estimations with zero offset and delay, which makes it adequate for bilateral teleoperation, especially for non-backdrivable manipulators without force sensing equipment.


1 - E. Del Sol, R. Scott, and R. King. “A sensorless virtual slave control scheme for Kinematically dissimilar master-slave teleoperation“. In Proceedings of HOTLAB. 2012, Marcoule, France.
2 - M.T. White, M. Tomizuka, and C. Smith. “Improved track following in magnetic disk drives using a disturbance observer”. In IEEE/ASME Transactions on Mechatronics. 2000, vol. 5, pp. 3–11.
3 - A. Sabanovic and I. Khalil. Sensorless torque/force control. In Advances in Motor Torque Control, Dr. Mukhtar Ahmad, editors. 2011, InTech, Croatia, DOI: 10.5772/20741. Available:
4 - K. Fujiyama, R. Katayama, T. Hamaguchi, and K. Kawakami. “Digital controller design for recordable optical disk player using disturbance observer”. In IEEE Proceedings of 6th International Workshop on Advanced Motion Control. 2000, Nagoya, Japan, pp. 141–146.
5 - M. Nakao, K. Ohnishi, and K. Miyach. “A robust decentralized joint control based on interference estimation”. In Proceedings on IEEE International Conference on Robotics and Automation, Raleigh, NC, March 1987, vol. 4, pp. 326–331.
6 - Murakami T et al. “Torque sensorless control in multidegree of freedom manipulator”. In IEEE Transactions on Industrial Electronics. 1993, vol. 40, no 2, pp. 259–265.
7 - K. Ohnishi, S. Masaaki and M. Toshiyuki. “Motion Control for advanced mechatronics”. In IEEE/ASME Transactions on Mechatronics. 1996, vol. 1, no 1, pp. 56–67.
8 - S. Nicosia and P. Tomei. “Robot Control by using only joint position measurements”. In IEEE Transactions on Automatic Control. 1990, vol. 35, no. 9, pp.1058–1061.
9 - P. J. Hacksel and S. E. Salcudean “Estimation of environmental forces and rigid body velocities using observers.” In IEEE International Conference on Robotics and Automation, 1994, pp. 931–936, San Diego, CA, USA.
10 - A. Alcocer, A. Robertsson, A. Valera, and R. Johansson. “Force Estimation and control in robot manipulators”. In Proceedings of the 7th Symposium on Robot Control (SYROCO 2003). 2003 Sept. 1–3, Wroclaw, Poland. pp. 31–36.
11 - A. Colome, D. Pardo, G. Alenya, and C. Torras. “External force estimation during compliant robot manipulation”. In IEEE International Conference on Robotics and Automation (ICRA). 2013, May 6–10; Karlsruhe, Germany, pp. 3535, 3540.
12 - C.J. Kempf and S. Kobayashi. “Disturbance observer and feedforward design for high-speed direct-drive position table”. In IEEE Transactions on Control System Technology. 1999, vol. 7, pp. 513–526.
13 - K.S. Eom, I.H. Suh, and K.C. Wan. “Disturbance observer based path tracking of robot manipulator considering torque saturation”. In Mechatronics. 2000, vol. 11, pp. 325–343.
14 - X. Chen, F. Toshio and K.D. Young. “A new nonlinear robust disturbance observer”. In Systems & Control Letters. 2000, vol. 41, no. 3,pp. 189–199.
15 - J.R. Ryoo, D. Tae-Yong, and J.C. Myung. “Robust disturbance observer for the track-following control system of an optical disk drive”. In Control Engineering Practice. 2004, vol. 12, pp. 577–585.
16 - S. Komada, N. Machii, T. Hori. “Control of redundant manipulators considering order of disturbance observer”. In IEEE Transactions on Industrial Electronics. 2000, vol. 47, pp. 413–420.
17 - Liu, Chia-Shang and Huei Peng. “Inverse dynamics based state and disturbance observers for linear time-invariant systems”. In Journal of Dynamics systems Measurement and Control. 2002, vol. 124, pp. 375–381.
18 - K.S. Eom, I.H. Suh, W.K. Chung, and S.R. Oh. “Disturbance observer based force control of robot manipulator without force sensor”. In Proceedings of IEEE International Conference on Robotics and Automation. New York: IEEE Press. 1998, pp. 3012–3017.
19 - K. Ohishi, M. Miyazaki, M. Fujita and Y. Ogino. “Hinf observer based force control without force sensor”. In Proceedings of Industrial Electronics, Control and Instrumentation. 1991. IECON’91, 1991 International Conference on Industrial Electronics, Control and Instrumentation, Kobe, Japan, pp. 1049–1054.
20 - L. Sang-Chul and A. Hyo-Sung. “Sensorless torque estimation using adaptive Kalman filter and disturbance estimator”. In IEEE/ASME International Conference on Mechatronics and Embedded Systems and Applications (MESA). 2010, Qingdao, China, pp. 87–92.
21 - C. Canudas de Wit and J.J.E. Slotine.“Sliding observers for robot manipulators”. In Automatica. 1991, vol. 27, no. 5, pp. 859–864 .
22 - J.M. Daly and D.W. Wang. “Bilateral teleoperation using unknown input observers for force estimation”. In IEEE American Control Conference, ACC’09. 2009, pp. 89–95.
23 - W. Wang and Z. Gao. “A comparison study of advanced state observer design techniques”. In Proceedings of the 2003 American Control Conference. IEEE, 2003, vol. 6, pp. 4754–4759.
24 - H.K. Khalil. “High-gain observers in nonlinear feedback control. New directions in nonlinear observer design”. In Lecture Notes in Control and Information Sciences. 1999, vol. 24, no. 4, pp. 249–268.
25 - J. Han. “A class of extended state observers for uncertain systems”. In Automatica. 1998, vol. 34, no. 6, pp. 757–764.
26 - J.G. García, A. Robertsson, J.G. Ortega, and R. Johansson. “Estimacion de la fuerza de contacto para el control de robots manipuladores con movimientos restringidos” (“Contact force estimation for the control of robot manipulators with constrained movement”). RIAII, 2007, vol. 4. no. 1, pp. 70–82.
27 - J.G. Garcia, A. Robertsson, A. Valera, and R. Johansson. “Sensor fusion for compliant robot motion control”. In IEEE Transactions on Robotics. 2008, vol. 24, no. 2, pp. 430–441.
28 - T. Ishikawa, S. Sakane, T. Sato, and H. Tsukune.“Estimation of contact position between a grasped object and the environment based on sensor fusion of vision and force”. In IEEE/SICE/RSJ International Conference on Multisensor Fusion and Integration for Intelligent Systems. 1996, pp. 116–123. IEEE, 1996. doi: 10.1109/MFI.1996.572167
29 - Y. Zhou, B.J. Nelson, and B. Vikramaditya. “Fusing force and vision feedback for micromanipulation”. In Proceedings of the IEEE International Conference on Robotics and Automation. 1998, vol. 2, pp. 1220, 1225, 16–20 May 1998. doi: 10.1109/ROBOT.1998.677265
30 - T. Kröger, D. Kubus, and F.M. Wahl. “Force and acceleration sensor fusion for compliant manipulation control in 6 degrees of freedom”. In Advanced Robotics. 2007, vol. 21, no. 14, pp. 1603–1616.
31 - G. Liu. “On velocity estimation using position measurements”. In Proceedings of the American Control Conference, Anchorage, AK May 8–10. 2002, vol. 2, pp. 1115–1120.
32 - M.M. Dalvand, and S. Nahavandi. “Improvements in teleoperation of industrial robots without low-level access”. In 2014 IEEE International Conference on Systems, Man and Cybernetics (SMC). 2014, San Diego, CA, USA, pp. 2170–2175.
33 - F. Janabi-Sharifi, V. Hayward, and C-S.J. Chen. “Discrete-time adaptive windowing for velocity estimation”. In IEEE Transactions on Control Systems Technology. 2000, vol. 8, no. 6, pp. 1003–1009. doi: 10.1109/87.880606
34 - A. Jaritz, and M.W. Spong. “An experimental comparison of robust control algorithms on a direct drive manipulator”. In IEEE Transactions on Control Systems Technology. 1996, vol. 4, no. 6, pp. 627–640. doi: 10.1109/87.541692
35 - P.R. Belanger, P. Dobrovolny, A. Helmy, and X. Zhang. “Estimation of angular velocity and acceleration from shaft-encoder measurements”. In The International Journal of Robotics Research. 1998, vol. 17, no. 11, pp. 1225–1233.
36 - H. Brandtstädter, Sliding Mode Control of Electromechanical Systems, PhD dissertation for Technische Universität München, 2008.