Position and Singularity Analysis of a Class of Planar Parallel Manipulators with a Reconfigurable End-Effector

Parallel robots with configurable platforms are a class of robots in which the end-effector has an inner mobility, so that its overall shape can be reconfigured: in most cases, the end-effector is thus a closed-loop kinematic chain composed of rigid links. These robots have a greater flexibility in their motion and control with respect to rigid-platform parallel architectures, but their kinematics is more challenging to analyze. In our work, we consider n-RRR planar configurable robots, in which the end-effector is a chain composed of n links and revolute joints, and is controlled by n rotary actuators located on the base of the mechanism. In particular, we study the geometrical design of such robots and their direct and inverse kinematics for n = 4, n = 5 and n = 6; we employ the bilateration method, which can simplify the kinematic analysis and allows us to generalize the approach and the results obtained for the 3-RRR mechanism to n-RRR robots (with n > 3). Then, we study the singularity configurations of these robot architectures. Finally, we present the results from experimental tests that have been performed on a 5–RRR robot prototype.


Introduction
A parallel robot with configurable platform (PRCP) is a special parallel mechanism in which the end-effector (EE) has internal Degrees-of-Freedom (DoFs). In most previous works, this is achieved by designing the EE as a closed-loop kinematic chain that can be reconfigured during the motion according to users' needs. In this work, we will focus on planar PRCPs having only revolute joints (in the rest of this work, R denotes a revolute joint and R an actuated revolute joint; RR. . . R denotes a chain of revolute joints connected by rigid links, where the number of letters indicates the number of joints).
One of the first examples of PRCPs was in [1], where the authors studied a planar 4-DoF gripper and optimized its design according to suitable kinematic indexes. Later, this concept was extended to 3-DoF spatial mechanisms having translational [2] or spherical [3] motion. In [4], the concept of PRCPs was extended to a larger class of architectures and a general screw-theoretic framework was presented to compute the mobility of these mechanisms. In [5], a 4-DoF PRCP, designed for multi-finger gripping (with two contact points), was studied in terms of its kinematics and singularity analysis. Several robots with a foldable platform were designed by Dahmouche et al., having either 4- [6], 7- [7] or 8-DoFs motion [8]; this way, the EE was provided with cutting [6] or grasping [7,8] functionality. For these robots, screw-theoretical analyses of the wrenches that can be applied to the environment by the EE were presented in [8,9]. In [10], it was shown that a kinematotropic linkage can also be used as the EE of a PRCP. More recently, a systematic design approach was presented in [11] for the development of PRCPs with 4-to 6-DoFs was also applied in several other sectors; we mention the localization of mobile robots [38] and cable-based robot measuring systems [39]. For a review of the state of the art on Euclidean-distance geometry problems and algorithms, we refer the reader to [40].
In the analysis of parallel robots, another necessary step is to identify singular configurations, where the EE has DoFs that cannot be controlled [41]: it is well known that singularities may disrupt the correct operation of robot mechanisms, thus their identification is fundamental for robot control. Early work on the topic is by Gosselin and Angeles [42], who proposed a general classification of the singularities based on the Jacobian matrices of the direct and inverse kinematics. Later, other works on the classification of parallel singularities [43,44] showed the necessity of taking into account also the kinematics of passive joints. In [45], the author proposed an application of Invariant Theory for the purpose of singularity analysis and found conditions for singularity based on Grassmann-Cayley algebra. Regarding the singularities of PRCPs, the first study was in [46] for the H4 and I4 families of architectures; later, in [47] the authors found the full set of singular configurations for the H4 from the Jacobian matrix. An analysis of the singularities for the H4 robot through screw theory was presented in [48].
In this work, we consider planar PRCPs, where the EE is an n-R closed-loop and n RRR chains connect the EE to the base. The paper is organized as follows. We begin with a general introduction to bilateration in Section 2; this method is then applied in Section 3 to the solution of the DKP and the IKP for the PRCPs at hand. Furthermore, we show how to derive the singularity configurations for the inverse and direct kinematics in Section 4. In Section 5, we show the results both from a numerical simulation and a series of experimental tests on a prototype. The tests will also show the behavior of the mechanism close to a singularity configuration. Finally, in Section 6 we discuss our conclusions and suggest possible developments for our work.
The goal of our work is both to apply the bilateration method to the kinematic analysis of a general class of planar manipulators, highlighting its advantages in terms of ease of analysis, and to lay foundational work in the development of a particular 5-DoF PRCP by solving its kinematics and identifying its singular configurations. The PRCP at hand, shown in Section 5, is at present merely a prototype, but it could be usefully developed into a flexible robotic platform capable of grasping, moving and orienting objects in the plane.
This manuscript develops a previous work first presented in [49], by proving several conjectures therein contained (Section 3.2) and by adding the analysis of the singular configurations for the class of the considered PRCPs (Section 4); the behavior of the robot around a singular configuration is also presented in the multimedia attachment (Section 5).

Bilateration
Bilateration is a method to find the coordinates of a point P k , given its distances from two other points P i and P j ; the positions p i = P i − O, p j = P j − O with respect to the fixed coordinate frame (O, x, y) are assumed to be known.
For convenience, we define the squared distance s i,j = p i − p j 2 between any two points P i and P j . The Cayley-Menger bideterminant [34] of two sets of n points P i 1 , . . . , P i n and ¶ P j 1 , . . . , P j n © is then defined as the scalar number D Ä P i 1 , . . . , P i n ; P j 1 , . . . , P j n ä = 2 Å − 1 2 For conciseness, we abbreviate the bideterminant D P i 1 , . . . , P i n ; P i 1 , . . . , P i n of a set P i 1 , . . . , P i n with respect to itself as D P i 1 , . . . , P i n . We can now define the transformation matrix of three points P i , P j and P k as In Equation (2), V(P i , P j , P k ) = ± 1 2 » D(P i , P j , P k ) is the signed area of triangle P i P j P k , thus • if points P i , P j and P k are ordered in counterclockwise sense (see Figure 1a), the area is positive; • if points P i , P j and P k are ordered in clockwise sense (see Figure 1b), the area is negative.
Defining p ij = P j − P i and p ik = P k − P i , one can prove [32] that and thus P k is found from P i , P j and the distances between the three points. In the following, we will use the shorthand notation Ä P i , P j ä → P k to indicate the procedure of finding point P k from P i and P j , by using the known point distances and Equation (3). Notably, Equations (1)-(3) are independent of the choice of the coordinate frame. Since there are two possible orderings of the points (clockwise or counterclockwise, see Figure 1), bilateration generally provides two possible solutions.

Kinematic Analysis
The schematic of a general n-RRR robot is shown in Figure 2a; two example cases are reported for completeness in Appendix A. The centers of the n actuated R joints on the fixed base are denoted as A i , i ∈ {1, . . . , n}, and their position vectors are T with respect to the base coordinate frame (O, x, y); the actuated joint variables are angles θ i . The centers of the mobile R joints are denoted as P i , i ∈ {1, . . . , 2n}, and their coordinates are p i = x P i , y P i T . In the following, all links and all joints are modeled as perfectly rigid; the readers interested in joint-flexibility modeling are referred, for instance, to [50]. The (constant) link lengths are defined as From Grübler's equation, it can be seen that the PRCP at hand has 3[(3n + 1) − 1] − 2(n + n + 2n) = n DoFs; the vector of actuated joint coordinates θ = [θ 1 , . . . , θ n ] T also has n components, thus the robot is fully actuated. The EE pose can be defined by an n-dimensional vector of independent variables; we choose vector π = x P n+1 , y P n+1 , φ 1 , φ 2 , . . . , φ n−2 T , where angles φ i 's are those formed by the links of length l i with the horizontal axis (see Figure 2b). Variables x P n+1 and y P n+1 define the position of (a point of) the EE, whereas variables φ i 's define the EE shape.

Inverse Displacement Analysis
For the IKP, one seeks to find the input vector θ given the desired output pose π. Solving the IKP is straightforward, as is usually the case for parallel manipulators. From the coordinates of a point P i on the EE, one can find the next point P i+1 on the kinematic chain as x P n+i+1 = x P n+i + l i cos φ i y P n+i+1 = y P n+i + l i sin φ i i ∈ {1, . . . , n − 2} Therefore, since x P n+1 , y P n+1 and φ 1 are known from π, one can find the position of point P n+2 . Similarly, one can find point P n+3 from P n+2 and φ 2 ; repeatedly applying Equation (5) one finds all points on the kinematic chain up to and including P 2n−1 . Finally, we find point P 2n from bilateration as (P n+1 , P 2n−1 ) → P 2n (the distances between points P n+1 , P 2n−1 and P 2n are all known). Since the actual configuration of the EE is known, we can disregard the spurious solutions out of the two ones for P 2n provided by Equations (2) and (3).
At this point, since all P i 's are known (for i ∈ {n + 1, . . . , 2n}), the IKP reduces to the well-known problem of the assembly of n RRR dyads, each corresponding to an RRR chain. From the lengths c i , d i one finds the coordinates of P i by using (A i , P n+i ) → P i : then, the actuated joint angle of each RRR chain is given by θ i = atan 2 x P i , y P i . Applying this equation repeatedly, one may find all the n unknown θ i in vector θ. Since bilateration provides two positions for P i , this shows that there are, in the general case, two real and distinct solutions for each RRR chain from the base to the EE. It can be shown that this holds if and only if |c i − d i | ≤ p n+i − a i ≤ c i + d i . Geometrically, this condition defines an annulus comprised between the circles of radii |c i − d i | and c i + d i centered in A i . If P n+i is on the boundary of the annulus, there is one solution for the bilateration between A i , P n+i and P i ; if P n+i is outside the annulus, there are no solutions. In conclusion, the IKP for an n-RRR robot can thus have up to 2 n solutions.

Direct Displacement Analysis
The DKP is more complex than the IKP. In this case, the vector θ is known, and we seek to derive the EE pose, defined by vector π. We will first present a method to analyze a general n-RRR robot (see Figure 2a) by means of bilateration; then, as an example, we will show an application to a 5-RRR robot.
From θ and the lengths c i of links A i P i , the position of points P i , i ∈ {1, . . . , n} is directly found as We can now simplify the mechanism analysis, by defining an equivalent rigid structure (see Figure 2b) where all links A i P i are removed and points P i are fixed on the ground link: one can see that the structure obtained has indeed 3[(2n + 1) − 1] − 2(n + 2n) = 0 DoFs. Solving the DKP is then equivalent to finding points P i , i ∈ {n + 1, . . . , 2n} from the known distances d i and l i ; this problem appears suited to be analyzed by means of bilateration.
We start by choosing the unknown variable that we seek to find; at the end of the analysis, we will obtain a single equation in this unknown. Since bilateration is a distancebased method, we could choose the distance between any two points as the unknown, except obviously the fixed distances between points connected by links. Without loss of generality, we choose s 2,n+1 .
We then choose a bilateration sequence: this is the sequence of n bilateration steps îÄ for finding all points on the EE. The simplest choice for this sequence is [(P 1 , P 2 ) → P n+1 , (P 2 , P n+1 ) → P n+2 , (P 3 , P n+2 ) → P n+3 , . . . , (P n , P 2n−1 ) → P 2n ], namely: from the coordinates of P 1 and P 2 , we find the coordinates of P n+1 , then the coordinates of P n+2 from the points already found, and so on, where all coordinates are written as functions of the unknown s 2,n+1 . See Figure 3a, where a 5-RR structure is taken as an example. Since each bilateration step provides two solutions, in the DKP we will retain only those which lead to a feasible solution for the complete mechanism.  Figure 3. (a) a bilateration approach for solving the Direct Kinematic Problem (DKP) of a 5-RR structure; (b) a second possible approach. Each bilateration step is denoted in red.
Finally, we write the closure condition, which depends on the remaining link length not used in the bilateration sequence; with the choices we have made so far, this becomes The final expression for s n+1,2n will be an algebraic function in the unknown s 2,n+1 , containing a number of nested radicals. These can be removed through well-known algebraic techniques, such as those in MATLAB's Symbolic Math Toolbox; however, the greater the number of RR chains, the more cumbersome the expression for s n+1,2n becomes. Notably, as remarked in [36], removing the radicals "is actually the only costly step in the whole process" and can be avoided if a numerical solution is sufficient. Finally, one obtains a univariate polynomial in s 2,n+1 that can be solved either through algebraic or numerical methods: each real and positive root corresponds to a value of s 2,n+1 that can be substituted in the expressions for points P i , i ∈ {n + 1, . . . , 2n} to obtain a potential pose for the EE (and thus a solution for the DKP).
We have developed a script in MATLAB to solve the DKP for a number of n-RRR robot architectures (with n ≤ 6) by removing all radicals in the equation for the closure condition by an iterative algorithm. In the following, we report our observations. • The method lends itself easily to generalization for more complex architectures: however, as one may expect, the computational complexity of solving the DKP grows with the number of RRR chains. This is mostly due to the algebraic manipulations required to remove all radicals in the closure equation; these operations are well beyond human feasibility even for n = 4 and have thus required the use of a symbolic analysis package. • The time and resources needed to tackle the DKP are dependent on the choice of bilateration sequence and can be greatly reduced through a careful choice. Considering again the example in Figure 3, it was found that using the sequence [(P 1 , P 2 ) → P 6 , (P 2 , P 6 ) → P 7 , (P 3 , P 7 ) → P 8 , (P 5 , P 6 ) → P 10 , (P 4 , P 10 ) → P 9 ] (see Figure 3b) instead of the one previously indicated in point (b) the time required to obtain a solution is much shorter. The script was run with MATLAB R2019a and an Intel Core processor i7-8700 CPU at 3.20 GHz: with this setup, the DKP was solved in two days with the first choice for the bilateration sequence and in ten minutes with the second one. Our empirical observation is that the bilateration sequence is optimized by taking approximately the same number of steps in clockwise sense (such as (P 3 , P 7 ) → P 8 in the last sequence, see Figure 3b) and in counterclockwise sense (such as (P 5 , P 6 ) → P 10 ): under this guideline, there are fewer nested radicals in the final closure conditions, which then becomes easier to simplify. • We conjecture that, for an n-RRR robot, the characteristic univariate polynomial has degree 2 n+1 − 4, namely 12, 28, 60 and 124 for, respectively, n = 3, 4, 5 and 6. We verified our conjectures for 3 ≤ n ≤ 6, by numerically verifying, for a number of generic architectures, that all the (complex) solutions of the final polynomial equation satisfy the closure loop equations of the original mechanism. We also verified that our conjecture is true for n = 7. However, in this case, due to the increasing computational cost needed to obtain a univariate polynomial, we preferred to compute all 252 solutions of the problem by a purely numerical approach, such as homotopy continuation, through the software Bertini [51]. Moreover, we found special architectures (in terms of link lengths and positions of the fixed joints) for the 3-, 4-and 5-RR structures such that the DKP has 12, 28 and 60 real and distinct solutions, respectively. Note that the rigid-EE, 3-DoF linkage in [30] can be seen as a special case of the n-RRR architectures considered here for n = 3. In [30], it was shown that said linkage can have up to six distinct solutions. In our analysis, for generality, we also include solutions where the EE can "flip" into its symmetric form (which requires the EE to rotate outside the plane of motion): this doubles the number of solutions. It is also possible to analyze the DKP through bilateration without this assumption.
The parameters for the special architectures mentioned above are reported in Tables 1-3  and the corresponding solutions are in Tables 4-6. These parameters were found by means of a genetic-algorithm search (similarly to the approach used in [52,53] for a spatial robot), using the MATLAB routine ga with a population of 200 individuals and a MATLAB in-terface to Bertini [54]: for each n, the algorithm iteratively searches for the architecture parameters that lead to the maximum number of real and distinct solutions. For each case, the algorithm converges within 18 generations (or fewer) to an architecture that has as many real and distinct solutions as the characteristic univariate polynomial degree. Table 1. Coordinates of fixed points P i (i ∈ {1, 2, 3}) and link lengths for a 3-RR structure whose DKP has 12 real and distinct solutions. Without loss of generality, points P 1 and P 2 are taken respectively at the coordinate-system origin and on the x axis; the other values in the table are found by optimization.     Table 6. All 60 possible solutions of the DKP for the 5-RR architecture in Table 3. Notice that some solutions are very close in terms of s 2,6 (and are thus indistinguishable from each other without providing more significant digits that those which can be displayed in the available space), yet lead to clearly different poses.

General Classification
With the definitions of the joint vector θ and the pose vector π given in Section 3, the kinematic constraints of the linkage can be written in the general form: f(π, θ) = 0 (8) assuming that all constraints are holonomic, that is, they can be expressed in configuration form. Differentiating Equation (8) with respect to time, we obtain a relationship between the input joint rates and the EE velocity, as follows: where J π and J θ are the Jacobian matrices of the direct and of the inverse kinematics, respectively. Since we only consider fully-actuated robots, where the number of DoFs is equal to the number of actuators, the Jacobians are square matrices and thus they are rank deficient if and only if their determinant is zero, in which case we say that the parallel manipulator is at a singular configuration. Depending on which matrix is rank deficient, there can be different types of singularities. We refer to the standard classification in [42] that distinguishes between three types of singularities. Note also that more refined and complete classifications, which take into account the kinematics of passive joints, can be found in [43,44]. The three types of singularities from [42] are defined in the following.
(1) A type-1 kinematic singularity occurs when det J θ = 0. In this case, the null space of J θ is not empty, thus there exists some nonzeroθ that yieldsπ = 0 in Equation (9). Therefore, infinitesimal motions of the EE along certain directions cannot be accomplished with finite joint rates and the manipulator loses one or more DoFs. Type-1 kinematic singularities usually occur at the workspace boundary or where different branches of the IKP converge [42]. (2) A type-2 kinematic singularity occurs when det J π = 0. In this case, there exist some nonzeroπ that yieldsθ = 0. The EE can have infinitesimal motions while all actuators are locked and the EE gains one or more uncontrolled DoFs. Type-2 kinematic singularities usually occur where different branches of the DKP meet. (3) A type-3 singularity occurs when both J π and J θ are singular. Generally, this type of singularity can only occur for manipulators with special architectures. At these configurations, Equation (8) degenerates to the identity 0 = 0. The EE can have infinitesimal motions while the actuators are locked and it can also remain stationary while the actuators undergo infinitesimal motions.

Definition of the Jacobian Matrices
To define the Jacobian matrices J π and J θ for the PRCPs at hand, we write the loop equation for each RRR chain from the base to the EE: Differentiating Equation (10) with respect to time (and considering that vectors c i and d i have fixed lengths), one haṡ where k is the vector orthogonal to the plane of motion, and we have usedȧ i = 0, since points A i are fixed. By dot-multiplying by d i we obtain an equation without the passive joint angles ψ i :ṗ using known properties of the triple vector product. In a similar fashion, one can also find the velocity of point P n+i by writing the closure equation for the first i − 1 links on the EE kinematic chain (starting from point P n+1 ) and differentiating with respect to time. One thus obtainsṗ n+i from the time derivativė π = ẋ P n+1 ,ẏ P n+1 ,φ 1 ,φ 2 , . . . ,φ n−2 of the pose vector aṡ By dot-multiplying Equation (13) again by d i , and combining the result with Equation (12), one hasθ The term at the left-hand side of Equation (14) depends onθ, while the terms on the right-hand side only depend onπ. We thus have n − 1 linear relationships between the actuated joint velocities and the derivative of the EE pose, from which we can derive the first n − 1 rows of matrices J θ and J π . Finally, we use bilateration to find point P 2n as (P n+1 , P 2n−1 ) → P 2n and differentiate with respect to time, thus obtainingṗ 2n as a function ofπ; settingθ we find the last row of the Jacobian matrices. By setting the determinants of J θ and J π and solving the resulting equations for the pose π, we can obtain the full set of input-output singularities for the mechanisms at hand. From Equation (14), it can be seen that the Jacobian of the inverse kinematics J θ is, in general, a diagonal matrix for all PRCPs in the class here considered, having elements k · c i × d i on the main diagonal. This matrix is singular if and only if any of these elements is zero; ignoring degenerate cases where one link has zero length, we see that this corresponds to a configuration where two links in a RRR chain from the base to the EE are aligned, either in a stretched-out or folded-back configuration, as shown in Figure 4. These configurations are therefore type-1 kinematic singularities.
Analyzing type-2 kinematic singularities, on the other hand, is more difficult: we will consider the 5-RRR robot as an example. Figure 4. The two configurations of a type-1 singularity for a generic n-RR structure: (a) stretched-out; (b) folded-back.

Jacobian Matrices of a 5-RRR Pcrp
In this case, we define the joint and pose vectors as θ = [θ 1 , θ 2 , θ 3 , θ 4 , θ 5 ] T and π = x P 6 , y P 6 , φ 1 , φ 2 , φ 3 T , respectively. By applying the procedure described in Section 4.2, we obtain the matrices and where the scalar quantities e, f and g are defined in Appendix B. Type-1 singularities have already been found, for the most general case, in Section 4.2. Type-2 singularities for this PRCP can be found analyzing matrix J π . In Figure 5 we present three examples of singular configurations.

(a)
A type-2 singularity occurs when all links P i P i+5 are parallel (Figure 5a). In this case, one can see that the first two columns of J π from Equation (16) are linearly dependent and thus the matrix is singular. The EE gains a uncontrolled DoF, namely, the rigid translation in the direction orthogonal to the parallel links. (b) If links P 1 P 6 , P 6 P 7 , and P 7 P 2 are aligned (Figure 5b), then k · l 1 × d 2 = 0 and d 1 is a scalar multiple of d 2 , so that the first two rows of J π are linearly dependent. In this configuration, points P 6 and P 7 move perpendicularly to d 1 , while the EE undergoes small deformations. By symmetry, this singular configuration extends to the cases where the links P 2 P 7 , P 7 P 8 , P 8 P 3 , P 3 P 8 , P 8 P 9 , P 9 P 4 , P 4 P 9 , P 9 P 10 , P 10 P 5 or P 5 P 10 , P 10 P 6 , P 6 P 1 are aligned. (c) In Figure 5c we show another type of singularity, first noted by Crapo in [45] for a similar type of structure, that can also be applied in our case. For a given link P i P i+1 on the EE, we define point N i , at the intersection of the lines through the links connecting P i P i+1 to the base, and point Q i , at the intersection of the lines through the links on the EE connected to P i P i+1 ; also, let T be at the intersection of the lines ← − → Q i N i and ← − → Q j N j . If the line ←−−→ P k P n+k (through the distal link on the remaining RR chain connecting the EE to the base) also passes through point T, we have a type-2 singular configuration. Note that this includes the special case where all lines ← −− → P i P n+i pass through the same point T. Figure 5. Some examples of type-2 kinematic singularities of a 5-RR structure (derived from a 5-RRR mechanism): (a) a singularity occurring when all links P i P n+i are parallel; (b) a singularity occurring when three consecutive links are aligned; (c) a singularity configuration derived from [45]; (d) the auxiliary figure of Figure 5c. For each structure, we also show (in dashed lines) a configuration which is close to the singular one; this approximates the infinitesimal motion that the structure can have around its singularity (for Figure 5c, we added the auxiliary Figure 5d).

Examples
A 5-RRR prototype has been developed at IRI (Institut de Robòtica i Informàtica Industrial, Barcelona, Spain) as shown in Figure 6. Its main parameters are reported in Table 7, together with the input angles for an example configuration for which we solve the DKP using the MATLAB script reported in Section 3.2.
From Section 3.2 we know that the characteristic polynomial can have at most 2 5+1 − 4 = 60 distinct solutions; it is found that, for the geometric parameters in Table 7, the polynomial has six real solutions. Three of them correspond to feasible configurations, which are reported in Table 8; the other solutions are not reachable because of physical constraints, such as interference between the links or because they correspond to unfeasible values of the unknown s 2,6 . Table 7. Coordinates of the ground joints (points A i ) and the corresponding input angles θ i ; the links' lengths are c i = 160 mm, d i = 120 mm and l i = 80 mm (for i = 1, . . . , 5).  Figure 6. (a) The 5-RRR prototype developed at IRI; (b) its corresponding schematic.
The robot was actuated by five servo units with a DC motor and integrated gear reducer (Robotis Dynamixel AX-12A). The motors have a limited rotation range of 300°, which could limit the reachable workspace; however, this was not found to be an issue for any of the motions considered in our tests. Each motor can be controlled through 1024 discrete steps by a script we developed starting from MATLAB code provided by the manufacturer. At every time-step during the motion, we define the EE pose π, which is defined by five variables. Then, using the inverse kinematics formulas from Subsection 3.1, we calculate the vector of motor angles θ: these are the angles to be set for the actuators.
The prototype in Figure 6 was studied in terms of position and singularity analysis. Some experimental tests were also performed. In the multimedia attachment for this work (see video abstract) a number of possible motions are presented: (i) the EE translates and rotates while keeping a fixed configuration, like a conventional (redundantly-actuated) rigid-EE manipulator; (ii) the robot switches between two different solutions of the IKP for a given EE pose π; (iii) the robot passes through a type-1 singularity configuration (see Section 4); (iv) finally, the EE configures itself in order to grip a ball at a first position and moves it to a different position, to present a potential application of having a configurable platform. A schematic of this motion is reported for clarity in Figure 7. Figure 7. A schematic of a grasping motion with the prototype (see multimedia attachment): an object (in gray) is grasped by reconfiguring the EE and moved to a new pose in the plane, through three successive poses (a-c).

Conclusions
In this work, we have considered a general class of planar parallel robots having a configurable platform (PRCPs), for which we performed the position and the singularity analysis. While the inverse kinematics can be readily solved through conventional methods used for planar linkages, the direct kinematics are more challenging; we show that the bilateration method, which has a relatively recent history in robotics research, can be usefully applied to this problem. In particular, we developed a general procedure that can be applied to PRCPs of n-RRR type, having any number n of kinematic chains, and we found heuristics to reduce the solution time. Furthermore, we showed how to derive the Jacobian matrices of these robots, again through bilateration; from the Jacobians, we also showed how to find singular configurations. For an exemplifying PRCP with five kinematic chains, we showed both simulations that illustrate how to solve the direct kinematics and results from experiments performed on a prototype.
Our goals for future work in this field are: • to prove our conjectures regarding the degree of the characteristic polynomial of the direct kinematics, namely, verifying that it is the polynomial of lowest degree for all n. Furthermore, we aim to find a general example architectures having the maximum possible number of real and distinct solutions (at least for the case n = 6); • to obtain more general results for planar PRCPs with n kinematic chains, for instance including chains that have prismatic joints; • to perform a statistical analysis of the time required to solve the direct kinematics, both with bilateration and through conventional analytical methods, thus showing the difference in the required computational effort; • to find the full set of singular configurations for any number of kinematic chains, extending the work in Section 4; • to further develop the prototype in order to apply it to practical manipulation tasks, for instance by using the flexible EE as a gripper, as shown in Figure 7 and in the multimedia attachment.

Conflicts of Interest:
The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

Abbreviations
The following abbreviations are used in this manuscript:

Appendix A. Example Architectures
For clarity, we report here two selected example architectures: a 3-RRR ( Figure A1a) and a 4-RRR ( Figure A1b) mechanism. The first one has a rigid platform, while in the second case the platform has an internal DoF for reconfiguring its shape. where e = v 1 · d 5 (A13)