Dimensional (Parametric) Synthesis of the Hexapod-Type Parallel Mechanism with Reconﬁgurable Design

: The study provides a solution to a dimensional synthesis problem for a hexapod-type reconﬁgurable parallel mechanism, which can change its conﬁguration to realize different trajectories of its output link while having a single drive. The work presents an original procedure to ﬁnd the dimensions of some mechanism’s links and their initial conﬁguration to reproduce these trajectories. After describing the mechanism, the paper examines kinematic relations representing the basis for the subsequent synthesis algorithm. Next, the obtained expressions are extended and provide a system of equations to be solved. The structure of this equation system allows it to be solved effectively by numerical methods, which is demonstrated with an example. The proposed algorithm of dimensional synthesis does not require solving the optimization problems, in contrast to the familiar methods of dimensional synthesis of parallel mechanisms. Further, the suggested approach to the synthesis problem allows ﬁnding solution in a fast and computationally efﬁcient manner.


Introduction
Dimensional (parametric) synthesis is one of the basic procedures in mechanisms design. The main geometrical parameters that define a mechanism's performance and the motion of its output link are determined at this stage. In this study, we focus on parallel mechanisms, where two or more kinematic chains control the output link motion [1,2].
The dimensional synthesis problem of parallel mechanisms is closely associated with workspace construction, rigidity and accuracy criteria, etcetera. Studies [3][4][5][6][7] consider the issues of the dimensional synthesis for the mechanisms with several degrees-of-freedom (DOFs), and the algorithms for determining their geometrical parameters are usually based on solving optimization problems. When synthesizing and evaluating the mechanism performance, kinematic performance indices (e.g., conditioning index, global conditioning index) are considered [8,9].
Several works analyze Jacobian matrix of a mechanism to determine its geometrical parameters. For example, in [10], the authors perform dimensional synthesis of a 5-DOF hybrid mechanism using a homogeneous Jacobian matrix. The optimal design of this mechanism considers key features of parallel mechanical systems, such as workspace dimensions, dexterity, and the geometrical parameters of kinematic chains. Studies [11,12] present the multi-objective optimization problems demonstrated on the 4-DOF mechanisms with Schönflies motion. These problems aim at maximizing the workspace and positioning accuracy. Study [13] proposes a method for the synthesis of 3-DOF mechanisms that allows for the avoidance of singularities at the design stage. Study [14] provides a parametric synthesis algorithm based on a particle swarm optimization method, which was applied to an 8-SPU parallel mechanism. In [15], the authors present an approach that considers positioning accuracy and is based on nonhomogeneous Jacobian matrices.
There are also dimensional synthesis algorithms based on minimizing an objective function. In this case, a cost function is used as an optimization criterion. Study [16] presents the interval analysis method applied to 3-DOF translational parallel mechanisms and aimed to get the largest dexterous workspace. In [17], the authors performed the dimensional synthesis of a Delta-like haptic device, optimizing its workspace. Study [18] provides a mathematical modeling algorithm for the workspace construction of translational parallel mechanisms with different topologies: Delta, 3-UPU, RAF (Romdhane-Affi-Fayet), and Tripyramid (TP). Paper [19] shows the comparison of single-and multi-objective optimization problems for the dimensional synthesis of a Delta robot and demonstrates the efficiency of the second one. Another approach to multi-objective optimal design is presented in [20] using the example of a cable-driven parallel robot for upper-limb rehabilitation tasks. The study selects a suitable design by considering minimum cable tensions and the smallest footprint. Paper [21] provides an approach based on interval analysis for the dimensional synthesis of parallel mechanisms, considering accuracy requirements and manufacturing errors. Work [22] demonstrates an approach for the dimensional synthesis of a 3-PRS mechanism based on a dimensionally homogeneous Jacobian matrix. Paper [23] presents another methodological procedure of dimensional synthesis for both parallel and serial mechanisms. This procedure is a multi-objective optimization problem that considers workspace dimensions, Jacobian matrices, and compliant displacements as design criteria. Thus, the parametric synthesis problem for parallel mechanisms is complex, and its solution is important for effective mechanism performance.
The current study focuses on an algorithm for the dimensional synthesis of a reconfigurable parallel mechanism with a single drive. Such mechanisms can change their configurations to vary the motion laws of the output links or the dimensions of their workspaces [24][25][26][27]. Further, these mechanisms can avoid singularities during their motion or find a way out of them [28,29]. Some of these mechanisms can change motion type. For example, a 3-UPU robot presented in [30] can work either as a translational or rotational mechanism by using different platform designs. Such functional properties provide wide application opportunities for these mechanisms. In particular, they are applied in rehabilitation procedures [31], pick-and-place operations [32], additive technology [33], machining [34][35][36], and measuring tasks [37].
This study aims to determine the mechanism's geometrical parameters based on the prescribed motion laws of the output link. The advantage of the proposed approach is in using simple kinematic relations and, in contrast to the methodologies discussed above, that it does not require solving any optimization problems.

Mechanism Design
Let's consider the structure of the mechanism. Figure 1a shows its virtual prototype with the following elements: 1-circular guide (fixed link), 2-driving wheel (driving link), 3-driven gear, 4-driving pulley, 5-driven pulley, 6-crank, 7-slide block, 8-swinging arm, 9-carriage, 10-leg, 11-platform (output link). Links 3 and 4, as well as 5 and 6, have a common rotation axis; links 8 and 9 form one link; links 4 and 5 are coupled by a belt; joints 9-10 and 10-11 are spherical. Points Ki and Еi with i = 1…6 being the index number of a kinematic chain determine the centers of spherical joints 9-10 and 10-11, respectively. Fixed link 1 has a base reference frame OXYZ, and the movable frame PXPYPZP attaches to platform 11, with point P staying in its center.
This mechanism can vary the platform trajectories using a single drive. To achieve this, one can reorient the cranks in each kinematic chain when the driving wheel is fixed. This becomes possible by disconnecting the belt between pulleys 4 and 5.
One notes the following design features of the proposed mechanism: • a single drive that stays fixed in the center of the base; • correctly chosen cranks' lengths allow for the elimination of the possibility of collision between the adjacent carriages (unlike other types of mechanisms with circular guides); • reconfigurability, which allows the platform to have diverse trajectories while having a single actuation.

Configuration Analysis
This section studies relations that describe the links' coordinates and present the basis for the subsequent synthesis procedure. Let's consider how to define the position and configuration of the output link. The former can be specified by Cartesian coordinates p P of its point P relative to the base frame OXYZ: where x, y, and z are components of vector p P .
To describe the orientation of movable frame X P Y P Z P relative to OXYZ, we can use rotation matrix R P , which depends on three Euler angles φ, θ, and ψ: where the elementary rotation matrices are: Points K i and E i with i = 1 . . . 6 being the index number of a kinematic chain determine the centers of spherical joints 9-10 and 10-11, respectively. Fixed link 1 has a base reference frame OXYZ, and the movable frame PX P Y P Z P attaches to platform 11, with point P staying in its center.
This mechanism can vary the platform trajectories using a single drive. To achieve this, one can reorient the cranks in each kinematic chain when the driving wheel is fixed. This becomes possible by disconnecting the belt between pulleys 4 and 5.
One notes the following design features of the proposed mechanism: • a single drive that stays fixed in the center of the base; • correctly chosen cranks' lengths allow for the elimination of the possibility of collision between the adjacent carriages (unlike other types of mechanisms with circular guides); • reconfigurability, which allows the platform to have diverse trajectories while having a single actuation.

Configuration Analysis
This section studies relations that describe the links' coordinates and present the basis for the subsequent synthesis procedure. Let's consider how to define the position and configuration of the output link. The former can be specified by Cartesian coordinates p P of its point P relative to the base frame OXYZ: where x, y, and z are components of vector p P .
To describe the orientation of movable frame PX P Y P Z P relative to OXYZ, we can use rotation matrix R P , which depends on three Euler angles ϕ, θ, and ψ: where the elementary rotation matrices are: We can combine the platform coordinates into vector X: Next, let's consider relations that connect vector X with the coordinates of the planar links placed inside circular guide 1. Suppose driving link 2 rotates on angle q. Driven gear 3 and pulley 5 will rotate on angles γ 1i and γ 2i , respectively: where R 2 is a radius of driving wheel 2; R 3i is a radius of driven gear 3; R 4i is a radius of driving pulley 4; R 5i is a radius of driven pulley 5. Consider the triangle OB i C i (Figure 1b). Since center O of wheel 2, center A i of pulley 4, and center B i of pulley 5 are collinear, we can write the distance OB i between the axes of wheel 2 and pulley 5 as follows: where d i is a distance between points A i and B i (between the centers of pulleys 4 and 5). A length of OC i can be calculated by the cosine law for the triangle OB i C i : where l i is a length of B i C i (length of crank 6); β i is the crank angle: where β 0 i is an initial value of the crank angle. To find swinging arm rotation angle δ i , we apply the sine theorem for the triangle OB i C i : Now, we can write an expression for coordinates p Ki of point K i (coordinates of carriage 9) relative to frame OXYZ: where R 1 is a radius of circular guide 1; α i is an angle between axis OX of frame OXYZ and line OB i (Figure 1b). Let's consider the output link of the mechanism. Coordinates p Ei of points E i (centers of joints 10-11) relative to OXYZ have the following form: where r Ei is the coordinates of point E i relative to movable frame PX P Y P Z P . Finally, we can write a relation that connects coordinates in Equations (10) and (11) with length L i of leg 10: Expression (12) written for all the kinematic chains represents a system of six equations that connect coordinates X of the platform with the links' coordinates in the mechanism's planar part. In the following section, we will show how to apply these relations for the dimensional synthesis of the mechanism.

Dimensional Synthesis Algorithm
We can formulate the dimensional synthesis problem for the considered mechanism in the following general form: finding the lengths of the links required to perform the given output link trajectory. Before proceeding to the synthesis algorithm, we note two important points: 1.
Since the mechanism has only one degree of freedom, we cannot set all six components of vector X independently. Only one coordinate can be defined explicitly.

2.
As mentioned earlier in Section 2 and also shown in work [38], the output link can reproduce various trajectories by uncoupling the belt between links 4 and 5 and reorienting crank 6, i.e., by changing values β 0 i that define the cranks' initial angles. Thus, it is reasonable to select these initial angles β 0 i , i = 1 . . . 6, as unknown geometrical parameters. Besides, we can complement our set of unknown parameters with crank and leg lengths l i and L i , respectively. These links have an ordinary rod-like design, and we can easily substitute them for analogs with different lengths, if necessary (another possibility is to apply a prismatic structure). We will also study the mechanism with a "symmetrical" design: l i = l and L i = L for all i. Other parameters are considered to have constant values.
To solve the dimensional synthesis problem, we will use the relations obtained in the previous section. Given the above, we can rewrite expression (12) in the following way: Let X g be the given platform coordinate: it can represent any component of vector X. The five remaining coordinates can be grouped as vector X v . System of Equation (13) will have the form: We can solve the system above numerically with respect to variables β 0 i , l, L, q, and X v for each value of coordinate X g . One should note a caveat here. If X g has a form of some trajectory X g (t), where t is the time, then variables β 0 i , l, and L should keep constant values for each value of X g on a given time interval to realize a specified trajectory. Given this, we can use the following approach to find a solution to system (14).
We can represent trajectory X g (t) specified on time interval [0, T] as N discrete values: where X g [j] corresponds to value X g (t j ) at time t j , j = 1 . . . N, and X g [1] = X g (0), X g [N] = X g (T). For the given trajectory X g (t), variables X v and q will also be functions of time X v (t) and q(t), which we can represent similarly in a discrete form: With this discretization, system (14) can be written as follows: The expression above is a system of 6N equations relative to 8 + 8N variables: six unknowns are β 0 i ; two unknowns are l and L; 5N unknowns are components of vectors X v [j]; N unknowns are q[j]. We can augment the obtained equations with a relation that constrains crank length l: to exclude the collisions between carriages 9, the crank length should be limited by some value l max : l ≤ l max .
To include this condition into our analysis, we can rewrite inequality (19) as an equality using slack variable s: Work [39] (p. 84) presents a derivation of Equation (20) and its geometrical interpretation. This equation has the following meaning: condition (19) is satisfied if and only if we can solve Equation (20) for some values of s. We can add relation (20) to system (18) as the function f s : Let's consider the structure of the obtained system of Equations (18) and (21). We can group all variables into vector v with dimension 9 + 6N: where β 0 = [β 0 1 . . . β 0 6 ] T is a vector of crank initial angles β 0 i . We can also group Equations (18) and (21) into vector-function f with dimension 6N + 1: The Jacobian matrix for vector-function (23) can be written as follows: For each pair of integers m and n, m = 1 . . . 6, n = 1 . . . N, function f nm depends only on variables X v [j] and q[j] with j = n and only on variable β 0 i with i = m, and does not depend on other variables. In this regard, the Jacobian matrix (24) will have a sparse structure of the following form: where In the expression above, X v [j] is a k-th component of vector X v [j], k = 1 . . . 5. All elements in the right side of expression (25) are zeros, except for the notated ones and the ones that contain ξ ji , µ ji , η ji , and σ jik . One can see that the Jacobian matrix has a highly sparse structure. We can estimate its sparsity sp as a ratio of zero elements to the total number of elements. In the considered case, the latter is equal to (6N + 1) × (9 + 6N), and the former equals 54N + 2, so: With large values of N, sparsity sp approaches one, i.e., almost all elements of the matrix are zeros. Such a sparse structure significantly facilitates and speeds up the numerical solution of Equations (18) and (21). To find the solution, we should make some initial guess, the choice of which is a key factor. Since the equations are nonlinear and the number of variables is greater than the number of equations, different initial guesses will lead to various solutions. Moreover, the solution may not exist at all for incorrect guesses. The choice of this initial guess remains an open problem. However, there are several methods to facilitate this choice, e.g., using experimental data or the virtual model of the mechanism.
Note that the numerical solution of Equations (18) and (21) provide not only the geometrical values of the mechanism but also the driving wheel angle and five remaining coordinates of the output link. Thus, the dimensional synthesis algorithm implicitly includes the solution to the inverse kinematics problem.
We can also adapt the proposed approach for other mechanisms (not necessarily reconfigurable) in which an output link performs a coupled motion changing several coordinates at a time and for which both the inverse and forward kinematics are challenging to solve in an explicit form. The differences will be in functions f and variables v, but the overall technique will remain the same.

Examples of Dimensional Synthesis
Consider an example of the dimensional synthesis for the mechanism with parameters that correspond to the model in Figure 1  As a case study, let's take platform coordinate x as given coordinate X g with the following time law: which corresponds to one full oscillation around axis OX with an amplitude of 15 mm.
The numerical solution has been performed in MATLAB using the standard function "fsolve" with the tolerance 1 × 10 −8 as a stopping criterion. The value of N was equal to 200, which corresponded to sp = 0.99 according to (27). We applied the following initial guess: 6 • for all angles β 0 i ; 39 mm for crank length l; 220 mm for leg length L; 195 mm for coordinate z; zeros for all other variables, except for s, which had an initial guess calculated using Equation (21). We also used the Jacobian matrix (25), the nonzero elements of which were found in explicit form by the differentiation of expression (13) with respect to the corresponding variables.
The solution was found after 35 iterations, which took about 3.2 s on a laptop with an Intel Core i7-3610QM 2.
We also determined the driving link angle q and five platform coordinates X v (solid lines in Figure 2). One can see that all five coordinates of the output link vary in time and take the same values for t = 5 s as for t = 0. which corresponds to one full oscillation around axis ОX with an amplitude of 15 mm. The numerical solution has been performed in MATLAB using the standard function "fsolve" with the tolerance 1 × 10 −8 as a stopping criterion. The value of N was equal to 200, which corresponded to sp = 0.99 according to (27). We applied the following initial guess: 6° for all angles β i 0 ; 39 mm for crank length l; 220 mm for leg length L; 195 mm for coordinate z; zeros for all other variables, except for s, which had an initial guess calculated using Equation (21). We also used the Jacobian matrix (25), the nonzero elements of which were found in explicit form by the differentiation of expression (13) with respect to the corresponding variables.
We also determined the driving link angle q and five platform coordinates X v (solid lines in Figure 2). One can see that all five coordinates of the output link vary in time and take the same values for t = 5 s as for t = 0. Driving link angle q and platform coordinates X v = [y, z, φ, θ, ψ] T calculated for given trajectory X g (t) according to (29) and different values of the mechanism parameters: solid lines -l, L, and β 0 correspond to (29) and (30); dashed lines -l, L, and β 0 correspond to (31) and (32).
As mentioned earlier, the numerical solution depends greatly on the initial guess. To demonstrate this, let's change the initial guess for crank length l from 39 mm to 44 mm and for slack variable s according to (21), keeping other guesses similar to the previous example. The following solution was found after 185 iterations, which took about 16.
Thus, we can realize given trajectory Xg(t) with different sets of mechanism parameters. Moreover, Figure 2 (dashed lines) shows that driving link angle q and platform coordinates X v differ from the previous case. For example, in the second case, Figure 2. Driving link angle q and platform coordinates X v = [y, z, ϕ, θ, ψ] T calculated for given trajectory X g (t) according to (29) and different values of the mechanism parameters: solid lines-l, L, and β 0 correspond to (29) and (30); dashed lines-l, L, and β 0 correspond to (31) and (32).
As mentioned earlier, the numerical solution depends greatly on the initial guess. To demonstrate this, let's change the initial guess for crank length l from 39 mm to 44 mm and for slack variable s according to (21), keeping other guesses similar to the previous example. The following solution was found after 185 iterations, which took about 16.1 s on the same laptop: l = 58.83 mm, L = 207.96 mm, Thus, we can realize given trajectory X g (t) with different sets of mechanism parameters. Moreover, Figure 2 (dashed lines) shows that driving link angle q and platform coordinates X v differ from the previous case. For example, in the second case, coordinates z, ϕ, and ψ vary with greater amplitudes than in the first case. Theoretically, there can exist a set of parameters that provides a minimum variation in unspecified coordinates X v . If the mechanism follows given trajectory X g (t) with negligible variations in other coordinates, we can consider the mechanism as able to perform a pure rotational or pure translational motion about a given axis. We can form an optimization problem to find such a set of parametersthis is beyond the scope of the current study but is of interest for future research.

Computational Accuracy and Comparison with Other Works
The presented approach allows us to find eight design parameters: six initial crank angles, crank length, and leg length. In addition, the algorithm uses one slack variable and 6N variables corresponding to the mechanism coordinates. To get more accurate results, we can either diminish the tolerance value or increase the value of N. In particular, the bigger the N value, the closer the calculated platform trajectory, which we can find using forward kinematics [38], will be to given trajectory X g (t). Nevertheless, in both cases, the calculation time will rise. The number of iterations and calculation time also depend on the initial guess as we have seen from the examples in the previous section.
As we mentioned in the introduction, most of the known works devoted to the dimensional synthesis of parallel mechanisms consider solutions to the optimization problems. One of the earliest studies in this field by Bhattacharya et al. [40] considered the optimal design of Stewart platform type manipulators optimizing several rigidity criteria. The authors solved the problem with three design parameters using a sequential quadratic programming technique on an HP 9000/850 computer, which took 12.5 s to find only one local minimum of the objective function. Later, Merlet et al. in works [21,41,42] applied interval analysis to the optimal design of various parallel manipulators. The authors considered singleand multi-criteria optimization problems with a number of design parameters ranging from two to six. The calculation time on different computers varied from 30 min to 48 h. Miller [43] studied the optimal design of a Delta-like robot for manipulability and space utilization criteria. The optimization problem with four design parameters was solved using a MATLAB package in about 3 h on a Pentium II 200 MHz computer. Rao et al. [44] performed the dimensional synthesis of hexaslide machines considering workspace volume and global dexterity indices as optimization objectives for the problem with seven design parameters. It took 211 s on a Pentium IV 1.7 GHz, 256 MB RAM computer to only calculate these indices. Another multi-criteria design optimization problem with four design parameters was studied by Unal et al. [45] using a normal boundary intersection method. The calculation time varied from an hour up to several hours, depending on the tolerance value, on a workstation with an Intel Xeon 3.4 GHz processor and 4 GB RAM. Jiang and Gosselin [46] performed geometric optimization of a Gough-Stewart platform for maximal singularity-free workspace. The authors applied Powell's search method for the problem with three design parameters, which took about 5 min to find a solution on a Pentium IV 2.4 GHz computer. Parivash and Ghasemi [47] solved an optimal dimensional problem with five design parameters for a parallel manipulator with the desired workspace. The solution was found using the MATLAB optimization toolbox on an Intel Core i7 2.2 GHz, 6 GB RAM computer in about 25 min. Russo et al. [4] also used this toolbox for the optimal design of lower mobility manipulators. The authors solved a multi-loop optimization problem with four design parameters which aimed at minimizing positioning errors. The average calculation time was 273 s on an Intel Core i7-6700HQ 2.6 GHz computer. Muralidharan et al. [48] applied an approach based on a genetic algorithm to the dimensional synthesis of 3-RRR and 3-RRS parallel manipulators. The authors considered two different optimization problems related to the dynamic performance with five design parameters for both mechanisms. The calculation time varied from 13 to 49 h on a computer with an Intel Core i7-4930 3.4 GHz processor.
The abovementioned studies differ in their studied mechanisms, design parameters, objective functions, applied methods, and computers that solve the problems. Though we cannot perform an adequate comparison with the known works, the approach suggested in the current paper seems to be computationally efficient with a proper choice of the initial guess.

Conclusions
This study has presented an original dimensional synthesis algorithm for the hexapodtype reconfigurable parallel mechanism with single DOF. The suggested algorithm allows the determination of the links' dimensions (the crank and the leg lengths) and the crank initial angles required to perform specified platform trajectories. The research has provided the relations that express the coordinates of all links in terms of the drive angle and platform position and orientation. Being written for all the kinematic chains, these relations form a system of six equations that constitute a basis for the subsequent synthesis algorithm. The advantage of the proposed algorithm is in calculation not only of the geometrical values of the mechanism links, but also the driving wheel angle and five remaining coordinates of the platform. From a computational point of view, the highly sparse structure of the equations' Jacobian matrix allows for the finding of a numerical solution to the synthesis problem quickly and efficiently. The obtained theoretical results have been verified on an example with a given trajectory along one of the platform coordinates. The numerical solution has been found for different initial guesses. In contrast to the known dimensional synthesis methods of parallel mechanisms, the proposed algorithm is straightforward and does not require the solving of any optimization problem. Nevertheless, the techniques suggested by this work can be extended to the optimal design of the mechanism. The proposed approach can be also adapted for other mechanisms.

Data Availability Statement:
The data presented in this study are available on request from the corresponding author.

Conflicts of Interest:
The authors declare that they have no conflict of interest.