A Reconﬁguration Algorithm for the Single-Driven Hexapod-Type Parallel Mechanism

: This paper presents a hexapod-type reconﬁgurable parallel mechanism that operates from a single actuator. The mechanism design allows reproducing diverse output link trajectories without using additional actuators. The paper provides the kinematic analysis where the analytical relationships between the output link coordinates and actuated movement are determined. These relations are used next to develop an original and computationally effective algorithm for the reconﬁguration procedure. The algorithm enables selecting mechanism parameters to realize a speciﬁc output link trajectory. Several examples demonstrate the implementation of the proposed techniques. CAD simulations on a mechanism virtual prototype verify the correctness of the suggested algorithm.


Introduction
A reconfigurable parallel mechanism (RPM) allows changing its configuration to obtain different output link trajectories or vary the dimensions of its workspaces. This type of mechanisms also has the advantages of a parallel structure: particularly, high positioning accuracy, ability to manipulate heavy loads, and high rigidity [1][2][3]. These characteristics allow the wide use of such mechanisms in technology. For example, they are applied as rehabilitation manipulators [4], grippers [5], robots for additive technologies [6,7], multiaxis machine tools [8][9][10], and force sensors [11].
Based on the structure, there are different types of RPMs. Some RPMs can change their configuration by attaching or detaching independent modules [12,13]. In addition, the configuration of RPMs can be modified by coupling additional kinematic chains, providing the entire system with a hybrid structure [14]. Works [15,16] present RPMs in which it is possible to change the number of degrees-of-freedom (DOFs), while the structure of these mechanisms remains unchanged. Several types of RPMs use metamorphic kinematic chains in the design, i.e., the chains that provide adaptability and reconfigurability by changing their topology [17,18]. The original design concept for RPMs is presented in [19], where types of output link movements vary when mechanisms come through singular positions. The problem of avoiding singularities in RPMs using actuation redundancy is proposed in [20].
Despite the indicated advantages of the RPMs discussed above, they are still designed with multiple actuators, making their structures and control more complex. In this regard, paper [21] proposed a novel RPM with the least possible number of actuators, i.e., one actuator, and without additional kinematic chains or modular elements that are used independently of the primary mechanism to change its configuration. This mechanism can reproduce diverse trajectories of its output link by a simple reconfiguration procedure, including disconnecting several flexible elements (belts) and reorienting some links (cranks).
However, the problem of how to reorient the cranks to achieve the required output link motion has not yet been studied completely.
The discussed mechanism belongs to the type of parallel mechanisms with a circular guide that can provide a sufficiently large rotational angle around one of the coordinate axes. References [22][23][24] show known examples of these mechanisms with three, four, and six legs. The analytical review showed that the mechanisms of this type lack reconfigurability (except a 3-DOF spherical mechanism presented in [25] and a 6-DOF cable-driven mechanism shown in [26]). The proposed mechanism fills this gap. In this paper, we consider an algorithm that can be applied to find reconfiguration parameters needed to realize a particular motion type.
The work is arranged as follows. Section 2 briefly describes the architecture of the studied RPM. Section 3 provides kinematic relations that are used next in Section 4, which considers a reconfiguration algorithm in detail. Section 5 demonstrates the application of the proposed techniques in several examples. Section 6 discusses the features of the suggested methods, their limitations, and potential development. Finally, the conclusions (Section 7) recap the results of the whole paper.

Mechanism Architecture
Let us consider the design features of the proposed parallel mechanism. Figure 1 shows its virtual prototype, where six kinematic chains are mounted between the fixed link-circular guide 1, driving link-wheel 2, and output link-platform 11. Each kinematic chain includes planar and spatial elements. The planar ones stay within circular guide 1: gear 3 and drive pulley 4, having a common axis, driven pulley 5 and crank 6, also having a common axis, link block 7, swinging arm 8, and carriage 9. The last two links are rigidly connected. The spatial element is rod 10. tion procedure, including disconnecting several flexible elements (belts) and reorienting some links (cranks). However, the problem of how to reorient the cranks to achieve the required output link motion has not yet been studied completely.
The discussed mechanism belongs to the type of parallel mechanisms with a circular guide that can provide a sufficiently large rotational angle around one of the coordinate axes. References [22][23][24] show known examples of these mechanisms with three, four, and six legs. The analytical review showed that the mechanisms of this type lack reconfigurability (except a 3-DOF spherical mechanism presented in [25] and a 6-DOF cable-driven mechanism shown in [26]). The proposed mechanism fills this gap. In this paper, we consider an algorithm that can be applied to find reconfiguration parameters needed to realize a particular motion type.
The work is arranged as follows. Section 2 briefly describes the architecture of the studied RPM. Section 3 provides kinematic relations that are used next in Section 4, which considers a reconfiguration algorithm in detail. Section 5 demonstrates the application of the proposed techniques in several examples. Section 6 discusses the features of the suggested methods, their limitations, and potential development. Finally, the conclusions (Section 7) recap the results of the whole paper.

Mechanism Architecture
Let us consider the design features of the proposed parallel mechanism. Figure 1 shows its virtual prototype, where six kinematic chains are mounted between the fixed link-circular guide 1, driving link-wheel 2, and output link-platform 11. Each kinematic chain includes planar and spatial elements. The planar ones stay within circular guide 1: gear 3 and drive pulley 4, having a common axis, driven pulley 5 and crank 6, also having a common axis, link block 7, swinging arm 8, and carriage 9. The last two links are rigidly connected. The spatial element is rod 10. Pulleys 4 and 5 connect between themselves by a belt. Rod 10 forms spherical joints on both sides with carriage 9 and platform 11. Points K i and E i with i = 1 ... 6 determine the centers of spherical joints 9-10 and 10-11. Base coordinate system O 1 x 1 y 1 z 1 attaches to circular guide 1. Local coordinate system Px P y P z P is attached to platform 11 with point P in the center of platform 11.
The mechanism has one DOF, as we have proved using screw calculus in [27]. Moreover, this mechanism has reconfigurable capabilities, which allow changing the Pulleys 4 and 5 connect between themselves by a belt. Rod 10 forms spherical joints on both sides with carriage 9 and platform 11. Points K i and E i with i = 1 ... 6 determine the centers of spherical joints 9-10 and 10-11. Base coordinate system O 1 x 1 y 1 z 1 attaches to circular guide 1. Local coordinate system Px P y P z P is attached to platform 11 with point P in the center of platform 11. The mechanism has one DOF, as we have proved using screw calculus in [27]. Moreover, this mechanism has reconfigurable capabilities, which allow changing the output link motion while having a single drive. For this purpose, we can disconnect the belt between pulleys 4 and 5 to reorient crank 6 in each kinematic chain. Thus, the platform can realize a particular trajectory.
In the following sections, we will show how to choose initial orientations of the cranks for a specific output link trajectory. This procedure uses kinematic relations between the coordinates of the mechanism links, and we will consider them first.

Kinematic Relations
First, let us consider how to set the position and orientation of the output link. The first one can be described by the Cartesian coordinates of its geometric center, point P, relative to the base coordinate system: where p P is the vector, defining the position of point P in base coordinate system O 1 x 1 y 1 z 1 ; x P , y P , and z P are the components of vector p P . We can determine the orientation of local coordinate system Px P y P z P relative to fixed one O 1 x 1 y 1 z 1 using rotation matrix R P . In this study, we will use three Euler angles ϕ, θ, and ψ to set the platform orientation. Matrix R P will be a product of three matrices: where O 1 y 1 is the axis of the rotated coordinate system after the platform rotation by angle ϕ around axis O 1 z 1 ; O 1 x 1 is the axis of the rotated coordinate system after the platform rotation by angle θ around axis O 1 y 1 . Elementary rotation matrices included in (2) are calculated in the following way: Coordinates of the output link can be grouped into one vector X: Suppose the variable q defines the rotational angle of the driving link. This section aims to obtain relations between angle q and coordinates X, i.e., to find vector function f: f(q, X) = 0.
First, let us consider the planar part of the mechanism. Figure 2 shows a fragment of one of the six kinematic chains. We can calculate rotational angle γ 1i of gear 3 in the following way: where i = 1…6 is the index number of a kinematic chain; R 2 is the radius of driving wheel 2; R 3i is the radius of gear 3. Further, it becomes possible to determine rotational angle γ 2i of driven pulley 5: where R 4i is the radius of driving pulley 4; R 5i is the radius of driven pulley 5.
Center O 1 of driving wheel 2, center A i of driving pulley 4, and center B i of driven pulley 5 lie on a common straight line ( Figure 2). Then, distance O 1 B i between the axes of wheel 2 and pulley 5 can be found: where d i is the distance between points A i and B i (i.e., between the centers of pulleys 4 and 5). We can find length O 1 C i from the cosine law for triangle O 1 B i C i , where point C i corresponds to the line block ( Figure 2): where l i is the length of B i C i (the length of crank 6); β i is the rotational angle of crank 6: where β i 0 is an initial orientation of crank 6.
Rotational angle δ i between sides O 1 B i and O 1 C i can be determined from the sine law for triangle O 1 B i C i : We can calculate rotational angle γ 1i of gear 3 in the following way: where i = 1 . . . 6 is the index number of a kinematic chain; R 2 is the radius of driving wheel 2; R 3i is the radius of gear 3. Further, it becomes possible to determine rotational angle γ 2i of driven pulley 5: where R 4i is the radius of driving pulley 4; R 5i is the radius of driven pulley 5.
Center O 1 of driving wheel 2, center A i of driving pulley 4, and center B i of driven pulley 5 lie on a common straight line ( Figure 2). Then, distance O 1 B i between the axes of wheel 2 and pulley 5 can be found: where d i is the distance between points A i and B i (i.e., between the centers of pulleys 4 and 5). We can find length O 1 C i from the cosine law for triangle O 1 B i C i , where point C i corresponds to the line block ( Figure 2): where l i is the length of B i C i (the length of crank 6); β i is the rotational angle of crank 6: where β 0 i is an initial orientation of crank 6. Rotational angle δ i between sides O 1 B i and O 1 C i can be determined from the sine law for triangle O 1 B i C i : The coordinates of point K i of carriage 9 relative to base coordinate system O 1 x 1 y 1 z 1 will have the following form: where R 1 is the radius of circular guide 1; α i is the angle between axis O 1 x 1 and line O 1 B i ( Figure 2). Next, consider the output link. Coordinates of point E i of joint 10-11 relative to base coordinate system O 1 x 1 y 1 z 1 can be derived in the following form: where r Ei are the coordinates of point E i relative to local coordinate system Px P y P z P . Finally, we can write a relationship connecting the coordinates in expressions (14) and (15) with rod length L i : Expressions (16), written for each of the six kinematic chains, form a system of six equations. These equations connect platform coordinates X with coordinates of other links, which depend on angle q. Thus, (16) presents system (7) that we looked for. In the following section, we will show how to handle the obtained relations to choose the initial orientations of the cranks for different output link trajectories.

Reconfiguration Algorithm
As mentioned earlier, and as shown in [28], the output link can perform various trajectories by disconnecting the belt between pulleys 4 and 5 and reorienting cranks 6, i.e., by changing the value of angles β 0 i . Our aim is to select these values for a particular trajectory. To undertake this, we can first rewrite Equation (16) as: Here we should mention a caveat. Since the mechanism has only one DOF, we cannot independently set all six components of vector X. Only one of the platform coordinates can have an explicit form. Let us specify the prescribed coordinate as X g , which represents any component of vector X. We can group the five remaining unknown coordinates as vector X v . System (17) in this case can be written as follows: We can solve this system numerically for variables β 0 i , q, and X v for each value of given coordinate X g . If coordinate X g has a form of trajectory X g (t), where t is the time, values β 0 i must remain constant for each value of coordinate X g over the considered time interval to realize a given motion. From this perspective, the following approach can be applied to find a solution for system (18).
Let us represent trajectory X g (t), given on some time interval [0, T], in the form of N discrete values: where X g [j] corresponds to the value of coordinate X g (t j ) at the moment t j , j = 1 . . . N, with X g [1] = X g (0) and X g [N] = X g (T). For given trajectory X g (t), variables X v and q, determined in the calculation results, will also be time dependences of X v (t) and q(t), which we can represent similarly in a discrete form: Considering the performed discretization, we can write system (18) in the following form: The equations above represent a system of 6N equations relative to 6 + 6N parameters: 6 unknown variables are β 0 i ; N unknown variables are q[j]; 5N unknown variables are the components of vectors X v [j].
The structure of the obtained equation system has some features. To show this, we first group all unknown variables as vector s of dimension 6 + 6N: where β 0 = β 0 1 . . . β 0 6 T is the vector containing the values of initial crank angles β 0 i . We can also group system (22) as vector-function f: Jacobian matrix for vector-function (24) has a form: For any pair of integers m and n, m = 1 . . . 6, n = 1 . . . N, function f nm depends only on those variables X v [j] and q[j], which have j = n, and only on that variable β 0 i , for which i = m, and does not depend on other variables. Consequently, Jacobian matrix (25) will have a sparse structure of the following form: where  (27)  All elements in the right side of expression (26) except ξ ji , η ji , and σ jik are zeros; the latter can be found in Appendix A. Thus, the Jacobian matrix for vector-function f is highly sparse. We can estimate the matrix sparsity, sp, as the ratio of its zero elements to the total number of the elements. In the discussed case, there are 6N × (6 + 6N) elements in total, and the number of nonzero elements is 42N. As a result, we obtain the following equation: The sparsity tends to one, i.e., almost all elements of the matrix are zero at large values of N. The large number of zero elements facilitates and speeds up the numerical solution of system (22). To find a solution, we should set some initial guess, which choice is a key factor. System (22) includes nonlinear equations, and the number of variables is greater than the number of equations. As a result, different initial guesses will lead to various solutions, and the solution may not exist at all for an incorrect initial guess. The problem of choosing this initial guess is still not studied completely. There are possibilities to facilitate this choice, for example, using experimental data or a virtual prototype of the hexapod.
Note that we also find angle q and coordinates X v during the numerical solution of system (22). Thus, the procedure implicitly includes an algorithm to solve the inverse kinematics.

Examples
Let us consider several examples of reconfiguration analysis for various output link trajectories with the mechanism parameters corresponding to the virtual prototype shown in Figure 1 and presented in Table 1. Notice: R 11 is a radius of platform 11; χ i is an angular placement of spherical joints 10-11.
In the first case, let us take orientation angle ϕ of the platform as given coordinate X g with the following time law: which corresponds to one complete oscillation around axis O 1 z 1 with amplitude 10 • . The numerical solution was carried out in MATLAB package using standard function "fsolve" with the tolerance 1 × 10 −8 as a stopping criterion. To find a solution, "fsolve" applies a least-squares method for system (24). At this step, we also provided Jacobian matrix (26), the nonzero elements of which were found in an explicit form by differentiating expression (17) with respect to the corresponding variables (see Appendix A). We set N equal to 125, which corresponded to sp = 0.99 according to expression (28). All variables had zero initial guesses, except output link coordinate z P with the initial guess of 195 mm taken for each value of j.
The numerical solution has been obtained after five iterations. Initial rotational angles β 0 of cranks 6 have taken the following values (accurate to a tenth): Figure 3 presents the calculation results for platform trajectory X(t), where ϕ(t) corresponds to expression (29). It follows from Figure 3 that four of the six platform coordinates remain unchanged and equal to zero, while coordinate z P changes in a small range. dinates remain unchanged and equal to zero, while coordinate z P changes in a small range. Let us study another example and take output link displacement z P as given coordinate X g with the following time law: which corresponds to one complete oscillation along axis O 1 z 1 with an amplitude of 10 mm. The numerical simulation was performed under the same conditions as in the previous example, and we have found the solution after 13 iterations. Initial rotational angles β 0 of cranks 6 have taken the following values: (32) Figure 4 shows the calculation results for output link trajectory X(t), where z P (t) corresponds to expression (31). It follows from Figure 4 that the changes in Cartesian coordinates x P and y P of the platform center and its orientation angles θ and ψ are negligible, and angle φ varies in a small range. The coordinates have the same values at t = 0 s and t = 5 s. Let us study another example and take output link displacement z P as given coordinate X g with the following time law: which corresponds to one complete oscillation along axis O 1 z 1 with an amplitude of 10 mm. The numerical simulation was performed under the same conditions as in the previous example, and we have found the solution after 13 iterations. Initial rotational angles β 0 of cranks 6 have taken the following values: (32) Figure 4 shows the calculation results for output link trajectory X(t), where z P (t) corresponds to expression (31). It follows from Figure 4 that the changes in Cartesian coordinates x P and y P of the platform center and its orientation angles θ and ψ are negligible, and angle ϕ varies in a small range. The coordinates have the same values at t = 0 s and t = 5 s.
Let us consider one more example and take platform displacement x P as given coordinate X g with the following time law: which corresponds to one complete oscillation along axis O 1 x 1 with an amplitude of 10 mm. Figure 4 shows the calculation results for output link trajectory X(t), where z P (t) corresponds to expression (31). It follows from Figure 4 that the changes in Cartesian coordinates x P and y P of the platform center and its orientation angles θ and ψ are negligible, and angle φ varies in a small range. The coordinates have the same values at t = 0 s and t = 5 s.  Let us consider one more example and take platform displacement x P as given coordinate X g with the following time law:  To complete the analysis, Figure 6 presents the calculated time laws q(t) for all the examples. Notice that angle q has the same values at t = 0 s and t = 5 s in each example. To complete the analysis, Figure 6 presents the calculated time laws q(t) for all the examples. Notice that angle q has the same values at t = 0 s and t = 5 s in each example. Figure 5. Output link trajectory with X g (t) = x P (t) according to (33).
To complete the analysis, Figure 6 presents the calculated time laws q(t) for all the examples. Notice that angle q has the same values at t = 0 s and t = 5 s in each example. Figure 6. Angle q calculated for various given output link coordinates X g (t) : blue line for X g (t) = φ(t) according to (29); red line for X g (t) = z P (t) according to (31); green line for X g (t) = x P (t) according to (33). Figure 6. Angle q calculated for various given output link coordinates X g (t): blue line for X g (t) = ϕ(t) according to (29); red line for X g (t) = z P (t) according to (31); green line for X g (t) = x P (t) according to (33).
As mentioned earlier, solutions obtained by numerical methods can significantly depend on an initial guess. The importance of this fact increases in situations such as ours, where we have a number of variables (6 + 6N) greater than the number of equations (6N). To demonstrate this, let us perform simulations for a different initial guess.
In the previous examples, we set a zero guess for all the variables except for the platform coordinate z P . Suppose we arbitrarily change the guess for initial crank orientations β 0 from zero to the following one: Using MATLAB, we performed similar simulations for this updated initial guess. In the first case with X g (t) = ϕ(t) according to (29), we have found the following values of β 0 after six iterations: The values differ from (30) and have no "symmetry" as before. This leads to displacements in all the platform coordinates, which can be seen from Figure 7 (ϕ(t) corresponds to expression (29)). The results have a big contrast with the ones in Figure 3, where the output link motion varied only in two coordinates.
The next example considers the case with X g (t) = z P (t) as in Equation (31). Given the updated initial guess for β 0 , we have found the following values of the crank initial rotational angles after nine iterations: The calculation took fewer iterations than before, and the obtained results are close to (32) but differ from them and are slightly "unsymmetrical." Figure 8 also demonstrates the resulting platform trajectory. Notice that coordinates x P , y P , θ, and ψ vary much more than earlier (Figure 4), though the output link continues to track given motion z P (t).
The values differ from (30) and have no "symmetry" as before. This leads to displacements in all the platform coordinates, which can be seen from Figure 7 (φ(t) corresponds to expression (29)). The results have a big contrast with the ones in Figure 3, where the output link motion varied only in two coordinates. Figure 7. Output link trajectory with X g (t) = φ(t) according to (29) and an updated initial guess (35) for β 0 .
The next example considers the case with X g (t) = z P (t) as in Equation (31). Given the updated initial guess for β 0 , we have found the following values of the crank initial rotational angles after nine iterations: β 0 = [5.9 -116.8 6.2 -117.8 5.6 -117.7] T deg.
The calculation took fewer iterations than before, and the obtained results are close to (32) but differ from them and are slightly "unsymmetrical." Figure 8 also demonstrates the resulting platform trajectory. Notice that coordinates x P , y P , θ, and ψ vary much more than earlier (Figure 4), though the output link continues to track given motion z P (t). In the final case, X g (t) = x P (t) according to expression (33). After 24 iterations, we have found the next values of β 0 : β 0 = [43.9 -37.9 -11.6 43.2 -138.4 -108.1] T deg.
The calculation took four times fewer iterations than the previous one with the zero initial guess. Obtained values of β 0 and the resulted output link trajectory (Figure 9) differ significantly from (34) and Figure 5. Platform coordinates vary at the same order of magnitude as before but have an alternative form. In the final case, X g (t) = x P (t) according to expression (33). After 24 iterations, we have found the next values of β 0 : β 0 = [43. 9 −37.9 −11.6 43.2 −138.4 −108.1] T deg.
The calculation took four times fewer iterations than the previous one with the zero initial guess. Obtained values of β 0 and the resulted output link trajectory (Figure 9) differ significantly from (34) and Figure 5. Platform coordinates vary at the same order of magnitude as before but have an alternative form. β 0 = [43.9 -37.9 -11.6 43.2 -138.4 -108.1] T deg.
The calculation took four times fewer iterations than the previous one with the zero initial guess. Obtained values of β 0 and the resulted output link trajectory (Figure 9) differ significantly from (34) and Figure 5. Platform coordinates vary at the same order of magnitude as before but have an alternative form. Figure 9. Output link trajectory with X g (t) = x P (t) according to (33) and an updated initial guess (35) for β 0 . Figure 10 shows the calculated values of drive rotational angle q for all the examples. Again, for each case, we can see the differences between these results and the ones in Figure 6. The biggest difference exists in the third case when X g (t) = x P (t).  Again, for each case, we can see the differences between these results and the ones in Figure 6. The biggest difference exists in the third case when X g (t) = x P (t).
2, 11, x FOR PEER REVIEW 12 of 15 Figure 10. Angle q calculated for various given output link coordinates X g (t) and an updated initial guess (35) for β 0 : blue line for X g (t) = φ(t) according to (29); red line for X g (t) = z P (t) according to (31); green line for X g (t) = x P (t) according to (33).

Discussion
To implement the suggested techniques in practice, one should follow the next simple steps: 1. Set desired motion Xg(t) for one output link coordinate and calculate crank initial configuration β 0 together with drive control law q(t) using the proposed reconfiguration algorithm; 2. On the mechanism, manually disconnect the belts and reorient the cranks according to calculated values β 0 . Reconnect the belts; 3. Rotate the drive from its initial (zero) position to q(0). At this step, one can use any control law for the drive, e.g., an ordinary rotation with a constant speed; Figure 10. Angle q calculated for various given output link coordinates X g (t) and an updated initial guess (35) for β 0 : blue line for X g (t) = ϕ(t) according to (29); red line for X g (t) = z P (t) according to (31); green line for X g (t) = x P (t) according to (33).

Discussion
To implement the suggested techniques in practice, one should follow the next simple steps:

1.
Set desired motion X g (t) for one output link coordinate and calculate crank initial configuration β 0 together with drive control law q(t) using the proposed reconfiguration algorithm; 2.
On the mechanism, manually disconnect the belts and reorient the cranks according to calculated values β 0 . Reconnect the belts;

3.
Rotate the drive from its initial (zero) position to q(0). At this step, one can use any control law for the drive, e.g., an ordinary rotation with a constant speed; 4.
Control the drive according to calculated time law q(t).
We applied the steps above on the virtual prototype ( Figure 1) and verified all the examples of Section 5 using an Autodesk Inventor Dynamic Simulation module. During the CAD simulations, we first set the initial orientations of the cranks according to obtained values β 0 . Next, we controlled the drive rotation using time laws in Figure 6 or Figure 10 and tracked the platform displacements. In all examples, the relative difference between the MATLAB and CAD results was less than 0.1%, caused mainly by numerical inaccuracies. This confirms the correctness of the suggested reconfiguration algorithm.
The examples studied in the previous section show that the given output link trajectory can be realized with different initial rotational angles β 0 of the cranks and various drive motions q(t). In some cases, uncontrolled platform coordinates have negligible changes, while in others, they vary considerably. This leaves us an opportunity to form an optimization problem that will seek for parameters β 0 and drive motion q(t) minimizing deviations in the uncontrolled coordinates. One should remember that the considered kinematic relations are highly nonlinear: as a result, convergence to a global optimum solution cannot be guaranteed for inappropriate initial conditions. The choice of initial guess remains an open and interesting problem.
We can use the proposed reconfiguration procedure in any other cases when it is necessary to provide a specified output link motion for one of the six coordinates, and the remaining five are arbitrary. The method allows determining the initial orientations of the cranks and the drive control law required to realize such a motion. To get more accurate results, we can either increase the sampling rate, i.e., parameter N, or diminish the tolerance value. However, the calculation time will rise in both cases.
Nevertheless, the suggested algorithm is computationally effective and can be developed for solving a dimensional synthesis problem. We addressed both topics in [29]. The considered techniques can also be extended for other mechanisms.

Conclusions
In this study, we have presented a variation of the hexapod-type reconfigurable parallel mechanism equipped with a single drive. The mechanism allows changing trajectories of the output link by disconnecting the belt in each kinematic chain.
During the kinematic analysis, we have formed the explicit relations between the output link coordinates and the rotation angle of the driving link. Based on these relations, we have developed the reconfiguration algorithm. This algorithm allows choosing the values of reconfigurable parameters (initial orientation of the cranks) and the driving link control law to realize a specific output link trajectory along any one of six coordinates. The suggested algorithm contains an implicit solution of the inverse kinematics problem and allows finding five remaining coordinates of the platform. Features of the equation system being solved (high sparsity of its Jacobian matrix) make the numerical solution procedure fast.
Given the geometry of the mechanism virtual prototype, we have considered three examples with different specified output link trajectories and various initial conditions. These examples have confirmed the effectiveness of the proposed algorithm. All calculations have been successively verified by CAD simulations.
The considered mechanism can be used for various technological applications related to vibration testing, mixing materials, and for rehabilitation procedures. The algorithms presented in this study can be extended to solve optimization problems, including optimal design, and adapted for other mechanisms. Developing a subsystem that could automate the reconfiguration procedure (crank reorientation) represents another direction for future research.