Keywords

1 Introduction

The position/force control theory appears in contact tasks to account not only program motion but desired force interaction with environment. Significant contribution to the development of the position/force control theory is made by scientists of the Serbian school under the leadership of Miomir Vukobratovic [1].

The theory applications are in general in area of machinery. However the necessity to consider the compliance interaction with biological soft tissue arises in problems of medical robotics including noninvasive restorative medicine [2]. There is direct compliance interaction of robot with soft tissue during various massage or by means of levers for extremities movements in joints. In these procedures compliance movement is more essential than strict program one.

Depending on the procedure complexity the various soft tissue models and control methods are used. The description of inertial and viscoelastic properties of soft tissue is necessary for more fine solutions.

The employment of multilink manipulation robots for restorative medicine is a very promising trend [3].

2 Soft Tissues Dynamic Characteristics

Soft tissue can be presented as an anisotropic, multilayered, nonlinear, inertial, viscoelastic, plastic and non-stationary environment in the most general models. The nonlinear properties especially evident for soft tissues overlaying the rigid bones. Some soft tissues characteristics are described in monograph [4].

The elasticity coefficient on the soft tissue characteristic part, which is close to the linear one, is in the range of 500–5000 N/m and soft tissue viscosity coefficient is in the range of 10–100 Ns/m.

The data on soft tissue inertia were obtained in experiments with high-speed video camera use.

On Fig. 1 the experimental curves of transition processes of relaxed forearm front surface deformation by ball are shown. On the soft tissue the balls of diameter 7 and 20 mm fall from the height 13 mm.

Fig. 1
figure 1

The transition processes of relaxed forearm front surface deformation by ball

The soft tissue dynamic model in one-dimensional case can be given in the impedance form:

$$ m\mathop x\limits^{..} + \mu \dot{x} + kx = F, $$
(1)

where m, μ, k are the mass, the viscosity coefficient and the soft tissue elasticity coefficient accordingly.

Let us approximate the soft tissue characteristics in experiments (Fig. 1) using an impedance models. In these experiments for k = 1000 N/m we have m = 0.1 kg, µ = 10 Ns/m.

Experiments described above represent soft tissues dynamics using transients. There are methods of soft tissue dynamics description in frequency region [5].

3 Position/Force Control of Robot Interacting with Dynamic Environment

The theory of position/force control of robot interacting with dynamic environment is expounded within the framework of analytical mechanics in monograph [1].

The robot interacting with the dynamic environment can be presented by the following differential equation:

$$ M(\varvec{q})\mathop {\mathbf{q}}\limits^{..} + h(\varvec{q},\dot{\varvec{q}}) = \tau + J^{T} (\varvec{q}){\mathbf{F}}, $$
(2)

the environment dynamics can be described by the following differential equation:

$$ M(\varvec{q})\mathop {\mathbf{q}}\limits^{..} + L(\varvec{q},\dot{\varvec{q}}) = - S^{T} (\varvec{q}){\mathbf{F}}, $$
(3)

where \( \varvec{q},\dot{\varvec{q}},\mathop {\mathbf{q}}\limits^{..} \in R^{n} \) are the vectors of the generalized coordinates of position, velocity and acceleration accordingly, \( H({\mathbf{q}}) \in R^{n \times n} \) is the matrix characterizing inertial properties of the manipulator, \( {\mathbf{h}}({\mathbf{q}},{\dot{\mathbf{q}}}) \in R^{n} \) is the vector characterizing gravitational, centrifugal, Coriolis’ forces, \( M({\mathbf{q}}) \in R^{n \times m} \) is the matrix characterizing inertial properties of the environment, \( {\mathbf{L}}({\mathbf{q}},{\dot{\mathbf{q}}}) \in R^{m} \) is the vector characterizing viscoelastic properties of the environment and its weight, \( {\varvec{\uptau}} \in R^{n} \) is the vector of the input control, \( {\mathbf{F}} \in R^{m} \) is the vector of the forces operating on the end link (tool) of the manipulator from outside the environment, \( S({\mathbf{q}}) \in R^{m \times m} \) is the nonsingular matrix.

The robot control goal is to synthesize the control law τ(t) that provides the following:

$$ {\user2{q}}(t) \to {\user2{q}}_{0} (t),\;{\dot{\user2{q}}}(t) \to {\dot{\user2{q}}}_{0} (t),\;{\user2{F}}(t) \to {\user2{F}}_{0} (t),\;,{\text{ t}} \to \infty . $$
(4)

Let the model with the assigned transients in generalized coordinates q(t) is described by a linear differential equation of the second order:

$$ \mathop {\user2{q}}\limits^{..} + k_{1} {\dot{\user2{q}}} + k_{2} {\user2{q}} = 0 , $$
(5)

or in deviations e q  = q 0(t) − q(t):

$$ \mathop {\mathop {\text{e}}\limits^{..} }\nolimits_{q}^{{}} + k_{1} {\dot{\mathbf{e}}}_{q} + k_{2} {\mathbf{e}}_{q} = 0 , $$
(6)

where k 1 и k 2 are n × n matrix providing necessary quality transients of coordinates q(t).

We have:

$$ \mathop {\user2{q}}\limits^{..} = \mathop {\mathop {\user2{q}}\limits^{..} }\nolimits_{0}^{{}} - \mathop {\mathop e\limits^{..} }\nolimits_{q}^{{}} = \mathop {\mathop {\user2{q}}\limits^{..} }\nolimits_{0}^{{}} + k_{1} {\dot{\user2{e}}}_{q} + k_{2} {\user2{e}}_{q} . $$
(7)

To guarantee the necessary quality transients the control law should be as follows:

$$ {\varvec{\tau}} = H({\user2{q}})(\mathop {\mathop {\user2{q}}\limits^{..} }\nolimits_{0}^{{}} + k_{1} {\dot{\user2{e}}}_{q} + k_{2} {\user2{e}}_{q} ) + h({\user2{q}},{\dot{\user2{q}}}) - J^{T} ({\user2{q}}){\user2{F}} . $$
(8)

This is a control law of system having feedback loops with respect to \( {\user2{q}},{\dot{\user2{q}}},{\user2{F}} \).

The task of force stabilization can be determined as a guarantee of condition:

F(t) → F 0(t), t → ∞ and the necessary quality transients defined by the differential equation:

$$ T{\dot{\user2{e}}}_{F} + {\user2{e}}_{F} = 0, $$
(9)

where e F (t) = F 0(t) − F(t),

T is time constants matrix providing necessary quality transients of forces.

From Eq. (9) we have:

$$ T{\dot{\user2{F}}} = T{\dot{\user2{F}}}_{0} + {\user2{e}}_{F} . $$

Integrating we obtain:

$$ {\user2{F}} = {\user2{F}}_{0} + \frac{1}{T}\int\limits_{{t_{0} }}^{t} {{\user2{e}}_{F} (\omega )d\omega } . $$
(10)

If environment dynamic parameters are known and m = n then one of the control laws of system having feedback loops with respect to \( {\user2{q}},{\dot{\user2{q}}},{\user2{F}} \)can be the following:

$$ {\varvec{\tau}} = H({\user2{q}})M^{ - 1} ({\user2{q}})[ - {\mathbf{L}}({\user2{q}},{\dot{\user2{q}}}) - S^{T} ({\user2{q}})({\user2{F}}_{0} + \frac{1}{T}\int\limits_{{t_{0} }}^{t} {{\user2{e}}(\omega )d\omega )] + } {\user2{h}}({\user2{q}},{\dot{\user2{q}}}) - J^{T} ({\user2{q}}){\user2{F}}. $$
(11)

If m < n, then it is proposed to part the vector q into two subvectors:

$$ q^{( 1)} \; \in \;R^{n - m} \;{\text{and}}\;q^{( 2)} \; \in \;R^{m} ,\;{\user2{q}} = \left( {\begin{array}{*{20}c} {{\user2{q}}^{(1)} } \\ {{\user2{q}}^{(2)} } \\ \end{array} } \right), $$
(12)

so that

$$ M\left( {\mathbf{q}} \right){\mathbf{q}} = \, M_{ 1} \left( {q^{( 1)} } \right)q^{( 1)}_{{}} + M_{ 2} \left( {q^{( 2)} } \right)q^{( 2)} , $$
(13)

where M 1(q) ε R m × (nm) and M 2(q) ε R m × m are submatrix of matrix M(q).

In this case, when m < n, the requirement F(t) → F 0(t) can be guarantee only for m robot degrees of freedom with respect to coordinates \( \varvec{q}^{\left( 2\right)}_{0} \left( t \right) \). So it is necessary to have the following conditions:

$$ {\user2{q}}^{(1)} (t) \to {\user2{q}}^{(1)}_{0} (t),\;{\dot{\user2{q}}}^{(1)} (t) \to {\dot{\user2{q}}}_{0}^{(1)} (t),\;{{t}} \to \infty .\; $$
(14)

These conditions must be performed to guarantee the necessary quality transients of coordinates q (1)(t), determined by the differential equation:

$$ \mathop {\user2{e}}\limits^{..}_{q1} + k_{1} {\dot{\user2{e}}}_{q1} + k_{2} {\user2{e}}_{q1} = 0, $$
(15)

where \( {\mathbf{e}}_{q1} = \varvec{q}^{( 1)}_{0} \left( t \right) \, - \varvec{q}^{( 1)} \left( t \right) \), k 1 and k 2 are n-m × n-m matrix guaranteeing the necessary quality transients.

We also assume the transients F(t) are defined by the following model:

$$ \frac{1}{T}{\dot{\mathbf{e}}}_{F} + {\mathbf{e}}_{F} = 0\;{\text{and}}\;{\mathbf{F}} = {\mathbf{F}}_{0} + \frac{1}{T}\int\limits_{{t_{0} }}^{t} {{\user2{e}}_{F} (\omega )d\omega } . $$
(16)

Let us introduce the notation:

$$ \text{W(}{\mathbf{q}}\text{,}{\dot{\mathbf{q}}}\text{,}t\text{,}{\mathbf{F}}\text{)} = - M_{2}^{ - 1} ({\mathbf{q}})[{\mathbf{L}}({\mathbf{q}},{\dot{\mathbf{q}}}) + S^{T} ({\mathbf{q}}){\mathbf{F}} + M_{1} ({\mathbf{q}})(\mathop {\mathop {\mathbf{q}}\limits^{..} }\nolimits_{1}^{0} + k_{1} {\dot{\mathbf{e}}}_{q1} + k_{ 2} {\mathbf{e}}_{q1} )], $$
(17)
$$ \mathop {\mathop {\mathbf{q}}\limits^{..} }\nolimits_{c}^{{}} ({\mathbf{F}}) = \left( {\begin{array}{*{20}c} {\mathop {\mathop {\mathbf{q}}\limits^{..} }\nolimits_{0}^{(1)} + k_{1} \dot{\varvec{e}}_{\text{q1}} + k_{2} {\mathbf{e}}_{\text{q1}} } \\ {W(\varvec{q},\dot{\varvec{q}},t,{\mathbf{F}})} \\ \end{array} } \right). $$
(18)

We have the following equations of robot and environment:

$$ H(\varvec{q})\mathop {\mathbf{q}}\limits^{..}_{c} (F) + {\mathbf{h}}(\varvec{q},\dot{\varvec{q}}) = {\varvec{\uptau}} + J^{T} (\varvec{q})\left({\mathbf{F}}_{0} + \frac{1}{T}\int\limits_{{t_{0} }}^{t} {{\mathbf{e}}_{F} } (\omega )d\omega \right), $$
(19)
$$ M(\varvec{q})\mathop {\mathop {\mathbf{q}}\limits^{..} }\nolimits_{c}^{{}} + {\mathbf{L}}(\varvec{q},\dot{\varvec{q}}) = - S^{T} (\varvec{q})\left({\mathbf{F}}_{0} + \frac{1}{T}\int\limits_{{t_{0} }}^{t} {{\mathbf{e}}_{F} } (\omega )d\omega \right). $$
(20)

Performing algebraic transformations on matrices we find the control law:

$$ {\varvec{\uptau}} = H(\varvec{q})\mathop {\mathop {\mathbf{q}}\limits^{..} }\nolimits_{c}^{{}} ({\mathbf{F}}) + h(\varvec{q},\dot{\varvec{q}}) - J^{T} (\varvec{q})\left({\mathbf{F}}_{0} + \frac{1}{T}\int\limits_{{t_{0} }}^{t} {{\mathbf{e}}_{F} } (\omega )d\omega \right). $$
(21)

This is one of the control laws of system having feedback loops with respect to \( \varvec{q},\dot{\varvec{q}},{\mathbf{F}} \) and integral of the force deviation e F . Let us consider the next chapter the ability to control medical robot using proposed control law.

4 Control of Massage Robot Interacting with the Dynamic Soft Tissue

Let us consider the control of robot interacting with inertia soft tissue. As well as robot with press motion on soft tissue can be modeled by one-drive robot, the robot with shear motion of soft tissue can be modeled by two-drive robot (Fig. 2).

Fig. 2
figure 2

The scheme of planar robot interacting with soft tissue

In this task the position/force control aim consists in realization of movement along x axis with assigned constant speed while providing assigned force along y axis.

On Fig. 2 the following designations are introduced: τx and τy are the input control, F x and F y are resistance forces of soft tissue in directions axes x and y.

$$ \begin{aligned} F_{x} & = \mu \cdot \dot{x} + f \cdot F_{y} \cdot \text{sgn} \dot{x} \\ F_{y} & = m_{y} \mathop y\limits^{..} + \mu \cdot \dot{y} + k \cdot y, \\ \end{aligned} $$
(22)

where k is soft tissue elasticity coefficient, μ is soft tissue viscosity coefficient, f is coefficient of friction of the robot tool relatively soft tissue. The mass m y is soft tissue part which characterizes dynamic properties of soft tissue in transient process of robot interaction with soft tissue. If the transition process is close to the aperiodic one with response time T then \( m_{y} = k \cdot T_{{}}^{2} \). If for soft tissue k = 1000 N/m and T = 0.1 s, then m y  = 0.1 kg. Let us introduce the following vectors and matrix calculated for this example:

$$ \begin{aligned} {\mathbf{q}} & = \left( {\begin{array}{*{20}c} x \\ y \\ \end{array} } \right),\;H(q) = \left( {\begin{array}{*{20}c} {m_{1} + m_{2} } & 0 \\ 0 & {m_{2} } \\ \end{array} } \right),\;{\mathbf{h}}(q,\dot{q}) = \left( {\begin{array}{*{20}c} {\mu \cdot \dot{x}} \\ 0 \\ \end{array} } \right),\;{\mathbf{L}}(q,\dot{q}) = \left( {\begin{array}{*{20}c} 0 \\ {k \cdot y} \\ \end{array} } \right), \\ J^{T} (q) & = \left( {\begin{array}{*{20}c} { - f \cdot \text{sgn} \dot{x}} & 0 \\ 0 & { - 1} \\ \end{array} } \right),\;S^{T} (q) = \left( {\begin{array}{*{20}c} 0 & 0 \\ 0 & 1 \\ \end{array} } \right),\;{\mathbf{F}} = \left( {\begin{array}{*{20}c} {F_{y} } \\ {F_{y} } \\ \end{array} } \right). \\ \end{aligned} $$

Then the robot control laws are as follows:

$$ {\varvec{\uptau}}_{x} = (m_{1} + m_{2} )(k_{1} \dot{e}_{x} + k_{2} e_{x} ) + \mu \cdot \dot{x} + f \cdot (F_{0} + \frac{1}{T}\int\limits_{{t_{0} }}^{t} {e_{F} } (\omega )d\omega ) \cdot \text{sgn} \dot{x}, $$
(23)
$$ \uptau_{y} = \left( {\frac{{m_{2} }}{{m_{y} }} + 1} \right)\left(F_{0} + \frac{1}{T}\int\limits_{{t_{0} }}^{t} {e_{F} } (\omega )d\omega \right) + \frac{{m_{2} }}{{m_{y} }}(\mu \cdot \dot{y} + k \cdot y). $$
(24)

The control laws take into account the parameters of the manipulator and soft tissue, suggest feedbacks loops with respect to \( \varvec{q},\dot{\varvec{q}},{\mathbf{F}} \) and integral of the force, that allows identify robot controller structure.

Measurement and the introduction in control law changing soft tissues parameters such as m y , k, μ, f are problematic in the general case. These are tasks of adaptive position/force control.

The simplified model of robot interacting with soft tissues in tool direction axis is considered in [4]. The robot performing massage and extremities movement techniques has been developed at Moscow State Industrial University. The force module containing a strain sensor is mounted on the end link. The position/force control with force training is implemented to expand possibilities of the standard robot [4].

5 Conclusion

The robots for restorative medicine should have position/force control and consider features of the environment with which they interact. The position/force control taking into account soft tissue dynamics is necessary for robot control in fine massage techniques, speed methods, for example for vibration and impulse mobilization massage techniques, especially during the deformation of massive areas of the body. The research results allowed identifying the structure of the robot controller. The experimental investigations of soft tissues and extremities properties and adaptive position/force control development are required.