1 Introduction

Teleoperation systems have been designed for their potential to function in environments that are perilous, have low efficiency, or where humans cannot be present. Applications include telesurgery [1], telepresence, and remote controlled spacecraft [2]. Two key objectives of teleoperation systems are stability and transparency. In fact, the main purpose is to design a stable control scheme for transmitting position, velocity, and force signals from the master robot to the slave robot and vice versa. The stability and transparency of teleoperation systems are directly influenced by the amount and type of information being transmitted. For instance, if it is possible to transmit force signals besides position and velocity signals, more efficient stability and transparency would be available. This is due to gathering more accurate information from system conditions, which is an advantage of using force signals in teleoperation system control approaches. One of the typical means of controlling teleoperation systems is to employ position and velocity signals in the control scheme [3, 4]. Some structures enhance system transparency by applying force signals in addition to position and velocity signals [5, 6, 7]. A basic problem with these structures lies in measuring force in the control scheme. There are several significant issues using the direct measurement of external forces in the control approaches. For instance, when the robot is applied in the environment with high temperature, large noise and etc., the force sensor cannot be mounted on it. In addition, by employing force sensor the rigidity of the sensor should be taken into account. However, force sensors have several well-known drawbacks with respect to the cost, size and the complexity issued by it is electrical and mechanical configuration [8, 9]. A possible solution is to estimate environment and human force, a method that has been implemented in a number of control schemes [10, 11, 12]. Although such control schemes ensure system stability, the closed loop system’s transparency cannot be investigated.

In this paper, a control scheme is proposed with force signals that control a linear bilateral teleoperation system with communication channel time delay. A modified force estimation algorithm is suggested to eliminate force measurement. The stability and transparency of a bilateral teleoperation system in the presence of estimated force are derived from the notion of absolute stability. Evidently, absolute stability is applied when closed loop dynamics include real, positional and external force signals. Due to errors between real and estimated external forces in closed loop dynamics, absolute stability is not exploitable directly. To deal with this drawback, a control scheme is designed based on the sliding mode approach to compensate for errors in closed loop dynamics. Experimental results clearly show the aptitude of the proposed approach to estimate human and environment force. The proposed controller additionally achieves position tracking and force reflection in free motion and force reflection when the slave robot is in contact with the environment. Transparency also obviously improves compared with the conventional control scheme without force signals.

2 Model definition

2.1 Dynamic modeling of master and slave manipulators

Linear master and slave dynamic models with one degree of freedom are modeled as a mass-damper system.

$$m_{m} \textit{\"{x}}_{m} \left( t \right) + c_{m} \dot{x}_{m} \left( t \right) = u_{m} \left( t \right) + f_{\text{h}} \left( t \right)$$
(1)
$$m_{s} \textit{\"{x}}_{s} \left( t \right) + c_{s} \dot{x}_{s} \left( t \right) = u_{s} \left( t \right) - f_{\text{e}} \left( t \right)$$
(2)

where x and u are the position and control input; m and c represent the mass and viscous coefficients; subscript m and s separate the master and slave, respectively; f h is the force applied by the human operator to the master, and f e is the force exerted on the slave by the environment.

2.2 Delayed signals

An overall block diagram of the proposed bilateral teleoperation system is illustrated in Fig. 1.

Fig. 1
figure 1

Overall block diagram of the proposed bilateral teleoperation system

The master’s position and estimated human force are transmitted to the slave, and the slave’s position and estimated contact force are sent to the master via the communication channels. These channels produce undesired time delays in the transmitted signal. Therefore, the crossed signals after the communication channels are shown as:

$$\begin{gathered} x^{T}_{m} \left( t \right): = x_{m} \left( {t - T_{1} } \right)\quad \dot{x}^{T}_{m} \left( t \right): = \dot{x}_{m} \left( {t - T_{1} } \right) \hfill \\ x^{T}_{s} \left( t \right): = x_{s} \left( {t - T_{2} } \right)\quad \dot{x}^{T}_{s} \left( t \right): = \dot{x}_{s} \left( {t - T_{2} } \right) \hfill \\ \end{gathered}$$

\(x^{T}_{m} (t)\) and \(\dot{x}^{T}_{m} (t)\) are the master’s position and velocity respectively. These are transmitted to the salve after crossing the communication channels. \(x^{T}_{s} (t)\) and \(\dot{x}^{T}_{s} (t)\) are the slave’s position and velocity that are sent to the master. T 1 and T 2 are time delays in the feed-forward and feedback directions, respectively.

3 Control design

A force estimation algorithm is initially proposed, which is based on disturbance observers [13] for the human force applied on the master as well as the environment force exerted on the slave. This algorithm has been used in several earlier works [1416]. The assumption of constant external force [13] is very conservative; therefore the effect of force time variation should be investigated. Subsequently, due to estimation error of time-varying forces, a robust sliding mode-based controller for the master and slave is designed.

3.1 Force estimation algorithm for the master and slave

With regards to the master dynamics (1), a definition for human force is specified as follows:

$$f_{\text{h}} \left( t \right) = m_{m} \textit{\"{x}}_{m} \left( t \right) + c_{m} \dot{x}_{m} \left( t \right) - u_{m} \left( t \right)$$
(3)

Thus, related to [13], applying the following algorithm is proposed:

$$\dot{\hat{f}}_{\text{h}} \left( t \right) = - L_{\text{h}} \hat{f}_{\text{h}} + L_{\text{h}} (m_{m} \textit{\"{x}}_{m} \left( t \right) + c_{m} \dot{x}_{m} \left( t \right) - u_{m} \left( t \right))$$
(4)

where \(\hat{f}_{\text{h}}\) is the estimated human force and L h is estimation gain.

A disadvantage of this algorithm is the necessity to measure acceleration. Acceleration signals are not available in many robotic manipulators, and deriving the acceleration signal from the velocity signal through differentiation is also impossible on account of measurement noise.

Although this algorithm is not practical to implement, by defining the following auxiliary variable, measuring the acceleration signal could be ignored.

$$z_{\text{h}} \left( t \right) = \hat{f}_{\text{h}} (t) - P_{\text{h}} (\dot{x}_{m} )$$
(5)
$$\frac{{{\text{d}}P_{\text{h}} (\dot{x}_{m} )}}{{{\text{d}}t}} = L_{\text{h}} m_{m} \textit{\"{x}}_{m} \left( t \right)$$
(6)

By taking the derivative of Eq. (5) and using Eq. (6), the modified estimation approach is obtained.

$$\dot{z}_{\text{h}} \left( t \right) = - L_{\text{h}} z + L_{\text{h}} (c_{m} \dot{x}_{m} \left( t \right) - u_{m} \left( t \right) - P_{\text{h}} (\dot{x}_{m} ))$$
(7)

At this time, the force estimation algorithm’s stability is considered. First, the observer error is defined as follows:

$$e_{\text{h}} = f_{\text{h}} - \hat{f}_{\text{h}}$$
(8)

According to (5), (7), (8) the observer error dynamic is specified by:

$$\dot{e}_{\text{h}} = \dot{f}_{\text{h}} - \dot{\hat{f}}_{\text{h}} = \dot{f}_{\text{h}} - \dot{z}_{\text{h}} \left( t \right) - \frac{{{\text{d}}P_{\text{h}} (\dot{x}_{m} )}}{{{\text{d}}t}} = \dot{f}_{\text{h}} - L_{\text{h}} e_{\text{h}}$$
(9)

To investigate the stability of the force estimation approach, the following Lyapunov function is suggested:

$$V_{\text{h}} = \frac{1}{2}e_{\text{h}}^{2}$$
(10)

By taking the time derivative of the proposed Lyapunov function and according to (9), \(\dot{V}_{\text{h}}\) is obtained.

$$\dot{V}_{\text{h}} = - L_{\text{h}} e_{\text{h}}^{2} + \dot{f}_{\text{h}} e_{\text{h}}$$
(11)

Due to a lack of information on the rate of human force, it is assumed that the rate of force changes is bounded, such that:

$$\exists \delta_{m} > 0\;\;\;\;\;\;\;\;\;\;\;\;\;\left| {\dot{f}_{\text{h}} } \right| < \delta_{m} \;\;\;\;\;\;\;\;\;\;\; \forall t > 0$$

As a result,

$$\dot{V}_{\text{h}}\, \le - L_{\text{h}} e_{\text{h}}^{2} + \delta_{m} \left| {e_{\text{h}} } \right| = - L_{\text{h}} \left( {1 - \mu } \right)e_{\text{h}}^{2} - L_{\text{h}} \mu e_{\text{h}}^{2} + \delta_{m} \left| {e_{\text{h}} } \right|$$
(12)

where μ ∈ (0, 1).

Therefore, since V h is continuously differentiable, positive definite and radially unbounded by means of Definition 4.2 in [17], there are class K functions α 1(.) and α 2(.) such that α 1(e h) ≤ V h(e h) ≤ α 2(e h). With Theorem 4.18 in [16], the tracking error is globally, uniformly and ultimately bounded with the ultimate bound determined by\(\alpha_{1}^{ - 1} \left( {\alpha_{2} \left( {{\raise0.7ex\hbox{${\delta_{m} }$} \!\mathord{\left/ {\vphantom {{\delta_{m} } {L_{\text{h}} \mu }}}\right.\kern-0pt} \!\lower0.7ex\hbox{${L_{\text{h}} \mu }$}}} \right)} \right)\). Finally, T > 0 exists such that the following equation holds:

$$\left| {e_{\text{h}} } \right| \le \alpha_{1}^{ - 1} \left( {\alpha_{2} \left( {\frac{{\delta_{m} }}{{L_{\text{h}} \mu }}} \right)} \right)\quad {\text{for }} \forall e_{\text{h}} \left( 0 \right) {\text\quad {and }}\quad \forall t \ge T$$
(13)

The same force estimation algorithm for human force was utilized for the environment force exerted on the slave.

3.2 Sliding mode-based controller for master and slave

The proposed master control input designed constitutes the position and velocity error between the master and slave plus the estimated human force. Due to varying human force, the control performance may decline. Thus, a robust controller can be designed with a sliding mode controller so a precise desired model is achieved. The input torque is:

$$u_{m} \left( t \right) = K_{m} \left( {x^{T}_{s} \left( t \right) - x_{m} \left( t \right)} \right) + B_{m} \left( {\dot{x}^{T}_{s} \left( t \right) - \dot{x}_{m} \left( t \right)} \right) - \theta \hat{f}_{\text{h}} \left( t \right) - K_{1} {\text{sgn}}\left( {s_{1} } \right)$$
(14)

where K m and B m are positive constants, K 1 and s 1 are the nonlinear gain and sliding surface, respectively, and θ is the coefficient of estimated external force.

The closed loop dynamic is obtained by substituting (14) in (1) and f h(t) regard as \(f_{\text{h}} \left( t \right) = \hat{f}_{\text{h}} + e_{\text{h}}\) as follows:

$$m_{m} \textit{\"{x}}_{m} \left( t \right) + c_{m} \dot{x}_{m} \left( t \right) = K_{m} \left( {x^{T}_{s} \left( t \right) - x_{m} \left( t \right)} \right) + B_{m} \left( {\dot{x}^{T}_{s} \left( t \right) - \dot{x}_{m} \left( t \right)} \right) - \theta \hat{f}_{\text{h}} \left( t \right) + \hat{f}_{\text{h}} (t) + e_{\text{h}} - K_{1} {\text{sgn}}(s_{1} )$$
(15)

Now the sliding surface is defined as:

$$s_{1} \left( t \right) = \int\limits_{0}^{t} {I_{m} (t){\text{d}}t}$$
(16)

where I m is introduced as:

$$\begin{gathered} I_{m} = m_{m} \textit{\"{x}}_{m} \left( t \right) + c_{m} \dot{x}_{m} \left( t \right) - K_{m} \left( {x^{T}_{s} \left( t \right) - x_{m} \left( t \right)} \right) - \hfill \\ B_{m} \left( {\dot{x}^{T}_{s} \left( t \right) - \dot{x}_{m} \left( t \right)} \right) - (1 - \theta )\hat{f}_{\text{h}} (t) \hfill \\ \end{gathered}$$
(17)

Rewriting the closed loop dynamic and expressing it in terms of s 1(t) gives:

$$\dot{s}_{1} \left( t \right) + e_{\text{h}} + K_{1} {\text{sgn}}(s_{1} ) = 0$$
(18)

Considering the candidate Lyapunov function\(V = \frac{1}{2}s_{1}^{2}\), the time derivative is:

$$\dot{V} = \dot{s}_{1} s_{1} = - \left( {e_{\text{h}} + K_{1} {\text{sgn}}(s_{1} )} \right)s_{1}$$
(19)

The system trajectory would converge toward the sliding surface if the sliding condition of \(\dot{s}_{1} s_{1} \le \eta \left| {s_{1} } \right|\) is satisfied [17].

Regarding (19), the nonlinear gain K 1 should satisfy the sliding condition as follows:

$$K_{1} \, \ge \, \eta + \left| {e_{\text{h}} } \right|$$
(20)

By demonstrating the boundedness of |e h| in the last part, the magnitude of K 1 can be achieved.

As a result, the sliding surface would converge to zero. According to [18] and when s 1(t) → 0, it is deduced that \(\dot{s}_{1} (t) \to 0\).

As a result, the desired model is obtained when I m  = 0, as follows:

$$\begin{gathered} m_{m} {\ddot{x}_{m}} \left( t \right) + c_{m} \dot{x}_{m} \left( t \right) \hfill \\ = K_{m} \left( {x^{T}_{s} \left( t \right) - x_{m} \left( t \right)} \right) + B_{m} \left( {\dot{x}^{T}_{s} \left( t \right) - \dot{x}_{m} \left( t \right)} \right) + (1 - \theta )\hat{f}_{h} \hfill \\ \end{gathered}$$
(21)

Remark 1

By eliminating the undesired chattering behavior of the switching-based controller, the sign function (sgn(s 1)) would be altered to its continuous form as a saturation function (\({\text{sat}}\left( {\frac{{s_{1} }}{\phi }} \right)\)). Here, ϕ is the boundary layer thickness. It is deduced that the steady state error dynamic would be bounded by ϕ, so the controller structure would be:

$$\begin{gathered} u_{m} \left( t \right) = K_{m} \left( {x^{T}_{s} \left( t \right) - x_{m} \left( t \right)} \right) + B_{m} \left( {\dot{x}^{T}_{s} \left( t \right) - \dot{x}_{m} \left( t \right)} \right) - \theta \hat{f}_{h} \hfill \\ - K_{1} {\text{sat}}\left( {\frac{{s_{1} }}{\phi }} \right) \hfill \\ \end{gathered}$$
(22)

Remark 2

It is worth noting that deriving \(\dot{s}_{1} \left( t \right)\) requires acceleration signal. Avoiding measurement of acceleration signal, the auxiliary variable can be used as follows:

$$z_{1} = s_{1} \left( t \right) - P_{1} (\dot{x}_{m} )$$
(23)
$$\frac{{{\text{d}}P_{1} (\dot{x}_{m} )}}{{{\text{d}}t}} = m_{m} \textit{\"{x}}_{m} \left( t \right)$$
(24)

Thus, it is not necessary to measure the acceleration signal in this modified sliding surface:

$$\dot{z}_{1} = c_{m} \dot{x}_{m} \left( t \right) - K_{m} \left( {x^{T}_{s} \left( t \right) - x_{m} \left( t \right)} \right) - B_{m} \left( {\dot{x}^{T}_{s} \left( t \right) - \dot{x}_{m} \left( t \right)} \right) - \left( {1 - \theta } \right)\hat{f}_{\text{h}} s_{1} \left( t \right) = z_{1} + P_{1} (\dot{x}_{m} )$$
(25)

Finally, a similar control scheme designed for the master as described above is also used for the slave as follows:

$$u_{s} \left( t \right) = K_{s} \left( {x^{T}_{m} \left( t \right) - x_{s} \left( t \right)} \right) + B_{s} \left( {\dot{x}^{T}_{m} \left( t \right) - \dot{x}_{s} \left( t \right)} \right) + \theta \hat{f}_{\text{e}} - K_{2} {\text{sat}}\left( {\frac{{s_{2} }}{\phi }} \right)$$
(26)
$$I_{s} = m_{s} \textit{\"{x}}_{s} \left( t \right) + c_{s} \dot{x}_{s} \left( t \right) - K_{s} \left( {x^{T}_{m} \left( t \right) - x_{s} \left( t \right)} \right) - B_{s} \left( {\dot{x}^{T}_{m} \left( t \right) - \dot{x}_{s} \left( t \right)} \right) + (1 - \theta )\hat{f}_{\text{e}}$$
(27)

By substituting the control input from (26) into the dynamic model (2), the desired closed loop dynamic model of the slave is obtained:

$$m_{s} \textit{\"{x}}_{s} \left( t \right) + c_{s} \dot{x}_{s} \left( t \right) = K_{s} \left( {x^{T}_{m} \left( t \right) - x_{s} \left( t \right)} \right) + B_{s} \left( {\dot{x}^{T}_{m} \left( t \right) - \dot{x}_{s} \left( t \right)} \right) - (1 - \theta )\hat{f}_{\text{e}}$$
(28)

Finally, the proposed controller is illustrated in Fig. 2.

Fig. 2
figure 2

The proposed controller structure

4 Stability and performance analysis

In this work, absolute stability is employed for stability and performance analysis of the closed loop teleoperation system [19]. Absolute stability is a common means of analyzing the stability of linear teleoperation systems [2023]. This is on account of the fact that this technique provides a simple device for stability and performance analysis based only on the system’s input–output properties. Figure 3 shows a two-port network:

Fig. 3
figure 3

A two-port model of a bilateral teleoperation system

4.1 Absolute stability and performance of the teleoperation system

Based on Haykin’s definition [19], a linear two-port is “absolutely stable” when there exists no set of passive terminating one-port impedances for which the system is unstable. Otherwise, it is potentially unstable. A two-port network is absolutely stable, if and only if all one-port networks resulting from any passive output and input termination are passive [8].

To apply the absolute stability concept, the teleoperation system should be represented in the two-port. The two-port network has inputs and outputs (\(\dot{x}_{m}\), \(\dot{x}_{s}\)) and (f h, f e), respectively. The relation between inputs and outputs of the two-port network can be defined as a matrix. The so-called hybrid matrix is given by:

$$\left[ {\begin{array}{*{20}c} {F_{\text{h}} } \\ { - V_{\text{s}} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {h_{11} } & {h_{12} } \\ {h_{21} } & {h_{22} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {V_{\text{m}} } \\ {F_{\text{e}} } \\ \end{array} } \right]$$
(29)

where F h, V m, F e and V s are the Laplace transform of f h, \(\dot{x}_{m}\), f e and \(\dot{x}_{s}\), respectively.

Llewellyn proposed a number of necessary, sufficient conditions which guarantee system stability:

h 11 and h 22 have no poles in the open right-half-plane (RHP), and any poles of h 11 and h 22 on the imaginary axis are simple and have real, positive residues, where the inequalities are:

$$\begin{gathered} R_{\text{e}} \left[ {h_{11} } \right] \ge 0\;\;\;\;\;\;\;\;\;\;\;\; R_{\text{e}} \left[ {h_{22} } \right] \ge 0 \hfill \\ f\left( \omega \right) = - \cos \left( {\angle h_{12} h_{21} } \right) + 2\frac{{R_{\text{e}} [h_{11} ]\text{R} {}_{\text{e}}[h_{22} ]}}{{\left| {h_{12} h_{21} } \right|}} \ge 1 \hfill \\ \end{gathered}$$

The teleoperation system is absolutely stable if the h-parameters of the hybrid matrix satisfy Llewellyn’s stability conditions.

Subsequent to stability, the main purpose of the teleoperation system control is transparency. Transparency is a match between the environmental impedance and the impedance transmitted to the operator [24]. Defining F h = Z t V h, Z t comprises the impedance transmitted to the operator. The transparency condition is satisfied if \(Z_{\text{t}} = Z_{\text{e}}\), where Z e is the environment impedance (Z e = F e/V s). Considering the transparency of the teleoperation system, Z t can be expressed in terms of the hybrid matrix as follows:

$$Z_{\text{t}} = \frac{{h_{11} + \Delta h \cdot Z_{\text{e}} }}{{1 + h_{22} Z_{\text{e}} }}$$
(30)

where \(\Delta h = h_{11} h_{22} - h_{12} h_{21}\). In other words, perfect transparency is possible when the hybrid matrix parameters are:

$$h_{11 } = h_{22} = 0\;\;\;\;\;\; \, h_{12 } = - h_{21} = 1$$
(31)

In such cases, marginal absolute stability occurs (R e[h 11] = 0, R e[h 22] = 0 and f(ω) = 1). Therefore, there is a trade-off between stability robustness and perfect transparency. In addition, there is a transaction between stability and transparency due to the presence of transmission delay. Thus, it can be concluded that perfect transparency is not attainable in practice [24]. Z t is used to check the teleoperation system’s transparency. If the slave is in free motion (Z e = 0), or clamped (Z e → ∞), Z t is:

$$Z_{{{\text{t}}\hbox{min} }} = Z_{{{\text{t}}|z_{\text{e}} = 0}} = h_{11}$$
(32)
$$Z_{\text{twidth}} = Z_{{t|Z_{{{\text{e}} \to \infty }} }} - Z_{{{\text{t}}\hbox{min} }} = \frac{{ - h_{12} h_{21} }}{{h_{22} }}$$
(33)

Z twidth is defined as the dynamic range of the impedance transmitted to the operator [24]. When |Z tmin| → 0 and \(\left| {Z_{\text{twidth}} } \right| \to \infty\), the performance is good.

4.2 Stability and transparency analysis of the teleoperation system

The relation between f h and \(\hat{f}_{\text{h}}\) in the Laplace transform is:

$$\hat{F}_{\text{h}} = \frac{{L_{\text{h}} F_{\text{h}} }}{{s + L_{\text{h}} }}$$
(34)

The above relation may characterize the slave as well:

$$\hat{F}_{\text{e}} = \frac{{L_{\text{e}} F_{\text{e}} }}{{s + L_{\text{e}} }}$$
(35)

The hybrid parameters for the teleoperation system can be obtained by substituting the equivalent estimated forces (34) and (35) in the closed loop dynamics (21) and (28). The hybrid parameters are presented in the Appendix.

The controller gains should be selected keeping in view Llewellyn’s stability criteria and transparency condition (|Z tmin| → 0 and |Z twidth| → ∞).

5 Experimental results

The proposed control approach containing estimated force is implemented on a one-link robotic manipulator. To illustrate the advantages of the new control configuration, sliding mode control behaviors with and without estimated forces are compared experimentally.

The experimental setup consists of two 1-DOF planar robots (Fig. 4). After comparing real and estimated forces, two load cells as force sensors are used on the master and slave robots. A DS1104 dSPACE data acquisition and controller board captured the data. Matlab/Simulink software was utilized to implement the control approach. The sampling time interval for controller implementation and communication channels was set at 0.001 s.

Fig. 4
figure 4

Overall block diagram of the proposed bilateral teleoperation system

Prior to experimentation, the master and slave impedances were identified as shown in Table 1.

Table 1 Values for the impedance models

The proposed controller gains were adjusted such that Llewellyn’s stability criteria and transparency condition are satisfied, as shown in per Fig. 5.

Fig. 5
figure 5

Llewellyn’s stability conditions a R e(h 11), b R e(h 22), c f(ω)

Figure 5a, b, c display Llewellyn’s stability conditions for imported and non-imported estimated external forces in the control scheme.

By importing estimated external force in the proposed control scheme [Eq. (14)] Fig. 5 clearly shows that \(R_{\text{e}} [h_{11} ]\), R e[h 22] → 0 and \((\omega ) \to 1\). Therefore, it could be deduced that the system transparency has been improved in comparison with the case that estimated external force has not been considered in the control scheme.

Figure 6 shows the frequency response of an applied master signal, where the implemented frequency is 0 < ω < 0.5. Regarding the results in Fig. 5, it can be concluded that the designed teleoperation system controller satisfies the stability and transparency conditions.

Fig. 6
figure 6

Frequency response of the master signal

Table 2 presents the control gain values for the master and slave robot:

Table 2 Controller gain values

Figure 7 provides the position tracking and force reflection results when there are no estimated forces in the control structure. Time delays are considered equal in the communication channels from master to slave and vice versa (T 1 = T 2 = 0.5 s).

Fig. 7
figure 7

Experimental results without the existence of estimated forces. a Position tracking q, b force reflection

Figure 7a, b show the position tracking of the master and slave robot as well as human and environment force, respectively. According to Fig. 7, it can be stated that the control scheme with no estimated external force performs well in free motion. During the contact condition, position tracking is deteriorated. The main problem with using this control scheme is the position error present during contact. In this condition, force reflection occurs appropriately. It is noticeable in free motion owing to the delay between communications channels, which is a force applied on the master robot.

Figure 8 illustrates the results of position tracking and force reflection when the estimated force is introduced into the control scheme. In this circumstance, the coefficient of external estimated force is 0.6 (θ 1 = θ 2 = 0.6).

Fig. 8
figure 8

Experimental results with the force estimation algorithm. a Position tracking, b force reflection

Figure 8a, b show position tracking, as well as human and environment force, respectively. Figure 8a signifies that position tracking in free motion took place appropriately, and when the slave robot encountered an environment, position error is less compared to the estimated external force is not in control scheme. The error values when the force is equal for both conditions are given in Fig. 9.

Fig. 9
figure 9

Experimental results for position error tracking

Figure 9 indicates that the position tracking error diminishes with estimated force imported into the control scheme, whereby the error reduction is proportional to the estimated force coefficient. Increasing the estimated force coefficient reduces error, but if this coefficient approaches 1, the error converges to zero. However, it cannot be deduced that force reflection occurs in the closed loop teleoperation system. The control input may also be saturated when the estimated external force coefficient increases and Llewellyn’s stability condition is not satisfied.

The results signify that the estimated human force converges to the estimated environment force suitably. Thus, it can be deduced that estimated force in the control structure would considerably improve the tele-operated system’s transparency.

Nonetheless, the accuracy of the force estimation method requires investigation. The load cells employed on the master and slave robots validate the accuracy of the force estimation approach, as seen in Fig. 10.

Fig. 10
figure 10

Force estimation results. (a) Human force estimation, b environment force estimation

It is clear that the estimated forces adequately converge to real forces.

To demonstrate the performance and efficiency of the proposed force estimation algorithms, the result in the frequency domain is considered in addition to that in the time domain. Figure 11 displays the appropriate estimation of human and environment forces in frequency domain too.

Fig. 11
figure 11

Frequency response of a estimated and real human force, and b estimated and real environment force

6 Conclusion

In this work, a sliding mode-based controller with a force estimation algorithm for a linear bilateral teleoperation system was designed. In many tele-manipulation applications including telesurgery, installing force sensors on end effectors restricts robot manipulation. Thus, to achieve adequate operation, external force estimation is necessary. Consequently, a force estimation algorithm was proposed for time-variant human and environment forces. It was then proved that force estimation error is bounded. Due to the time variations in human and environment force, a sliding mode controller was designed to satisfy the exact desired model. The absolute stability concept helped analyze the stability and transparency of the teleoperation system. As a key advantage, this work investigated the stability and transparency of a teleoperation system with estimated force and with no force sensors required. The experimental results validate the efficiency of the designed control scheme.