Keywords

1 Introduction

The methods of robotic mechanotherapy are currently widely used in rehabilitation medicine to restore the motor functions of the limbs of patients with various disorders of the musculoskeletal system. Upper limb treatment focuses on restoring the patient's nervous system, muscle capacity and arm strength, while lower limb treatment focuses on the various articular movements of the legs and their synchronization. So, in work [1] it is shown that there is a significant progress in the recovery of patients with the help of robotic physiotherapy. A promising direction is the use of parallel robot architectures in medical applications such as rehabilitation and kinesitherapy. Currently, there are many devices for lower limb rehabilitation. The Gait Trainer is a wheeled device that helps a person who cannot walk on their own. Rehabilitation complex WalkTrainer [2] has a mobile frame design, which includes a system for unloading the weight, due to which it is possible to regulate the dynamic load on the patient's lower limbs. The functionality of such devices does not allow for the rehabilitation of the lower limbs of patients in the early stages of rehabilitation. Thus, these devices are not suitable for patients who are only able to be in a sitting and lying position, whose motor functions of the lower limbs are impaired.

Among the rehabilitation systems, which is possible in the early stages of rehabilitation, one can single out the LokoHelp movement therapy station, an electromechanical gait trainer with a weight-unloading system. However, this system is not applicable to patients who cannot be suspended. A gait rehabilitation device based on a 3DOF parallel arm [3], which generates the required gait pattern by moving the patient's foot while the body weight is supported by a seat belt system. The KARR rehabilitation system [4] allows for the rehabilitation of patients in a sitting position. Also worth noting is the Lambda robot rehabilitation system [5], which involves the rehabilitation of bedridden patients by mobilizing the ankle joint. An upright table with an integrated orthopedic device and synchronized functional electrical stimulation Erigo Pro allows for intensive cyclic movement therapy in the form of passive dynamic movements of the lower limbs of recumbent patients. The listed devices as physiotherapeutic movements provide flexion-extension in the knee joint. In contrast, such a movement as adduction-abduction in the hip joint is impossible, which is a significant drawback.

2 Construction of a Mathematical Model of the Robotic System

Let us consider the design of RS for lower limb rehabilitation, a 3D model of which is shown in Fig. 1a. The RS includes an active parallel 3-PRRR mechanism and a passive orthosis based on the RRRR mechanism to support the patient's leg. A diagram of an active parallel mechanism is shown in Fig. 1b.

Fig. 1.
figure 1

Conceptual design of RS for lower limb rehabilitation: a) 3D model, b) 3-PRRR design scheme

Due to the active 3-PRRR mechanism, the proposed robotic rehabilitation system provides the required physiotherapeutic movements, and the passive part based on the RRRR orthosis provides the necessary angles, and, accordingly, the correctness of the exercise. This 3-DOF mechanism with translational motions along the axes was proposed by Kong and Gosselin in [6]. The mechanism consists of three kinematic chains \(A_{i} B_{i} C_{i} D_{i}\). The position of the movable platform on which the patient's foot is placed is an equilateral triangle \(D_{1} D_{2} D_{3}\) centered at point P and the radius of the circumscribed circle R. The movement of the platform is determined by linear displacements \( \user2{q} = \left( {q_{1} q_{2} q_{3} } \right)\). Let's denote \(a_{i}\) - the distance between points \(A_{i}\) and \(B_{i}\), \(b_{i}\)- between \(B_{i}\) and \(C_{i}\), \(c_{i}\) - between \(C_{i}\) and \(D_{i}\), \(d_{i}\) - between \(B_{i}\) and \(D_{i}\).

Let us further consider the problem of determining the workspace of ​​the parallel mechanism to ensure the required movements of the passive orthosis under clinical data for gait training. We will apply the non-uniform coverings method to determine the workspace. It is described in detail in [7,8,9], and the methods of interval analysis [10]. We will take into account the following design constraints on the parameters of the mechanism:

  • on the drive coordinates q: \(q_{i} \in \left[ {q_{{min}} ;q_{{max}} } \right]\).

  • the distance d between the joints by the centers of the joints \(B_{i} {\text{and}}\,D_{i}\): \(d_{i} \in \left[ {0;d_{{max}} } \right]\), where \(d_{{max}} = b + c\).

Determine the drive coordinates and angles of rotation in the joints \(B_{i} {\text{and}}\,C_{i}\) for certain coordinates of the center point P of the platform \(D_{1} D_{2} D_{3}\). To do this, we write down the intervals that describe the ranges of changes in the coordinates of the point P:

$$ \user2{X}_{\user2{P}} : = \left[ {\underline{{\user2{X}_{\user2{P}} }} ,\overline{{\user2{X}_{\user2{P}} }} } \right] = \left\{ {\underline{{\user2{X}_{\user2{P}} }} \le x_{P} \le \overline{{\user2{X}_{\user2{P}} }} } \right\},\;\user2{Y}_{\user2{P}} : = \left[ {\underline{{\user2{Y}_{\user2{P}} }} ,\overline{{\user2{Y}_{\user2{P}} }} } \right] = \left\{ {\underline{{\user2{Y}_{\user2{P}} }} \le y_{P} \le \overline{{\user2{Y}_{\user2{P}} }} } \right\} $$
$$ \user2{Z}_{\user2{P}} : = \left[ {\underline{{\user2{Z}_{\user2{P}} }} ,\overline{{\user2{Z}_{\user2{P}} }} } \right] = \left\{ {\underline{{\user2{Z}_{\user2{P}} }} \le z_{P} \le \overline{{\user2{Z}_{\user2{P}} }} } \right\} $$
(1)

The intervals describing the ranges of change of the drive coordinates have the form

$$ \user2{Q}_{\user2{i}} : = \left[ {\underline{{\user2{Q}_{\user2{i}} }} ,\overline{{\user2{Q}_{\user2{i}} }} } \right] = \left\{ {\underline{{\user2{Q}_{\user2{i}} }} \le q_{i} \le \user2{Q}_{\user2{i}} } \right\} $$
(2)

The drive coordinates \(q_{i}\) are determined according to the expressions

$$ q_{1} = x_{{D1}} = x_{P} + \frac{{\sqrt 3 }}{2}R,\;q_{2} = y_{{D2}} = y_{P} + \frac{R}{2},\;q_{3} = z_{{D3}} = z_{P} . $$
(3)

The intervals describing the ranges of the distance \(d_{i}\) are of the form

$$ \user2{D}_{\user2{i}} : = \left[ {\underline{{\user2{D}_{\user2{i}} }} ,\overline{{\user2{D}_{\user2{i}} }} } \right] = \left\{ {\underline{{\user2{D}_{\user2{i}} }} \le d_{i} \le \user2{D}_{\user2{i}} } \right\} $$

The distances \(d_{i}\) are defined as the distance between \(B_{i}\,{\text{and}}\,D_{i}\):

$$ d_{1} = \sqrt {\left( {y_{P} + \frac{R}{2} - a} \right)^{2} + \left( {z_{P} } \right)^{2} } $$
(4)
$$ d_{2} = \sqrt {\left( {x_{P} - \frac{{\sqrt 3 }}{2}R} \right)^{2} + \left( {z_{P} - a} \right)^{2} } $$
(5)
$$ d_{3} = \sqrt {\left( {x_{P} - a} \right)^{2} + \left( {y_{P} - R} \right)^{2} } $$
(6)

The obtained expressions (16) allow us to determine the values ​​of the geometric parameters of the mechanism that determine the boundaries of its workspace.

3 Determination the Workspace of ​​the Mechanism

Various numerical methods of interval analysis and grid approximation are used to determine the workspace [11]. However, their use is associated with significant computational difficulties, since the task of determining the workspace of ​​parallel robots has a large dimension. In [7], the application of the method of non-uniform coverings to approximate the set of solutions to a system of nonlinear inequalities is considered, and in [8, 9], the application of this method to determine the workspace of ​​some types of planar robots. Let us consider the application of this approach to constructing and analyzing the workspace of ​​a robotic system for lower limb rehabilitation.

The algorithm is synthesized using formulas (1)–(6). It works with two lists of three-dimensional boxes \({\mathbb{P}}\,{\text{and}}\,{\mathbb{P}}_{I}\), each of the dimensions of which corresponds to the coordinates \(x_{p} ,y_{p} ,\,z_{p}\) of the center of the movable platform P. At the first step of the algorithm, a box is specified that is guaranteed to include the workspace and approximation accuracy δ. The box is listed in \({\mathbb{P}}\). For the intervals \(\user2{X}_{\user2{P}}\), \(\user2{Y}_{\user2{P}}\) and \(\user2{Z}_{\user2{P}}\) of the box, the ranges \(\user2{Q}_{\user2{i}}\) and \(\user2{D}_{\user2{i}}\) are computed and constrained. If at least one of the calculated ranges is invalid, the box is excluded, in other cases it is divided in half into two equal boxes and the procedure is repeated. The algorithm ends its work when the size of the boxes becomes less than δ. Such boxes are listed in the \({\mathbb{P}}_{I}\) list.

The algorithm is implemented in the C++ programming language using the Snowgoose interval analysis library. The visualization of the simulation results was carried out by converting the list of boxes \({\mathbb{P}}_{I}\) into a universal format of 3D models - stl-file. The computational experiment was carried out for the following geometric parameters of the active mechanism: a = 50 mm, b = c = 500 mm, R = 50 mm \(q_{{min}}\) = 0 mm, \(q_{{max}}\) = 1000 mm. The simulation results are shown in Fig. 2. The computation time for the approximation accuracy δ = 2 mm on a personal computer was 141 s.

Fig. 2.
figure 2

Simulation results.

4 Determination of Interference of Links of the Mechanism

The interference of the links of the mechanism can be divided into two groups:

  • interference at small angles between links connected by rotary joints.

  • the interference of links that are not connected to each other.

The first group can be determined, taking into account the restrictions on the angles of rotation in the joints \(B_{i},\,C_{i}\) and \(D_{i}\):

$$ \left\{ {\begin{array}{*{20}c} {\theta _{i} \in \left[ {\theta _{{min}} ;\theta _{{max}} } \right]} \\ {\varphi _{i} \in \left[ {\varphi _{{min}} ;\varphi _{{max}} } \right]} \\ {\psi _{i} \in \left[ {\psi _{{min}} ;\psi _{{max}} } \right]} \\ \end{array} } \right\}. $$
(7)

We define the angles \(\varphi _{i}\):

$$ \varphi _{i} = \cos ^{{ - 1}} \left( {\frac{{b^{2} + c^{2} - d_{i} ^{2} }}{{2bc}}} \right),\;\varphi _{i} \in \left[ {0;\pi } \right]. $$
(8)

Considering that the points \(C_{i}\) are the interference points of circles with radii b and c and cents at points B and D, respectively, the angles \(\psi _{i}\) can be determined using the formula of cosines between vectors:

$$ \psi _{1} = \frac{{\left( {x_{{C2}} - x_{{D2}} } \right)\left( {x_{{D1}} - x_{{D2}} } \right) + \left( {y_{{C2}} - y_{{D2}} } \right)\left( {y_{{D1}} - y_{{D2}} } \right) + \left( {z_{{C2}} - z_{{D2}} } \right)\left( {z_{{D1}} - z_{{D2}} } \right)}}{{\sqrt 3 cR}}. $$
(9)
$$ \psi _{2} = \frac{{\left( {x_{{C3}} - x_{{D3}} } \right)\left( {x_{{D1}} - x_{{D3}} } \right) + \left( {y_{{C3}} - y_{{D3}} } \right)\left( {y_{{D1}} - y_{{D3}} } \right) + \left( {z_{{C3}} - z_{{D3}} } \right)\left( {z_{{D1}} - z_{{D3}} } \right)}}{{\sqrt 3 cR}} $$
(10)
$$ \psi _{2} = \frac{{\left( {x_{{C3}} - x_{{D3}} } \right)\left( {x_{{D2}} - x_{{D3}} } \right) + \left( {y_{{C3}} - y_{{D3}} } \right)\left( {y_{{D2}} - y_{{D3}} } \right) + \left( {z_{{C3}} - z_{{D3}} } \right)\left( {z_{{D2}} - z_{{D3}} } \right)}}{{\sqrt 3 cR}} $$
(11)

where \(z_{{Di}} = z_{{C3}} = z_{P}\), \(x_{{D1}} = x_{P} + \frac{{\sqrt 3 }}{2}R\), \(y_{{D1}} = y_{{D2}} = y_{{C2}} = y_{P} + \frac{R}{2}\), \(x_{{D3}} = x_{P}\), \(x_{{D2}} = x_{P} - \frac{{\sqrt 3 }}{2}R\), \(x_{{C2}} = \frac{{\left( {s_{2} *x_{{D2}} } \right) \pm \sqrt {b^{2} - s_{2} ^{2} } *\left( {z_{P} - a} \right)}}{{d_{2} }}\), \(z_{{C2}} = \frac{{ad_{2} + s_{2} \left( {z_{P} - a} \right) \mp \sqrt {b^{2} - s_{2} ^{2} } *\left( {x_{{D2}} } \right)}}{{d_{2} }}\), \(x_{{C3}} = \frac{{ad_{3} + s_{3} \left( {x_{{D3}} - a} \right) \mp \sqrt {b^{2} - s_{3} ^{2} } *\left( {y_{{D3}} } \right)}}{{d_{3} }}\), \(y_{{C3}} = \frac{{\left( {s_{3} y_{{D3}} } \right) \pm \sqrt {b^{2} - s_{3} ^{2} } *\left( {x_{{D3}} - a} \right)}}{{d_{3} }}\), \(y_{{D3}} = y_{P} - R\), \(s_{i} = \frac{{b^{2} - c^{2} + d_{i} ^{2} }}{{2d_{i} }}.\)

Note that the presence of the ± or ∓ signs is due to the ambiguity of the problem of determining the coordinates of the points \(C_{i}\). An example of two possible positions of the kinematic chain \(A_{1} B_{1} C_{1} D_{1}\) is shown in Fig. 3.

Fig. 3.
figure 3

Ambiguity of the problem of determining the coordinates of points \(C_{i}\)

The first position in ± and ∓ corresponds to the upper sign, the second position to the lower one. The cosines of the angles \(\theta _{i}\) are defined as:

$$ \theta _{1} = \cos ^{{ - 1}} \left( {\frac{{ \mp z_{P} \sqrt {b^{2} - s_{1} ^{2} } - s_{1} \left( {y_{{D1}} - a} \right)}}{{d_{1} b}}} \right),\;\theta _{1} \in \left[ {0;2\pi } \right]. $$
(12)
$$ \theta _{2} = \cos ^{{ - 1}} \left( {\frac{{ \mp x_{{D2}} \sqrt {b^{2} - s_{2} ^{2} } - s_{2} \left( {z_{P} - a} \right)}}{{d_{2} b}}} \right),\;\theta _{2} \in \left[ {0;2\pi } \right]. $$
(13)
$$ \theta _{3} = \cos ^{{ - 1}} \left( {\frac{{ \mp y_{{D3}} \sqrt {b^{2} - s_{3} ^{2} } - s_{3} \left( {x_{{D3}} - a} \right)}}{{d_{3} b}}} \right),\;\theta _{3} \in \left[ {0;2\pi } \right]. $$
(14)

We define the second group of interferences using an approach based on determining the minimum distance between the segments drawn between the centers of the joints of each of the links. In [12], a similar condition is used, but the approach has drawbacks. In particular, the authors propose to determine on the auxiliary plane the interferences of the segments, and not the distance between the nearest points. This does not allow identifying such interference of links in which there is no interference of the axes. The approach proposed in the current work is as follows. To determine the interferences of the links of the mechanism, we construct an auxiliary plane, which is parallel to the axis of one of the links and to which the axis of the other link belongs. In this case, the condition for the absence of interferences of the links will take the form:

$$ \sqrt {u_{1}^{2} + u_{2}^{2} } > {\text{D}}_{{link}} , $$
(15)

where \(u_{1}\) is the distance between the axis of the link that does not belong to the plane and the auxiliary plane,\(u_{2}\) is the distance between the nearest points of the segments connecting the centers of the joints of each of the links when projecting a segment that does not belong to the auxiliary plane onto this plane, \({\text{D}}_{{link}}\) is the diameter of the links. It is worth noting the special case when the links are parallel to each other and the construction of an auxiliary plane is not required. The authors described the method in detail in [13].

5 Analysis of the Workspace Taking into Account the Interference of the Links

To determine the positions of the output link inside the workspace, in which the interference of links occurs, the list of boxes \({\mathbb{P}}_{I}\) obtained at the stage of determination the workspace is used. For the coordinate of the center of each of the boxes, conditions (7) and (15) are checked. If all the conditions are met, the box is excluded from \({\mathbb{P}}_{I}\) and added to the new \({\mathbb{P}}_{A}\) list. As a result, the \({\mathbb{P}}_{I}\) list will contain only boxes corresponding to the interference areas of the links, and \({\mathbb{P}}_{A}\) - only boxes corresponding to the workspace without interference.

Let's analyze the change in the volume of the workspace for various configurations of the 3-PRRR mechanism. The correspondence of the configurations and the position of the links, and, accordingly, the choice of the sign in Eqs. (9)–(14), is given in Table 1.

Table 1. Configurations of 3-PRRR mechanism.

Workspace for configuration 8 after excluding areas of interference, as well as areas of interference for b = c = 500 mm, a = 50 mm, R = 50 mm \(q_{{min}} = 0\) мм, \(q_{{max}} = 1000\) mm, \(\varphi _{{min}} = \theta _{{min}} = \psi _{{min}} = 10^\circ\) mm, \(\varphi _{{max}} = \theta _{{max}} = \psi _{{max}} = 170^\circ\), \({\text{D}}_{{link}} = 20\) mm are shown in Fig. 4. The computation time for the approximation accuracy δ = 2 mm on a personal computer was 4 min 59 s, of which the time for determining the workspace was 2 min 17 s, the time for determining the interference of the workspace was 2 min 42 s.

Fig. 4.
figure 4

3-PRRR mechanism workspace: a) without interference, b) areas of interference.

To verify the results, the position of the links was visualized at which they intersect. In Fig. 5 shows some of the link interference that occur.

Fig. 5.
figure 5

Examples of identified interference of links: a) link B1C1 with link B3C3 b) link C3D3 with link D1D2.

Comparison of the volume of the workspaces for the choice of the configuration was carried out for the following geometric parameters of the active mechanism: a = 50 mm, R = 50 mm \(q_{{min}} = 0\) mm, \(q_{{max}} = 1000\) mm, \(\varphi _{{min}} = \theta _{{min}} = \psi _{{min}} = 10^\circ\), \(\varphi _{{max}} = \theta _{{max}} = \psi _{{max}} = 170^\circ ,\,{\text{D}}_{{link}} = 20\) mm. The results are shown in Table 2.

Table 2. Scope of the workspace for configurations.

It can be seen from the table that for all sizes the maximum volume of the workspace is achieved with configuration 8. Let's take this configuration to select the optimal sizes of the links at which the maximum volume of the workspace is reached. Determination of the optimal sizes of links b, c and R was carried out in several stages. At each stage, the volume of the workspace was calculated taking into account the interference of the links for various combinations of sizes. To reduce the computational complexity, the resizing ranges and the iteration step are reduced with each step.

Numerical values ​​are given in Table 3. The last column contains the volume of the workspace, which is a criterion for excluding or including in the next stage a certain part of the size range.

Table 3. Stages of determining the optimal link lengths.

The maximum workspace is reached at b = 676 mm, c = 678 mm, R = 50 mm. For such a ratio of dimensions, the total volume of the workspace is 1 m3, of which 0.9198 m3 is an area without intersecting links. It should be noted that it would be possible to achieve a larger volume of the workspace with a smaller size of the movable platform, but this is structurally unacceptable.

The dependence of the volume of the workspace on the change in the length of the links for R = 50 mm is shown in Fig. 6.

Fig. 6.
figure 6

Dependence of the workspace volume on the length of the links: a) BC, b) CD.

In Fig. 7 shows the dependence of the proportion of areas in which interference occur in the total volume of the workspace, depending on the lengths of the links. The graphs show that at small and large values ​​of the link lengths, the proportion of interference areas in the workspace increases.

Fig. 7.
figure 7

Dependence of the areas of interference ratio on the length of the links: a) BC, b) CD.

6 Conclusion

For the proposed robotic system for lower limb rehabilitation, based on a passive orthosis and an active parallel robot, effective numerical methods and algorithms for determining the workspace and interference of the active robot links have been developed and tested. The configuration of the 3-PRRR robot is selected, which achieves the maximum workspace for all sizes of links. For the selected configuration, with ranges of reference coordinates of 1000 mm, the maximum workspace, taking into account the interference of the links, was achieved at b = 676 mm, c = 678 mm, R = 50 mm.