1. 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 having one internal DoF in the EE; also, a general synthesis method for PRCPs (some of which have closed-loop EEs) was presented in [
12].
A number of architectures with an EE having an internal DoF were explored by Pierrot et al., who studied several 4-DoFs spatial PRCPs based on the Delta robot, the first of which was the H4 robot presented in [
13]. Later, a control system for the robot was introduced in [
14], while in [
15], the authors designed a robot prototype; the dynamic model of H4 was presented by Choi et al. in [
16]. Other robot architectures derived from the H4, with an articulated EE having internal DoFs, are I4 [
17] and Par4 [
18,
19]; an architecture for a robot conceptually similar to Par4, having 4 DoFs and without parasitic motions, was also presented in [
20]. A general approach for the type synthesis of similar mechanisms was later presented in [
21]. Another Delta-inspired PRCP was presented in [
22]: the robot has a six-bar closed-loop EE and is capable of performing Schönflies motions.
Lambert et al. [
23] studied “PentaG”, a 5-DoFs spatial robot with two EEs able to grasp objects and perform Schönflies motion; its architecture was later generalized to a 7-DoFs haptic interface with redundant actuation [
24]. Two spatial, 3-DoF PRCPs with a similar concept were presented in [
25]. In [
26], Lambert and Herder presented a literature review on PRCPs and proposed general results on the singularity and mobility analysis of this class of robots; later, in [
27], a general method was presented to derive the complete Jacobians of PRCPs through screw theory. An extension of the configurable-EE concept to cable-driven systems was also presented in [
28].
PRCPs’ predicted applications are where extra DoFs beyond those needed to position and orient the EE are required to interact with the environment: for instance, PRCPs can be employed when the robot has to grasp objects [
1,
2,
3,
6,
7,
8]. An alternative solution would be mounting a gripper on the EE of a conventional parallel robot, but the gripper and its motor increase the moving inertia of the EE, which reduces the dynamic performance of the robot. PRCPs, instead, have all the motors located on the robot base and their configurable EE can provide an integrated grasping functionality.
PRCPs were also applied in the design of haptic interfaces where the operator can interact with the robot through several contact points on the EE: this design can lead to a smoother experience of the virtual environment with respect to standard haptic systems [
5]. Other proposed applications for PRCPs are for robot surgery such as laparoscopy [
6] and for rehabilitation systems [
29].
The design and control of parallel robots require solving their Direct and Inverse Kinematic Problem (DKP and IKP, respectively), the former of which can be especially complex, and the more so for robots with many DoFs such as PRCPs [
4]. Generally, authors aim at developing analytical approaches: these, albeit slower than numerical methods, provide insight into the number of possible solutions for the DKP and IKP. For planar mechanisms, the usual method is to write loop-closure equations, which can be reduced to a system of polynomial equations (e.g., by using the tangent half-angle substitution). This system of equations can then be reduced to a single characteristic polynomial in one variable, through algebraic manipulation. For example, this method is applied in [
30] to a 3-
RRR, 3-DoF planar robot; later, these results were extended to 3-DoF planar robots with three general, independent, actuated kinematic chains [
31].
An alternative method that is suited to solve the DKP for planar mechanisms is bilateration: here, the goal is to obtain the coordinates of points in the plane from their relative distances (similarly, one speaks of trilateration when considering sets of points in three dimensions). Since this approach is entirely distance-based, it is independent from the choice of the reference frame and does not require variable eliminations nor tangent-half-angle substitutions (unlike conventional analytical methods), which generally lead to numerical instabilities; also, it can be written in a compact form where all quantities have the same unit of length. While the concept of bilateration is old [
32,
33], its application to robotics is relatively recent. A general review of these methods is in [
34,
35]. In [
36,
37], the authors show how to apply bilateration for solving the DKP of planar mechanisms with rigid EE and revolute joints, similar to the ones considered in this work. Bilateration 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).
3. 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
,
, and their position vectors are
with respect to the base coordinate frame
; the actuated joint variables are angles
. The centers of the mobile R joints are denoted as
,
, and their coordinates are
. 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
DoFs; the vector of actuated joint coordinates
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
, where angles
’s are those formed by the links of length
with the horizontal axis (see
Figure 2b). Variables
and
define the position of (a point of) the EE, whereas variables
’s define the EE shape.
3.1. 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
on the EE, one can find the next point
on the kinematic chain as
Therefore, since
,
and
are known from
, one can find the position of point
. Similarly, one can find point
from
and
; repeatedly applying Equation (
5) one finds all points on the kinematic chain up to and including
. Finally, we find point
from bilateration as
(the distances between points
,
and
are all known). Since the actual configuration of the EE is known, we can disregard the spurious solutions out of the two ones for
provided by Equations (
2) and (
3).
At this point, since all ’s are known (for ), the IKP reduces to the well-known problem of the assembly of n RRR dyads, each corresponding to an RRR chain. From the lengths , one finds the coordinates of by using : then, the actuated joint angle of each RRR chain is given by . Applying this equation repeatedly, one may find all the n unknown in vector . Since bilateration provides two positions for , 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 . Geometrically, this condition defines an annulus comprised between the circles of radii and centered in . If is on the boundary of the annulus, there is one solution for the bilateration between , and ; if is outside the annulus, there are no solutions. In conclusion, the IKP for an n-RRR robot can thus have up to solutions.
3.2. 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
of links
, the position of points
,
is directly found as
We can now simplify the mechanism analysis, by defining an equivalent rigid structure (see
Figure 2b) where all links
are removed and points
are fixed on the ground link: one can see that the structure obtained has indeed
DoFs. Solving the DKP is then equivalent to finding points
,
from the known distances
and
; 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 distance-based 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 .
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
, namely: from the coordinates of
and
, we find the coordinates of
, then the coordinates of
from the points already found, and so on, where all coordinates are written as functions of the unknown
. 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.
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
will be an algebraic function in the unknown
, 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
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
that can be solved either through algebraic or numerical methods: each real and positive root corresponds to a value of
that can be substituted in the expressions for points
,
to obtain a potential pose for the EE (and thus a solution for the DKP).
As an example, the method seen above will be now applied to a 5–
RRR PRCP. We simplify the mechanism, obtaining a 5–RR structure (
Figure 3a), by using Equation (
6). Then, we define the three parameters for the bilateration:
- (a)
unknown variable:
- (b)
bilateration sequence:
- (c)
closure condition:
The bilateration sequence is shown in
Figure 3a.
We have developed a script in MATLAB to solve the DKP for a number of n-RRR robot architectures (with ) 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 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
(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: 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
in the last sequence, see
Figure 3b) and in counterclockwise sense (such as
): 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 , namely 12, 28, 60 and 124 for, respectively, , 4, 5 and 6.
We verified our conjectures for
, 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
. 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
. 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
Table 1,
Table 2 and
Table 3 and the corresponding solutions are in
Table 4,
Table 5 and
Table 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 interface 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.