1 Introduction

Teleoperation systems broaden human operators’ capabilities allowing them to remotely perform physical work in places that may be too dangerous or even unreachable for humans [1]. They are formed by two stations connected by a communication link which inevitably introduces backward and forward time delay. The robot that performs the physical work is located in the remote station, which we call follower or remote robot. On the other hand, the robot that generates the commands is located in the local station, and we will refer to it as a haptic device or leader. A human operator uses the haptic device to drive the remote robot to complete a task while he or she receives multimedia information (visual and audio) and force feedback from the remote site. This coupling is defined in the literature as bilateral teleoperation and allows the human tactile perception of the remote task (closed-loop control). These systems can be applied to diverse fields such as rescue and surveillance, spatial and ground exploration, explosives deactivation, tele-manufacturing, among others [2].

Delayed bilateral teleoperation systems (DBTS) are modeled from delayed nonlinear multi-degree-of-freedom (DOF) robotic systems, where one main issue is the destabilizing effect caused by the time delay, which is time-varying and asymmetric [3,4,5]. Many controllers mostly proposed and evaluated using DBTS of robot arm manipulators were introduced. Some of these strategies have been modified, adapted, and tested using other types of remote robots such as wheeled mobile robots [6], mobile manipulators [7,8,9], UAV (unmanned aerial vehicles) [10, 11], and teleoperation networks [12, 13]. With respect to the stability of DBTS, the majority of the schemes use passivity-based control [14] including scattering transformation, wave variable and controllers based on time-domain passivity [15,16,17], damping injection [18] and adaptive, impedance and neural network controllers [19, 20]. Other sources that induce non-passive behaviors in the system are the human operator and the environment [21]. To achieve stable position coordination, the simplest controller is the P+d type. In this type of controller, the energy extraction, based on damping, must be high enough to get stable position coordination [18, 22, 23]. But these controllers are calibrated mainly depending on the time delay and the setting is free of the human operator. Even more, the condition to reach stability is frequently fulfilled considering passive human actions represented by a spring-damping model [24]. However, this model type does not always faithfully represent the human operator behavior [21], and therefore, other models should be analyzed to get conclusions about how the controller could be designed or calibrated depending on them.

On the other hand, beyond stability, one of the crucial concepts in bilateral teleoperation is known as transparency, defined in [25] as a measure of how the human is coupled to the remote environment. In any bilateral teleoperator system design, the essential goal is to provide an adequate transmission of signals (positions, velocities, forces) to link the operator as closely as possible to the remote workspace. If the teleoperation system is completely transparent, then operators should feel a direct interaction with the remote task. Usually, there is a balance between stability and transparency. In [26], the transparency definition is quantitative extended to the time domain, isolating three components called remote, local, and instantaneous.

With the intention of achieving stable and transparent systems, different architectures have been proposed; the firstly called four-channel architectures which send a bidirectional flow of force and position, such as position–force domain passivity schemes, based mainly on experimental study and showing that the human operator does not remain passive in the position–force domain for all ranges of frequencies [27], TDPA (time-domain passivity approach) which combines passivity observers and passivity controllers [28,29,30,31] where these schemes can be included into a two-layer approach as in [32] but the main drawback of the schemes TDPA are that they need the whole energy flow which cannot be computed on one side of the teleoperation system and therefore predictors or delayed energy flow are necessary to use, and Lyapunov-based strategies addressed to achieve simultaneous tracking of force and position as in [33, 34], where P+d controllers plus force transmission (P+d+f) for both sides are applied to delayed nonlinear teleoperation of manipulator robots, and recently, in [35] a position/force control scheme is proposed for bilateral teleoperators with time-varying delays based on the estimation of velocities and forces by using only joint position measurements, assuring that position and force tracking errors become ultimately bounded with arbitrarily small ultimate bound in finite time.

A problem with schemes mentioned is that they must use delayed energy flow or rely heavily on sign functions, adding a discontinuity in control actions as well as controller parameters depending on the environment parameters, making it unfeasible for its application in practice.

Due to the aspects described above, we highlight the need for new control aimed to improve the current overall performance of DBTS in the sense of stability and transparency, via a control scheme applicable in practice. This paper proposes a strategy to get stable coordination for DBTS. The result achieved involves the coordination of force and position. To the best of the authors knowledge, this proposal is novel in the following respects: (a) design of a stable controller for force and motion coordination in a DBTS of a manipulator robot, based on the injection of variable linear damping on the haptic device, avoiding nonlinear damping and discontinuities, thus allowing it to be applied in most commercial robots that include internal configurable PID controllers; (b) the linear damping injected on the local site is changed online based on the time delay and feedback power signal, the latter is defined as the product between leader velocity and delayed environment force, and it is computed only on one side of the delayed teleoperation system allowing to detect immediately when the feedback power injects more energy into the system; (c) simulations using a PELICAN robot and simple experiments are performed evaluating the position and force errors, to verify that such errors hold bounded achieving a simultaneous coordination of force and position.

The paper is presented as follows: Sect. 2 describes the dynamic models, properties, and assumptions used in this work. In Sect. 3, a novel control scheme is proposed, and the stability analysis is performed. Section 5 shows simulation results comparing the proposed scheme with a representative controller of the state of the art, as well as simple experiments applying the scheme proposed. Finally, Sect. 6 shows the discussions and conclusions of the performed simulations and experiments.

1.1 Nomenclature

Table 1 presents the nomenclature used in the mathematical development of this paper.

Table 1 Nomenclature

2 System modeling

To analyze the delayed teleoperation system of a manipulator with force feedback, we first briefly describe the assumptions, properties, and models that this work uses.

2.1 Models

The traditional dynamic model for robot manipulators represented in Cartesian coordinates is used,

$$\begin{aligned}{} & {} \mathbf {M_\textrm{m}}(\mathbf {x_\textrm{m}})\ddot{{\textbf{x}}}_{\textbf{m}}+\mathbf {C_\textrm{m}}(\mathbf {x_\textrm{m}}, \dot{{\textbf{x}}}_{\textbf{m}} )\dot{{\textbf{x}}}_{\textbf{m}}+\mathbf {g_\textrm{m}}(\mathbf {x_\textrm{m}} )=\mathbf {f_\textrm{m}}+\mathbf {f_\textrm{h}}, \end{aligned}$$
(1)
$$\begin{aligned}{} & {} \mathbf {M_\textrm{s}}(\mathbf {x_\textrm{s}})\ddot{{\textbf{x}}}_{\textbf{s}}+\mathbf {C_\textrm{s}}(\mathbf {x_\textrm{s}}, \dot{{\textbf{x}}}_{\textbf{s}} )\dot{{\textbf{x}}}_{\textbf{s}}+\mathbf {g_\textrm{s}}(\mathbf {x_\textrm{s}} )=\mathbf {f_\textrm{s}}+\mathbf {f_\textrm{e}}. \end{aligned}$$
(2)

where \(\mathbf {x_\textrm{m}}, \mathbf {x_\textrm{s}}\in R^n\) are the leader and follower positions in Cartesian coordinates, respectively; \(\dot{{\textbf{x}}}_{\textbf{m}}, \dot{{\textbf{x}}}_{\textbf{s}}\) are the corresponding velocities, \(\mathbf {M_\textrm{m}}(\mathbf {x_\textrm{m}}),\mathbf {M_\textrm{s}}(\mathbf {x_\textrm{s}})\in R^{nxn}\) are the inertia matrices, \(\mathbf {C_\textrm{m}}(\mathbf {x_\textrm{m}}, \dot{{\textbf{x}}}_{\textbf{m}} ), \mathbf {C_\textrm{s}}(\mathbf {x_\textrm{s}}, \dot{{\textbf{x}}}_{\textbf{s}} )\) represent the centripetal and Coriolis forces, \(\mathbf {g_\textrm{m}}(\mathbf {x_\textrm{m}} ), \mathbf {g_\textrm{s}}(\mathbf {x_\textrm{s}} )\) describe the gravitational forces, \(\mathbf {f_\textrm{h}}\) and \(\mathbf {f_\textrm{e}}\) are the human and environment forces, and \(\mathbf {f_\textrm{m}},\mathbf {f_\textrm{s}}\) represent the forces, computed by the controller. We assume that the robots do not operate in workspace singular points.

2.2 Assumptions and properties

In this work, the following assumptions, properties and lemmas are used [14, 15, 36]:

Property 1

The inertia matrices \(\mathbf {M_\textrm{m}}\) and \(\mathbf {M_\textrm{s}}\) are symmetric positive definite.

Property 2

The matrices \({\dot{{\textbf{M}}}}_{\textbf{m}}-2\mathbf {C_\textrm{m}}\) and \({\dot{{\textbf{M}}}}_{\textbf{s}}-2\mathbf {C_\textrm{s}}\) are skew-symmetric.

Property 3

There exist \(\psi _1,\psi _2>0\) such that \(\mathbf {C_\textrm{m}}\dot{{\textbf{x}}}_{\textbf{m}}\le \psi _1\left| \dot{{\textbf{x}}}_{\textbf{m}}\right| \) and \(\mathbf {C_\textrm{s}}\dot{{\textbf{x}}}_{\textbf{s}}\le \psi _2\left| \dot{{\textbf{x}}}_{\textbf{s}}\right| \) for all time t.

Property 4

If \(\dot{{\textbf{x}}}_{\textbf{m}}, \ddot{{\textbf{x}}}_{\textbf{m}}, \dot{{\textbf{x}}}_{\textbf{s}}, \ddot{{\textbf{x}}}_{\textbf{s}}\) are bounded, then the time derivative of \(\mathbf {C_\textrm{m}}\) and \(\mathbf {C_\textrm{s}}\) are bounded too.

Assumption 1

Based on [37]. The communication channel adds forward \(h_1\) and backward \(h_2\) time delays. These delays are time-varying, bounded and asymmetric. Therefore, it is possible to establish \({\bar{h}}_1\) and \({\bar{h}}_2\) such that \(0\le h_1( t )\le {\bar{h}}_1\) and \(0\le h_2( t )\le {\bar{h}}_2\) for all t and \({\dot{h}}_1< \tau < 1\),\({\dot{h}}_2< \tau < 1\).

Assumption 2

Based on [23]. The remote environment is considered as a viscous-elastic force plus a constant force and a non-modeled signal of finite energy. Such force output is represented by:

$$\begin{aligned} \mathbf {f_\textrm{e}}=\mathbf {f_{\textrm{a}_\textrm{e}}} - k_\textrm{e}( \mathbf {x_\textrm{s}}-\mathbf {x_\textrm{e}} ) - \alpha _\textrm{e}\dot{{\textbf{x}}}_{\textbf{s}}-{\textbf{B}}, \end{aligned}$$
(3)

where \(k_\textrm{e},\alpha _\textrm{e}\) are the elasticity and damping coefficients of the environment model, the vector \(\mathbf {x_\textrm{s}}-\mathbf {x_\textrm{e}}\) represents the distance that penetrates the robot on the elastic medium taking for simplicity \(\mathbf {x_\textrm{e}}={\textbf{0}}\), \({\textbf{B}}\) is a constant value and \(\mathbf {f_{\textrm{a}_\textrm{e}}}\in {\mathcal {L}}_2\cap {\mathcal {L}}_\infty \) represents a bounded-energy non-modeled signal with bounded too, being \({\bar{f}}_{\textrm{a}_\textrm{e}}\) a positive constant.

Fig. 1
figure 1

Control system architecture

Assumption 3

Based on [37], the human operator behaves as a P+d like controller plus and a non-modeled signal of finite energy. Such model is described as follows:

$$\begin{aligned} \mathbf {f_\textrm{h}}=\mathbf {f_{\textrm{a}_\textrm{h}}}+g_\textrm{h}( {\textbf{A}}-\mathbf {x_\textrm{s}}( t-h_2 )) - \alpha _\textrm{h}\dot{{\textbf{x}}}_{\textbf{m}}-k_\textrm{h}{{\textbf{x}}}_{\textbf{m}}, \end{aligned}$$
(4)

where constants \(\alpha _\textrm{h} > 0\) and \(k_\textrm{h}>\) represent the human operator damping and the elastic coefficient. On the other hand, the mental reference of the operator is assumed to be composed of a constant setpoint A plus a variable part \(\mathbf {f_{\textrm{a}_\textrm{h}}}\in {\mathcal {L}}_2\cap {\mathcal {L}}_\infty \) which is assumed to hold \(\Vert \mathbf {f_{\textrm{a}_\textrm{h}}}\Vert \le {\bar{f}}_{\textrm{a}_\textrm{h}}\) and bounded, where \({\bar{f}}_{\textrm{a}_\textrm{h}}\) is a positive constant value. In this sense, \(g_\textrm{h}\) is the internal gain of the human operator that is translated into the intensity by which the setpoint is pursued. From a control perspective, A represents the system convergence point in the steady state. Although most models present in the literature are passive [24], this assumption does not cover most of the tasks that the human operator can perform, which must be explicitly evaluated for each particular task, where the human parameters can be identified following a procedure like [21].

Lemma 1

(Barbalat) [38]. For any \({\textbf{f}}:R_{\ge 0}\rightarrow R^n\), if \(\lim _{t\rightarrow \infty }\int _{0}^{t}{{\textbf{f}}( \tau )}\,\textrm{d}\tau \) exists and is finite, and \({\textbf{f}}( t )\) is uniformly continuous, i.e., \(\dot{{\textbf{f}}}( t )\in {\mathcal {L}}_\infty \), then \(\lim _{t\rightarrow \infty }{\textbf{f}}( t )=0\). Besides, for any \({\textbf{f}}:R_{\ge 0}\rightarrow R^n\), if \({\textbf{f}}( t )\in {\mathcal {L}}_2\cap {\mathcal {L}}_\infty \) and \(\dot{{\textbf{f}}}( t )\in {\mathcal {L}}_\infty \), then \(\lim _{t\rightarrow \infty }{\textbf{f}}( t )=0\).

Lemma 2

[39] For vector functions \({\textbf{a}}(. )\), \({\textbf{b}}(. )\) and a variable value h(t) with \(0\le h( t )\le {\bar{h}}\), the following expression is valid:

(5)

3 Controller for force and position coordination

We propose to couple a P+d+f structure (including the interchange of force and position signals between the local and remote sites) with a variable damping depending on a feedback power signal. The controller output \(\mathbf {f_\textrm{m}}\) (applied to the leader) and \(\mathbf {f_\textrm{s}}\) (executed by the follower) is proposed as:

$$\begin{aligned} \mathbf {f_\textrm{m}}&=-k_\textrm{m}(k_\textrm{g}\mathbf {x_\textrm{m}}-\mathbf {x_\textrm{s}}(t-h_2))-(\alpha _\textrm{m}+\Delta )\dot{{\textbf{x}}}_{\textbf{m}} \nonumber \\&\quad +\mathbf {g_\textrm{m}}(\mathbf {x_\textrm{m}}) + k_\textrm{f}\mathbf {f_\textrm{e}}(t-h_2), \end{aligned}$$
(6)
$$\begin{aligned} \mathbf {f_\textrm{s}}&=k_\textrm{s}( k_\textrm{g}\mathbf {x_\textrm{m}}(t-h_1) {-} \mathbf {x_\textrm{s}}){-}\alpha _\textrm{s}\dot{{\textbf{x}}}_{\textbf{s}} {+}\mathbf {g_\textrm{s}}(\mathbf {x_\textrm{s}}) {+}\frac{1}{k_\textrm{f}}\mathbf {f_\textrm{h}}(t-h_1), \end{aligned}$$
(7)

where the parameters \(k_\textrm{s}\) and \(k_\textrm{m}\) represent gain values, \(k_\textrm{g}\) maps the haptic device position to the remote robot set point, \(k_\textrm{f}\) describes a force scaling, \(\alpha _\textrm{m}\) and \(\alpha _\textrm{s}\) are damping coefficients, and \(\Delta \) represents a variable linear damping that will depend on the feedback power signal measurable on the local site.

This scheme is compatible with the internal structure of commercial manipulator robots which commonly are based on PID (or modified PID) controllers. Figure 1 presents the architecture of the control system.

To understand how the proposal works, we analyze the energies involved in the leader. First, we define the feedback power signal \(P_{df}\) as the product of the leader velocity and the delayed environment force (8). This signal will be used in \(\Delta \) to vary the total damping of the leader, and in doing so, indirectly control the total energy

$$\begin{aligned} P_{df} ={{{k}_\textrm{f}}{\dot{{\textbf{x}}}_{{\textbf{m}}}}^{T}\left( \varepsilon \right) {{{\textbf{f}}}_{{\textbf{e}}}}\left( \varepsilon -{{h}_{2}} \right) }. \end{aligned}$$
(8)

The energy \(E_\textrm{Pd}\) (10) is the result of the force \({\textbf{f}}_\textbf{ctr}\) (9) applied by the P+d (Proportional plus damping) controller used in the haptic device (6)

$$\begin{aligned} \mathbf {{f}_{ctr}}= & {} -k_\textrm{m}(k_\textrm{g}\mathbf {x_\textrm{m}}{-}\mathbf {x_\textrm{s}}(t-h_2)){-}(\alpha _\textrm{m}+\Delta )\dot{{\textbf{x}}}_{\textbf{m}} +\mathbf {g_\textrm{m}}(\mathbf {x_\textrm{m}}), \end{aligned}$$
(9)
$$\begin{aligned} {{E}_\textrm{Pd}}= & {} \int _{0}^{t}{\dot{{\textbf{x}}}_{{\textbf{m}}}^{T}\left( \varepsilon \right) {{{\textbf{f}}}_{\textbf{ctr}}}\left( \varepsilon \right) \textrm{d}\varepsilon }. \end{aligned}$$
(10)

The human operator energy \({{E}_\textrm{h}}\) is the result of the force that the operator applies to the haptic device (11)

$$\begin{aligned} {{E}_\textrm{h}}=\int _{0}^{t}{\dot{{\textbf{x}}}_{{\textbf{m}}}^{T}\left( \varepsilon \right) {{{\textbf{f}}}_{{\textbf{h}}}}\left( \varepsilon \right) \textrm{d}\varepsilon }. \end{aligned}$$
(11)

When the force of the remote environment (with its corresponding transmission delay) is applied to the haptic device, a new energetic component is introduced in the haptic device that we call feedback energy \({{E}_\textrm{f}}\) (12)

$$\begin{aligned} {{E}_\textrm{f}}=\int _{0}^{t}{{k}_\textrm{f}}{\dot{{\textbf{x}}}_{{\textbf{m}}}^{T}\left( \varepsilon \right) {{{\textbf{f}}}_{{\textbf{e}}}}\left( \varepsilon -{{h}_{2}} \right) \textrm{d}\varepsilon }. \end{aligned}$$
(12)

Finally, the haptic device energy \({{E}_\textrm{m}}\) is computed as the sum of \({{E}_\textrm{Pd}}\), \({{E}_\textrm{h}}\) and \({{E}_\textrm{f}}\) (13)

$$\begin{aligned} {{E}_\textrm{m}}={{E}_\textrm{Pd}}+{{E}_\textrm{f}}+{{E}_\textrm{h}}. \end{aligned}$$
(13)

According to the state of the art, the added constant linear damping depends mainly on time delays. We join this concept with variable damping, obtaining a novel \(\mathbf {f_{ctr}}\) that reduces the kinetic energy to the extent that the feedback power injects more energy into the system. In contrast, when the feedback power draws energy from the leader, the proposed controller raises the damping only as a function of the time delay. This concept is illustrated in Fig. 2.

Fig. 2
figure 2

Given an arbitrary defined energy warning level; Case A) When feedback energy (\(E_\textrm{f}\)) is outside this level, energy injection mainly occurs by \(E_\textrm{h}\) due to time delay; in this situation P+d controller dissipates energy through constant damping. Case B) When \(\dot{{\textbf{x}}}_{{\textbf{m}}}\) points in same direction as \(\mathbf {f_\textrm{e}}(t-h_2)\), \(E_\textrm{f}\) increases, then variable damping \(\Delta \) is used to dissipate the additional energy

3.1 Stability analysis

First, case \({\textbf{A}}={\textbf{B}}={\textbf{0}}\) in (3) and (4) will be analyzed. The control error is defined as \({\textbf{e}}=k_\textrm{g}\mathbf {x_\textrm{m}}-\mathbf {x_\textrm{s}}\). A positive definite functional \(V( \mathbf {x_\textrm{m}},\dot{{\textbf{x}}}_{\textbf{m}},k_\textrm{g}\mathbf {x_\textrm{m}}-\mathbf {x_\textrm{s}},\mathbf {x_\textrm{s}},\dot{{\textbf{x}}}_{\textbf{s}}) =V_1+V_2+V_3+V_4\) is proposed and how its time evolution is, along the trajectories of the system from a finite initial condition. The functional is formed by the following terms:

$$\begin{aligned} V_1&=\frac{1}{2}\dot{{\textbf{x}}}_{\textbf{m}}^{\textsf{T}}\mathbf {M_\textrm{m}}(\mathbf {x_\textrm{m}})\dot{{\textbf{x}}}_{\textbf{m}}+\frac{1}{2}\kappa _1\mathbf {x_\textrm{m}}^{\textsf{T}}\mathbf {x_\textrm{m}}, \end{aligned}$$
(14)
$$\begin{aligned} V_2&=\frac{\kappa _2}{2}{\textbf{e}}^{\textsf{T}}{\textbf{e}}, \end{aligned}$$
(15)
$$\begin{aligned} V_3&=\frac{\kappa _3}{2}\mathbf {x_\textrm{s}}^{\textsf{T}}\mathbf {x_\textrm{s}}+\frac{\kappa _4}{2}\dot{{\textbf{x}}}_{\textbf{s}} ^{\textsf{T}}\mathbf {M_\textrm{s}}(\mathbf {x_\textrm{s}})\dot{{\textbf{x}}}_{\textbf{s}}, \end{aligned}$$
(16)
$$\begin{aligned} V_4&=\int \limits _{-h_2}^{0}{\int \limits _{t+\theta }^{t}{\dot{{\textbf{x}}}_{\textbf{s}}^{\textsf{T}}(\xi )\dot{{\textbf{x}}}_{\textbf{s}}(\xi )}\,\textrm{d}\xi }\,\textrm{d}\theta \nonumber \\&\quad +\kappa _4\int \limits _{-h_1}^{0}{\int \limits _{t+\theta }^{t}{\dot{{\textbf{x}}}_{\textbf{m}}^{\textsf{T}}(\xi )\dot{{\textbf{x}}}_{\textbf{m}}(\xi )}\,\textrm{d}\xi }\,\textrm{d}\theta \nonumber \\&\quad +\kappa _4\int \limits _{-h_1-h_2}^{0}{\int \limits _{t+\theta }^{t}{\dot{{\textbf{x}}}_{\textbf{s}}^{\textsf{T}}(\xi )\dot{{\textbf{x}}}_{\textbf{s}}(\xi )}\,\textrm{d}\xi }\,\textrm{d}\theta \nonumber \\&\quad +\frac{1}{4}\frac{\kappa _4\alpha _\textrm{h}}{1-\tau }\int \limits _{t-h_1}^{t}{\dot{{\textbf{x}}}_{\textbf{m}}^{\textsf{T}}(\xi )\dot{{\textbf{x}}}_{\textbf{m}}(\xi )}\,\textrm{d}\xi . \end{aligned}$$
(17)

Here, \(\kappa _i\in {\mathbb {R}}^+\) are positive constants defined in “Appendix A”.

Going on the procedure given in “Appendix A”, \(\dot{V}\) along the trajectories of the system is analyzed considering the closed-loop dynamics of both leader and follower, time delay, and the human operator and environment forces. As a result, we get:

$$\begin{aligned} \dot{V}\le & {} -(\lambda _\textrm{m}+\Delta )\dot{{\textbf{x}}}_{\textbf{m}}^{\textsf{T}}\dot{{\textbf{x}}}_{\textbf{m}} -\lambda _\textrm{s}\kappa _4\dot{{\textbf{x}}}_{\textbf{s}}^{\textsf{T}}\dot{{\textbf{x}}}_{\textbf{s}} \nonumber \\{} & {} \quad +\rho _\textrm{m}\left| \dot{{\textbf{x}}}_{\textbf{m}}\right| +\rho _\textrm{s}\left| \dot{{\textbf{x}}}_{\textbf{s}}\right| +k_\textrm{f}\dot{{\textbf{x}}}_{\textbf{m}}^{\textsf{T}}\mathbf {f_\textrm{e}}(t-h_2), \end{aligned}$$
(18)

where

$$\begin{aligned} \lambda _\textrm{m}= & {} \alpha _\textrm{m}+\Big (1-\tfrac{\kappa _4}{4(1-\tau )}\Big )\alpha _\textrm{h}-\kappa _4{\bar{h}}_1-\tfrac{1}{4}(k_\textrm{m}-g_\textrm{h})^2{\bar{h}}_2,\nonumber \\ \lambda _\textrm{s}= & {} \alpha _\textrm{s}+\alpha _\textrm{e}-\bigg (1+\Big (\tfrac{k_\textrm{s} k_\textrm{g}}{2}\Big )^2+\Big (\tfrac{g_\textrm{h}}{2k_\textrm{f}}\Big )^2\bigg )\nonumber \\{} & {} {\bar{h}}_1-\bigg (1+\tfrac{1}{\kappa _4}+\Big (\tfrac{g_\textrm{h}}{2k_\textrm{f}}\Big )^2\bigg ){\bar{h}}_2, \end{aligned}$$
(19)
$$\begin{aligned} \rho _\textrm{m}= & {} \mathbf {f_{\textrm{a}_\textrm{h}}},\nonumber \\ \rho _\textrm{s}= & {} \kappa _4\Big (\tfrac{1}{k_\textrm{f}}\mathbf {f_{\textrm{a}_\textrm{h}}}(t-h_1)-\mathbf {f_{\textrm{a}_\textrm{e}}}\Big ), \end{aligned}$$
(20)

with \(\kappa _4:=(k_\textrm{m}-g_\textrm{h})/(k_\textrm{s} k_\textrm{g})\).

From (18) to achieve bounded velocities, we design \(\Delta \) to dynamically compensate the term \(x = k_\textrm{f}\dot{{\textbf{x}}}_{\textbf{m}}^{\textsf{T}}\mathbf {f_\textrm{e}}(t-h_2)\), called feedback power signal, measurable on the local site.

We propose \(\Delta \) to comply with the following general conditions:

  1. 1.

    \(\Delta (x)\) varies with the feedback power, i.e., \(\Delta (x) = f({\dot{{\textbf{x}}}_{\textbf{m}}^{\textsf{T}}\mathbf {f_\textrm{e}}(t-h_2)})\).

  2. 2.

    \(\Delta (x)\) only extracts energy from system, then \(\Delta (x) \ge 0 \forall x\).

  3. 3.

    To preserve transparency, \(\Delta (x)\) must remain low when the direction of \(\dot{{\textbf{x}}}_{\textbf{m}}\) and \(\mathbf {f_\textrm{e}}(t-h_2)\) are opposite, i.e., \(\lim _{x\rightarrow -\infty } \Delta (x) = 0\).

  4. 4.

    When the direction of \(\dot{{\textbf{x}}}_{\textbf{m}}\) and \(\mathbf {f_\textrm{e}}(t-h_2)\) are the same, \(\Delta (x) \) must be a monotonically increasing function with respect to the feedback power, i.e., if \( x \le y\) then \(\Delta (x) \le \Delta (y)\).

  5. 5.

    To preserve the stability of the system when the direction of \(\dot{{\textbf{x}}}_{\textbf{m}}\) and \(\mathbf {f_\textrm{e}}(t-h_2)\) are the same, the power extracted by \(\Delta (x)\) must be greater than the power of the feedback signal, i.e., \(\dot{{\textbf{x}}}_{\textbf{m}}^{\textsf{T}}\Delta \dot{{\textbf{x}}}_{\textbf{m}} \ge k_\textrm{f}\dot{{\textbf{x}}}_{\textbf{m}}^{\textsf{T}}\mathbf {f_\textrm{e}}(t-h_2) \forall \dot{{\textbf{x}}}_{\textbf{m}}^{\textsf{T}}\mathbf {f_\textrm{e}}(t-h_2) >0\).

Remark 1

If \(\alpha _\textrm{m}\) and \(\alpha _\textrm{s}\) are sufficiently big (high damping) to fulfill \(\lambda _\textrm{m},\lambda _\textrm{s}>0\) (19), the condition \(k_\textrm{m}>g_\textrm{h}\) is hold, then we can get from V (14)–(17) and \(\dot{V}\) (18) that variables \(\dot{{\textbf{x}}}_{\textbf{m}}\), \(\dot{{\textbf{x}}}_{\textbf{s}}\in {\mathcal {L}}_\infty \).

Next, if (18) is integrated with respect to time, we get:

$$\begin{aligned} V(t)-V(0)&\le -\lambda _\textrm{m}\left\| \dot{{\textbf{x}}}_{\textbf{m}}\right\| _{2}^{2}{ -}\lambda _\textrm{s}\left\| \dot{{\textbf{x}}}_{\textbf{s}}\right\| _{2}^{2} {+}\int \limits _{0}^{t}{\dot{{\textbf{x}}}_{\textbf{m}}^{\textsf{T}}(\varepsilon )\rho _\textrm{m}(\varepsilon ) }\,\textrm{d}\varepsilon \nonumber \\&\quad +\int \limits _{0}^{t}{\dot{{\textbf{x}}}_{\textbf{s}}^{\textsf{T}}(\varepsilon )\rho _\textrm{s}(\varepsilon ) }\,\textrm{d}\varepsilon +\int \limits _{0}^{t}{\dot{\textbf{x}}}_{\textbf{m}}^{\textsf{T}}(-\Delta (\varepsilon )\dot{{\textbf{x}}}_{\textbf{m}} \nonumber \\&\quad + k_\textrm{f} \mathbf {f_\textrm{e}}(\varepsilon -h_2))\,\textrm{d}\varepsilon . \end{aligned}$$
(21)

Remark 2

The integral terms \(\int _{0}^{t}{\dot{{\textbf{x}}}_{\textbf{m}}(\varepsilon )^{\textsf{T}}\rho _\textrm{m}(\varepsilon )}\,\textrm{d}\varepsilon \) and \(\int _{0}^{t}{\dot{{\textbf{x}}}_{\textbf{s}}(\varepsilon )^{\textsf{T}}\rho _\textrm{s}2(\varepsilon )}\,\textrm{d}\varepsilon \) are bounded since \(\mathbf {f_{\textrm{a}_\textrm{e}}},\mathbf {f_{\textrm{a}_\textrm{h}}}\in {\mathcal {L}}_2\) (Assumptions 2 and 3) and \(\dot{{\textbf{x}}}_{\textbf{m}},\dot{{\textbf{x}}}_{\textbf{s}}\in {\mathcal {L}}_\infty \).

The design of the variable damping \(\Delta \) allows that

$$\begin{aligned} \int \limits _{0}^{t}{\dot{{\textbf{x}}}_{\textbf{m}}^{\textsf{T}}(-\Delta (\varepsilon )\dot{{\textbf{x}}}_{\textbf{m}} + k_\textrm{f} \mathbf {f_\textrm{e}}(\varepsilon -h_2))}\,\textrm{d}\varepsilon \le 0, \end{aligned}$$

and due to V is radially unbounded, we get V bounded in (21) for all t, hence \(\mathbf {x_\textrm{m}},\mathbf {x_\textrm{s}}\in {\mathcal {L}}_\infty \). Therefore, \(\left\| \dot{{\textbf{x}}}_{\textbf{m}} \right\| _2^2\) and \(\left\| \dot{{\textbf{x}}}_{\textbf{s}} \right\| _2^2\) are bounded too, which implies that \(\dot{{\textbf{x}}}_{\textbf{m}},\dot{{\textbf{x}}}_{\textbf{s}}\in {\mathcal {L}}_2\). It is important to remark that as greater the magnitude of \(\Delta \) is, the system better avoids the possible increase of the feedback power injected to the leader, while if such control parameter is low, the transparency is higher. Consequently, the selection of \(\Delta \) must take into account a trade-off between stability (energy boundness) and transparency (the human operator perceiving the environment such as it is). Because of this trade-off, the expression of \( \Delta \) is a design factor that must be selected for each particular application. Without losing generality, in Sect. 5 we propose a possible expression for \(\Delta \).

In addition, the closed-loop dynamics of the leader (1) and follower (2), including the proposed controller in (6) and (7), can be represented by the following expressions:

$$\begin{aligned} \ddot{{\textbf{x}}}_{\textbf{m}}&={\textbf{M}}_{\textbf{m}}^{-1}\Big [-\mathbf {C_\textrm{m}}\dot{{\textbf{x}}}_{\textbf{m}}-k_\textrm{m}( k_\textrm{g}\mathbf {x_\textrm{m}} \nonumber \\&\quad -\mathbf {x_\textrm{s}}(t-h_2))-(\alpha _\textrm{m}+\Delta )\dot{{\textbf{x}}}_{\textbf{m}} +k_\textrm{f}\mathbf {f_\textrm{e}}(t-h_2)+\mathbf {f_\textrm{h}}\Big ], \end{aligned}$$
(22)
$$\begin{aligned} \ddot{{\textbf{x}}}_{\textbf{s}}&={\textbf{M}}_{\textbf{s}}^{-1}\Big [-\mathbf {C_\textrm{s}}\dot{{\textbf{x}}}_{\textbf{s}}+k_\textrm{s}(k_\textrm{g}\mathbf {x_\textrm{m}}( t-h_1) \nonumber \\&\quad - \mathbf {x_\textrm{s}}) -\alpha _\textrm{s}\dot{{\textbf{x}}}_{\textbf{s}} +\tfrac{1}{k_\textrm{f}}\mathbf {f_\textrm{h}}(t-h_1)+\mathbf {f_\textrm{e}}\Big ]. \end{aligned}$$
(23)

Remark 3

Due to Remark 1 and 2, \(\dot{{\textbf{x}}}_{\textbf{m}},\dot{{\textbf{x}}}_{\textbf{s}}\in {\mathcal {L}}_\infty \cap {\mathcal {L}}_2\), and therefore, \(\int _{0}^{t}{\dot{{\textbf{x}}}_{\textbf{m}}}\,\textrm{d}t\) and \(\int _{0}^{t}{\dot{{\textbf{x}}}_{\textbf{s}}}\,\textrm{d}t\) have finite limit for \(t\rightarrow \infty \). Furthermore, all terms on the right hand of (22) and (23) are bounded from Remark 1 and Assumptions 1, 2 and 3; i.e., \(\dot{{\textbf{x}}}_{\textbf{m}},\dot{{\textbf{x}}}_{\textbf{s}}\) are uniformly continuous. Next, Lemma 1 can be applied concluding that \(\dot{{\textbf{x}}}_{\textbf{m}},\dot{{\textbf{x}}}_{\textbf{s}}\rightarrow {\textbf{0}}\) as \(t\rightarrow \infty \). Lemma 1 can also be applied to \(\int _{0}^{t}{\ddot{{\textbf{x}}}_{\textbf{m}}(\varepsilon )} \,\textrm{d}\varepsilon \) and \(\int _{0}^{t}{\ddot{{\textbf{x}}}_{\textbf{s}}(\varepsilon )}\,\textrm{d}\varepsilon \), which have finite and defined limit for \(t\rightarrow \infty \). Deriving (22) and (23) it is feasible to verify that \(\dddot{{\textbf{x}}}_{\textbf{m}}\) and \(\dddot{{\textbf{x}}}_{\textbf{s}}\) are bounded; then we get as the result that \(\ddot{{\textbf{x}}}_{\textbf{m}},\ddot{{\textbf{x}}}_{\textbf{s}}\rightarrow {\textbf{0}}\) as \(t\rightarrow \infty \). We remark that from this result it is possible to infer that \(\Delta (x) \rightarrow 0\) for \(t \rightarrow \infty \), which implies that the total damping of the haptic device tends to \(\alpha _\textrm{m}\).

3.2 Force and position dual coordination

To obtain 1, 2 and 3, \({\textbf{A}}={\textbf{B}}={\textbf{0}}\) was considered. Otherwise, a variable change is performed in order that a similar stability analysis can be carried out [34].

To get the new Krasovskii-like equilibrium solution the closed-loop dynamics is analyzed for \(t\rightarrow \infty \), in this situation let us assume that \(\dot{{\textbf{x}}}_{\textbf{m}},\ddot{{\textbf{x}}}_{\textbf{m}},\dot{{\textbf{x}}}_{\textbf{s}},\ddot{{\textbf{x}}}_{\textbf{s}}\rightarrow {\textbf{0}}\), considering \({\textbf{A}}\) and \({\textbf{B}}\) as constant values. Next, the following relations in stationary state can be expressed from (22) and (23):

$$\begin{aligned} -k_\textrm{m}(k_\textrm{g}\bar{{\textbf{x}}}_{\textbf{m}}-\bar{{\textbf{x}}}_{\textbf{s}})+k_\textrm{f}\bar{{\textbf{f}}}_{\textbf{e}}+\bar{{\textbf{f}}}_{\textbf{h}}&={\textbf{0}}, \end{aligned}$$
(24)
$$\begin{aligned} k_\textrm{s}(k_\textrm{g}\bar{{\textbf{x}}}_{\textbf{m}} - \bar{{\textbf{x}}}_{\textbf{s}})+\tfrac{1}{k_\textrm{f}}\bar{{\textbf{f}}}_{\textbf{h}}+\bar{{\textbf{f}}}_{\textbf{e}}&={\textbf{0}}, \end{aligned}$$
(25)

where \(\bar{{\textbf{x}}}_{\textbf{m}}:=\lim _{t\rightarrow \infty }\mathbf {x_\textrm{m}}(t)\), \(\bar{{\textbf{x}}}_{\textbf{s}}:=\lim _{t\rightarrow \infty }\mathbf {x_\textrm{s}}(t)\), \(\bar{{\textbf{f}}}_{\textbf{h}}:=\lim _{t\rightarrow \infty }\mathbf {f_\textrm{h}}(t)\) and \(\bar{{\textbf{f}}}_{\textbf{e}}:=\lim _{t\rightarrow \infty }\mathbf {f_\textrm{e}}(t)\). Observing (24) and (25), it is possible to infer that:

$$\begin{aligned} \bar{{\textbf{x}}}_{\textbf{s}}\rightarrow k_\textrm{g}\bar{{\textbf{x}}}_{\textbf{m}}\quad \text {and}\quad k_\textrm{f}\bar{{\textbf{f}}}_{\textbf{e}}\rightarrow -\bar{{\textbf{f}}}_{\textbf{h}}. \end{aligned}$$
(26)

Next, if the proposed human operator model (4) and the environment force (3) are included into (26), the relations represented below can be achieved at steady state:

$$\begin{aligned}{} & {} k_\textrm{f}\bar{{\textbf{f}}}_{\textbf{e}}=-k_\textrm{f} k_\textrm{e}\bar{{\textbf{x}}}_{\textbf{s}} - k_\textrm{f}{\textbf{B}} =-\bar{{\textbf{f}}}_{\textbf{h}}=-g_\textrm{h}({\textbf{A}}-\bar{{\textbf{x}}}_{\textbf{s}}), \nonumber \\{} & {} \quad \bar{{\textbf{x}}}_{\textbf{m}}\rightarrow \frac{(g_\textrm{h}{\textbf{A}}-k_\textrm{f}{\textbf{B}})}{(k_\textrm{e} k_\textrm{g} k_\textrm{f}+g_\textrm{h} k_\textrm{g}+k_\textrm{h})}. \end{aligned}$$
(27)

Finally, analyzing (26) and (27), the following variable change is proposed:

$$\begin{aligned} {\textbf{x}}&=\mathbf {x_\textrm{m}}-\bar{{\textbf{x}}}_{\textbf{m}} , \end{aligned}$$
(28)
$$\begin{aligned} {\textbf{y}}&=\mathbf {x_\textrm{s}}-\bar{{\textbf{x}}}_{\textbf{s}} , \end{aligned}$$
(29)

where \(\bar{{\textbf{x}}}_{\textbf{m}}\) and \(\bar{{\textbf{x}}}_{\textbf{s}}\) are constant values. If (28) and (29) are applied to (22) and (23), and on the resulting relations the proposed human operator model (4) and the environment force (3) are included, then it is possible to get the following equations to represent the DBTS:

$$\begin{aligned} \ddot{{\textbf{x}}}&={\textbf{M}}_{\textbf{m}}^{-1}\Big [-\mathbf {C_\textrm{m}}\dot{{\textbf{x}}}\nonumber \\&\quad -k_\textrm{m}(k_\textrm{g}({\textbf{x}}+\bar{{\textbf{x}}}_{\textbf{m}}) -({\textbf{y}}(t-h_2)+\bar{{\textbf{x}}}_{\textbf{s}}))\nonumber \\&\quad -(\alpha _\textrm{m}+\Delta )\dot{{\textbf{x}}}\nonumber \\&\quad +k_\textrm{f}(\mathbf {f_{\textrm{a}_\textrm{e}}}(t-h_2) - k_\textrm{e}({\textbf{y}}(t-h_2)+\bar{{\textbf{x}}}_{\textbf{s}}) \nonumber \\&\quad - \alpha _\textrm{e}\dot{{\textbf{y}}}(t-h_2) +{\textbf{B}}) \nonumber \\&\quad +\mathbf {f_{\textrm{a}_\textrm{h}}}+g_\textrm{h}({\textbf{A}}-({\textbf{y}}(t-h_2)+\bar{{\textbf{x}}}_{\textbf{s}}))\nonumber \\&\quad -\alpha _\textrm{h}\dot{{\textbf{x}}}-k_\textrm{h}({\textbf{x}}+\bar{{\textbf{x}}}_{\textbf{m}})\Big ], \end{aligned}$$
(30)
$$\begin{aligned} \ddot{{\textbf{y}}}&={\textbf{M}}_{\textbf{s}}^{-1}\Big [-\mathbf {C_\textrm{s}}\dot{{\textbf{y}}}+k_\textrm{s}(k_\textrm{g}({\textbf{x}}(t-h_1)\nonumber \\&\quad + \bar{{\textbf{x}}}_{\textbf{m}}) - ({\textbf{y}}+\bar{{\textbf{x}}}_{\textbf{s}}))-\alpha _\textrm{s}\dot{{\textbf{y}}} \nonumber \\&\quad +\tfrac{1}{k_\textrm{f}}(\mathbf {f_{\textrm{a}_\textrm{h}}}(t-h_1)+g_\textrm{h}({\textbf{A}}-({\textbf{y}}(t-h_1-h_2)\nonumber \\&\quad +\bar{{\textbf{x}}}_{\textbf{s}}))-\alpha _\textrm{h}\dot{{\textbf{x}}}(t-h_1)) \nonumber \\&\quad +\mathbf {f_{\textrm{a}_\textrm{e}}} - k_\textrm{e}({\textbf{y}}+\bar{{\textbf{x}}}_{\textbf{s}}) - \alpha _\textrm{e}\dot{{\textbf{y}}} +{\textbf{B}} -k_\textrm{h}({\textbf{x}}(t-h_1)+\bar{{\textbf{x}}}_{\textbf{m}})\Big ]. \end{aligned}$$
(31)

Now, if \(\hat{{\textbf{f}}}_{\textbf{h}}\) and \(\hat{{\textbf{f}}}_{\textbf{e}}\) are defined by:

$$\begin{aligned} \begin{aligned} \hat{{\textbf{f}}}_{\textbf{h}}&=\mathbf {f_{\textrm{a}_\textrm{h}}}+g_\textrm{h}{\textbf{y}}(t-h_2)-\alpha _\textrm{h}\dot{{\textbf{x}}}-k_\textrm{h} {\textbf{x}}, \\ \hat{{\textbf{f}}}_{\textbf{e}}&=\mathbf {f_{\textrm{a}_\textrm{e}}} - k_\textrm{e}{\textbf{y}}-\alpha _\textrm{e}\dot{{\textbf{y}}}. \\ \end{aligned} \end{aligned}$$
(32)

Then, considering the relations (26) and (27), equations (30) and (31) can be rewritten, in a similar way to (22) and (23), as follows:

$$\begin{aligned} \ddot{{\textbf{x}}}&={\textbf{M}}_{\textbf{m}}^{-1}\Big [-\mathbf {C_\textrm{m}}\dot{{\textbf{x}}}-k_\textrm{m}(k_\textrm{g}{\textbf{x}}\nonumber \\&\quad -{\textbf{y}}(t-h_2)) -(\alpha _\textrm{m}+\Delta )\dot{{\textbf{x}}}+k_\textrm{f}\hat{{\textbf{f}}}_{\textbf{e}}(t-h_2) \nonumber \\&\quad +\hat{{\textbf{f}}}_{\textbf{h}}\Big ], \end{aligned}$$
(33)
$$\begin{aligned} \ddot{{\textbf{y}}}&={\textbf{M}}_{\textbf{s}}^{-1}\Big [-\mathbf {C_\textrm{s}}\dot{{\textbf{y}}}+k_\textrm{s}(k_\textrm{g}{\textbf{x}}(t-h_1)-{\textbf{y}})\nonumber \\&\quad -\alpha _\textrm{s}\dot{{\textbf{y}}}+\tfrac{1}{k_\textrm{f}}\hat{{\textbf{f}}}_{\textbf{h}}(t-h_1)+\hat{{\textbf{f}}}_{\textbf{e}}\Big ]. \end{aligned}$$
(34)

Remark 4

A procedure similar to the one carried on Remark1, 2 and 3 can be applied to the delayed system represented by (33) and (34), getting as a result that the teleoperation system converges for \(t\rightarrow \infty \) to an equilibrium in which a simultaneous synchronism of force (force exerted by the human operator will tend to the scaled environment force) and motion (the position mapped linearly by the leader will tend to the follower’s position) is obtained. Besides, the human operator can change the convergence point handling their internal reference \({\textbf{A}}\).

4 Experimental results

In this section, the system is implemented in practice. In these experiments, a human operator commands a remote manipulator robot through a network, to execute an inspection by contact of a soft medium. Novint Falcon is used as a 3D haptic joystick to drive a Robotis Manipulator-H as the remote robot. The human and the environment forces are measured with a Variense 3-axis force sensor, model fs103. Each device runs in a separate computer and is linked with a Ubiquiti NanoStation long-range antenna. Each device (sensors and robots) is controlled employing independent executable programs developed in C++ language. Moreover, the controllers are implemented within Matlab Simulink running in real-time mode. All internal software modules of each computer communicate with each other through shared memory. A layout of the experimental setup and views of the local and remote sites is shown in Figs. 3 and 4, respectively.

Fig. 3
figure 3

Experimental setup

The performed test involves utilizing a remotely teleoperated manipulator, controlled over the network, to conduct a horizontal scan on a soft surface while maintaining a nearly constant vertical force. The human operator’s task is to position the robot in contact with the medium and assess its hardness by exerting a displacement/force along the z-axis. Subsequently, the operator must examine the medium’s resistance to movement by applying a displacement/force along the y-axis while keeping the z-axis position and force as constant as possible. Finally, the operator is required to return the robot to its initial position.

Although the desired position command A is not explicitly given to the operator, maintaining a constant contact force with a passive medium implies A to be constant and \(B = 0[N]\). The medium is positioned at the origin of the z-axis.

A video demonstrating teleoperation with high delay can be viewed here.

Experiments are repeated for three different communication time delays \(h = h_1+h_2 \): low, medium, and high.

For medium and high delay, a simulated time-variant delay is added to both incoming and outcoming signals. These delays \(h_i\) are generated by random sinusoidal signals mounted on random constant with the addition of white noise. The linear damping is qualitatively calibrated for each test based on (19).

Fig. 4
figure 4

Views of the remote site (bigger picture) and local site (bottom-right picture)

4.1 Setup

For the controller implementation, first an expression for \( \Delta (t) \) is chosen, following the guidelines of Sect. 3.1. For a sake of simplicity we propose to use the function:

$$\begin{aligned} \Delta =k_{\alpha 1} e^{k_{\alpha 2}\dot{{\textbf{x}}}_{\textbf{m}}^{\textsf{T}}\mathbf {f_\textrm{e}}(t-h_2)}, \end{aligned}$$
(35)

where \( k_{\alpha i} \) are positive constants, which was adjusted empirically: first performing an experiment and measuring the maximum value of the feedback power, then choosing a value high enough to ensure the condition 3.1. The parameters used in each experiment are summarized in Table 2.

Table 2 Parameters used in the experiments
Fig. 5
figure 5

Experimental results for low delay. A Environment-operator force tracking on the y-axis. B Environment-operator position tracking on the y-axis. C Environment-operator force tracking on the z-axis. D Environment-operator position tracking on the z-axis and position of the medium. E Evolution of variable damping. F Round-trip communication delay

Fig. 6
figure 6

Experimental results for medium delay. A Environment-operator force tracking on the y-axis. B Environment-operator position tracking on the y-axis. C Environment-operator force tracking on the z-axis. D Environment-operator position tracking on the z-axis and position of the medium. E Evolution of variable damping. F Round-trip communication delay

Fig. 7
figure 7

Experimental results for high delay. A Environment-operator force tracking on the y-axis. B Environment-operator position tracking on the y-axis. C Environment-operator force tracking on the z-axis. D Environment-operator position tracking on the z-axis and position of the medium. E Evolution of variable damping. F Round-trip communication delay

On the other hand, \(\alpha _\textrm{m}\) and \(\alpha _\textrm{s}\) values were calculated for each \( h_i \) using (19).

4.2 Results

Figures 5, 6 and 7 show the results of the experiments. Despite the time delay (last graph in each figure), accurate position tracking on both the y-axis and z-axis is observed. In addition, even when the forces signals are (as usual) very noisy, a good force tracking of the system is observed in both, waveform and magnitude. It should be noted that the force synchronization occurs only when the robot is in contact with the medium, that is, \(F_\textrm{e} \ne 0 [N]\). When \(F_\textrm{e} = 0 [N]\) the force desynchronism occurs because the operator pushes the end effector of the haptic device, and therefore generates a measurement in the sensor.

Next, tracking error index of position \(\textrm{I}_{\textbf{x}}\) and force \(\textrm{I}_{\textbf{f}}\) and time to complete the task \(\mathrm {T_{task}}\) are obtained. Such metrics are calculated as follows:

(36)
(37)

Remark are summarized in Table 3.

From Table 3 and Figs. 5, 6 and 7, it can be seen that, as usual, system performance degrades as the time delay grows. However, it is observed that even under a high time delay of more than 2 s, the system behaves adequately, keeping the main control variables bounded, which translates into satisfactory performance in terms of stability and transparency.

5 Simulations

In this section, simulation results are presented to compare general aspects of the response of the proposed scheme with the one obtained using the controller from [34], since the latter is a good representative of the controllers were the stability condition is reached through control actions with sign functions.

Some key differences and similarities of our proposal with the most well-known papers of the state of the art are summarized in Table 4. It is important to note that our proposal doesn’t require the use of sign functions or the cancellation of exogenous forces. Its parameters are independent of the elasticity of the medium and it modifies the damping depending on a measurable power/energy signal; this way it avoids the use of observers whose estimation usually degrades with the time delay.

To contrast the results, the response of the system is compared with the case without variable damping. It should be noted that there is no theoretical evidence of the stability of the latter, despite the fact that it performs well in these few simulations.

The controllers are constructed from Eqs. (6) and (7). In the first controller (denoted as Pdf+\(\Delta \)), \(\Delta \) is chosen following the guidelines of Sect. 3.1. For the sake of simplicity, we propose to use the following function

$$\begin{aligned} \Delta =k_{\alpha 1} e^{k_{\alpha 2}\dot{{\textbf{x}}}_{\textbf{m}}^{\textsf{T}}\mathbf {f_\textrm{e}}(t-h_2)}, \end{aligned}$$
(38)

where \( k_{\alpha i} \) are positive constants, which were adjusted empirically: first performing a simulation and measuring the maximum value of the feedback power, then choosing a value high enough to ensure the condition 3.1. For the second controller (denoted as Pdf), \(\Delta =0\) for all t. For the last controller (denoted as Pdf+\(\Gamma \)), the \(\Delta \) term of (6) is replaced with \(\Gamma \) of (39) [34]

$$\begin{aligned} \Gamma (t)= \textrm{sgn}(\dot{\mathbf {x_\textrm{m}}})\left( k_2 \mathbf {x_\textrm{s}}^{\textsf{T}}\mathbf {x_\textrm{s}}+k_3\right) . \end{aligned}$$
(39)

For the simulations, the PELICAN robot model presented in [36] and used in [34] is adopted. The simulations are divided into two stages, one of penetration in the medium and another of retreat. The robot starts at a position \(q_0= [45, 135]\) \([^\circ ]\) and the medium is at a distance \(X_0 =[18.83, 7.62]\) [cm]. For the penetration part of the simulation, consider \(A_1 = [33.3, 7.62]\) [cm], which represents a penetration of 15 cm, and \({\textbf{B}}={\textbf{0}}\) (passive medium). For the retraction part, \({\textbf{A}}\) is switched to \({\textbf{A}}_2 = X_0\), which tries to bring the robot to its initial position. Through \({\textbf{A}}_1\) and \({\textbf{A}}_2\), the interaction of the end effector of the robot with the environment occurs mainly in the x axis, keeping the value of y constant.

The parameters of the controllers are set to \(k_2=5\) \([\textrm{kg}/(\textrm{m}^2\cdot \textrm{s})]\), \(k_3=5\) \([\textrm{kg}/\textrm{s}]\), \(k_\textrm{m}=10\) \([\textrm{kg}/\textrm{s}^2]\), \(g_\textrm{h}=8\) \([\textrm{kg}/\textrm{s}^2]\), \(k_\textrm{g}=1\) \([\mathrm{m/m}]\), \(k_\textrm{s}=15\) \([\mathrm{kg/s}^2]\), \(k_\textrm{f}=1\) [N/N], \(k_\textrm{e}=200\), \(k_{\alpha 1}=200\) [kg/s] and \(k_{\alpha 2}=0.1\) \([\textrm{s}^3/(\textrm{kg}\cdot \textrm{m}^2)]\).

Table 3 Tracking error index
Table 4 Qualitative comparison with other studies in the literature

The simulation of each control scheme is repeated using three random sinusoidal time delays, with the following maximum values: \(\max (h_\textrm{low})=100\) [ms], \(\max (h_\textrm{medium})=500\) [ms] and \(\max (h_\textrm{high})=1\) [s].

To facilitate the interpretation of the results, \(\mathbf {f_{\textrm{a}_\textrm{h}}} = \mathbf {f_{\textrm{a}_\textrm{e}}} = {\textbf{0}}\) is taken. Conservatively, \(K_\textrm{h} = \alpha _\textrm{e} =\alpha _\textrm{h} = 0\), it should be noted that values greater than 0 would contribute to the stability of the system.

Figure 8 shows that, given the same parameter settings, all schemes behave similarly, especially for cases where the time delay is high. This is a dual coordination of force and position is achieved. However, the scheme based on explicit nonlinear damping (sign functions in the controller) adds chattering.

Fig. 8
figure 8

Position (top) and force (bottom) synchronization errors using Pdf+\(\Delta \) (blue), Pdf+\(\Gamma \) (red) and Pdf (black) for different time delays: \(\max (h_\textrm{low})=100\) [ms], \(\max (h_\textrm{medium})=500\) [ms] and \(\max (h_\textrm{high})=1\) [s]

Fig. 9
figure 9

Force contribution of \(\Delta \) (\(F_\Delta \)) in the proposed controller (Pdf+\(\Delta \)) for different time delays: \(\max (h_\textrm{low})=100\) [ms] (yellow), \(\max (h_\textrm{medium})=500\) [ms] (red) and \(\max (h_\textrm{high})=1\) [s] (blue)

In Fig. 9, it can be seen that the proposed variable damping only acts in the moments of retraction and rebound of the end effector. Although the magnitude of \(F_\Delta \) increases as the delay increases, its relative magnitude with respect to constant damping gets smaller, and as the speed of movement is also lower, it results in a less evident effect on the total behavior of the system. However, it is observed that the variable damping acts for a short period after retraction (maximum feedback energy) damping the initial effect and subsequently deactivating itself, thus contributing to the signal stabilization time. This behavior can be accentuated by proper parameter settings: tuning \(k_{\alpha 1}\), the time during which the variable damping acts can be adjusted, and through \(k_{\alpha 2}\) its magnitude.

6 Discussions and conclusions

In this paper, a strategy that considers the effect of time delay has been proposed in order to get a stable bilateral teleoperation of a manipulator robot. It is based on injecting linear damping, avoiding the use of nonlinear damping and dependence on the medium properties, which is impractical. The proposed controller can be applied in commercial robots which generally include PID structures.

The stability theoretical analysis together with the performed simulations give us as a result a general law to qualitatively online calibrate the controller to achieve a stable simultaneous synchronization of position and force, where the injected damping mainly depends on the time delay and feedback power that considers the leader velocity and delayed environment force.

The analysis shows that the system achieves bounded force and position errors regardless of the time delay as well as the elasticity of the medium. Although, as usual in bilateral teleoperation, the environment parameters influence the system performance, the study of this phenomenon for this family of controllers is outside the scope of this work. It is important to remark that the proposed scheme avoids the use of discontinuities in the controller and consequent chattering as well as energy observers are not used. Our proposal requires the use of force sensors and the main limitation at theoretical level is that the analysis presented does not allow assure a convergence of the force and position errors in finite time.

The results of this study contribute to the improvement of the trade-off between stability and transparency, rising and extending the potential use of bilateral teleoperation systems to a broader range of applications.