JR Journal of Robotics 1687-9619 1687-9600 Hindawi 10.1155/2018/2412608 2412608 Research Article On the Direct Kinematics Problem of Parallel Mechanisms http://orcid.org/0000-0003-3989-9626 Seibel Arthur 1 Schulz Stefan 1 Schlattmann Josef 1 Pennock Gordon R. Workgroup on System Technologies and Engineering Design Methodology Hamburg University of Technology 21073 Hamburg Germany tuhh.de 2018 1232018 2018 26 10 2017 01 01 2018 09 01 2018 1232018 2018 Copyright © 2018 Arthur Seibel et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

The direct kinematics problem of parallel mechanisms, that is, determining the pose of the manipulator platform from the linear actuators’ lengths, is, in general, uniquely not solvable. For this reason, instead of measuring the lengths of the linear actuators, we propose measuring their orientations and, in most cases, also the orientation of the manipulator platform. This allows the design of a low-cost sensor system for parallel mechanisms that completely renounces length measurements and provides a unique solution of their direct kinematics.

Deutsche Forschungsgemeinschaft SCHL 275/15-1 Hamburg University of Technology
1. Introduction

A typical six-degrees-of-freedom parallel mechanism consists of a (fixed) base platform and a (movable) manipulator platform. The position and orientation (also known as pose) of the manipulator platform are commanded by fixing the distances between n points on the base platform and m points on the manipulator platform, where n,m{3,,6}. There may be different ways for realizing such a mechanism. The most common one is to use six linear actuators for connecting the platforms together.

Determining the pose of the manipulator platform from the linear actuators’ lengths (also known as direct kinematics problem) generally leads to a system of algebraic equations that has at most 40 different solutions . This number of solutions can be further reduced by introducing additional constraints, for example, combinatorial or planarity constraints . Nonetheless, a closed-form solution cannot be realized by only measuring the lengths of the linear actuators.

Current sensor concepts for solving the direct kinematics problem can be basically classified into two groups . The first group consists of using the minimal number of sensors, in our case, six length sensors, and then including additional numerical procedures to uniquely identify the parallel mechanism’s pose . These procedures, however, are generally not real-time capable, require an initial estimate of the solution, and may exhibit convergence problems or even converge to a wrong solution. The requirement of an initial solution estimate is especially then problematic when starting the mechanism at an arbitrary pose.

In contrast, the second approach consists of adding extra sensors for obtaining additional information about the parallel mechanism’s state . These can be, for example, angular sensors that are placed on the base or the manipulator platform joints or linear and/or angular sensors that are placed on supplementary passive legs. Here, the number and location of the sensors must be carefully chosen because, otherwise, this may cause specific problems such as workspace limitations due to the passive leg or joint arrangement. Furthermore, using different sensor types leads to a higher complexity and may even negatively affect the performance due to possible time delays and/or conflicting measurement values.

For this reason, in order to provide a unique solution of the direct kinematics problem without using additional numerical procedures or sensors, instead of measuring the lengths of the linear actuators, we propose measuring their orientations and, if necessary, also the orientation of the manipulator platform. The orientations of the linear actuators and the roll-pitch orientation of the manipulator platform can be measured, for example, by acceleration sensors with three axes, and the measurement of the yaw orientation of the manipulator platform can be realized, for example, by using a magnetic sensor .

The remainder of this paper is organized as follows. In Section 2, a classification of six-degrees-of-freedom parallel mechanisms based on the number of base and manipulator platform joints as well as combinatorial classes is introduced. In Section 3, we investigate if a closed-form solution for the direct kinematics problem of the mechanism types presented in Section 2 is possible by only measuring the orientations of the linear actuators. In Section 4, for the mechanism types where a closed-form solution of the direct kinematics problem is not possible by only measuring the linear actuators’ orientations, we also include the information about the roll-pitch orientation of the manipulator platform. In Section 5, we discuss the last remaining case where also the information about the manipulator platform’s yaw orientation is included. In order to complete our systematic investigation, in Section 6, we extend our results to three-degrees-of-freedom planar mechanisms. Section 7 discusses some practical considerations regarding the sensor selection and implementation of the proposed algorithms in a real-time control. Finally, in Section 8, our results are summarized and discussed.

Throughout the paper, we use the following notation, referring to Figure 1. The body-fixed frame of the base platform is denoted as {1} and the body-fixed frame of the manipulator platform as {2}. The position vector of the kth joint Jk,i of platform {i} is denoted as piJk,i and the connection vector between the joints Jk,1 and Jk,2 of platforms {1} and {2} as pJk,1Jk,2 with k{1,,6}. Using inverse kinematics, this vector can be determined from(1)pJk,1Jk,21=p121+R21·p2Jk,22-p1Jk,11with respect to platform {1}. Here, R21 denotes the rotation matrix from frame {2} into frame {1}, and p12 is the vector connecting the origins of platforms {1} and {2}. The roll, pitch, and yaw angles of the manipulator platform shall be denoted as α, β, and γ, and the direction, or orientation, of pJk,1Jk,2 is referred to as rJk,1Jk,2, which has unit length.

Nomenclature for the description of parallel mechanisms.

2. Classification of Six-Degrees-of-Freedom Parallel Mechanisms

Typically, parallel mechanisms are classified by the number of joints on the base and the manipulator platform. This type of classification, however, is not sufficient for catching all descriptive parameters of a parallel mechanism. For this reason, Faugère and Lazard  introduced the notion of a combinatorial class, which is represented by a graph where the edges are the linear actuators and the vertices are the joints (see Figure 2). Here, we use both approaches together to classify parallel mechanisms.

Examples of combinatorial classes of n-m mechanisms.

2.1. <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M31"><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:math></inline-formula>-3 Mechanisms

This group of mechanisms contains n base platform joints, with n{3,,6}, and three manipulator platform joints. Each manipulator platform joint is connected to one, two, or three linear actuators. We can classify this group into two types. In the first type, which shall be referred to as n-3-I mechanisms, all three manipulator platform joints are connected to exactly two linear actuators. According to , this type of mechanisms corresponds to seven combinatorial classes:(2)

In the second type, which shall be referred to as n-3-II mechanisms, the first manipulator platform joint is connected to three linear actuators, the second manipulator platform joint to two linear actuators, and the third manipulator platform joint to one linear actuator. This type of mechanisms corresponds to ten combinatorial classes :(3)

2.2. <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M38"><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:math></inline-formula>-4 Mechanisms

Similar to n-3 mechanisms, this group of mechanisms can be also classified into two types. The first type, which shall be referred to as n-4-I mechanisms, is characterized by two manipulator platform joints with each of them connected to two linear actuators and two further manipulator platform joints with each of them connected to one linear actuator. According to , this type of mechanisms corresponds to sixteen combinatorial classes:(4)

The second type, which shall be referred to as n-4-II mechanisms, is characterized by one manipulator platform joint connected to three linear actuators and three further manipulator platform joints with each of them connected to one linear actuator. This type of n-4 mechanisms corresponds to nine combinatorial classes :(5)

2.3. <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M45"><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:math></inline-formula>-5 Mechanisms

This group of mechanisms is described by twelve combinatorial classes :(6)

2.4. <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M47"><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:math></inline-formula>-6 Mechanisms

This group of mechanisms is associated with six combinatorial classes :(7)

3. Closed-Form Solution by Only Measuring the Linear Actuators’ Orientations

In this section, we will investigate if a closed-form solution for the direct kinematics problem of the mechanisms introduced in the previous section is possible by only measuring the orientations of the linear actuators.

3.1. <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M49"><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:math></inline-formula>-3 Mechanisms 3.1.1. Type I

Consider an n-3-I mechanism where the linear actuators k=1 and k=2 are connected to the manipulator platform joint J1,2, the linear actuators k=3 and k=4 to the manipulator platform joint J2,2, and the linear actuators k=5 and k=6 to the manipulator platform joint J3,2. The positions of these joints, p1J1,21, p1J2,21, and p1J3,21, are defined by the intersection points between the straight lines gk through the linear actuators k=1,,6 with(8)gk:pk1=p1Jk,11+λk·rJk,1Jk,21,λkR, where pk1 denote the coordinates of gk and rJk,1Jk,21 the measured orientations of the linear actuators. In particular, the intersection point between g1 and g2 defines p1J1,21, the intersection point between g3 and g4 defines p1J2,21, and the intersection point between g5 and g6 defines p1J3,21. These three joint positions, on the other hand, define a plane with the normal vector(9)n1=pJ1,2J2,21×pJ1,2J3,21,for example, where(10)pJ1,2J2,21=p1J2,21-p1J1,21,pJ1,2J3,21=p1J3,21-p1J1,21. The orientation angles α, β, and γ of the manipulator platform can be then determined from(11)α=cos-1ez11·ny1z11ny1z11,β=cos-1ez11·nx1z11nx1z11,γ=cos-1ex11·pJ1,2J2,2x1y11pJ1,2J2,2x1y11=cos-1ey11·pJ1,2J2,2x1y11pJ1,2J2,2x1y11, where ex11, ey11, and ez11 are the unit vectors of the base platform in x1, y1, and z1 direction, ny1z11 is the projection of n1 on the y1-z1 plane, nx1z11 is the projection of n1 on the x1-z1 plane, and pJ1,2J2,2x1y11 is the projection of pJ1,2J2,21 on the x1-y1 plane with(12)ny1z11=n1·ey11·ey11+n1·ez11·ez11,nx1z11=n1·ex11·ex11+n1·ez11·ez11,pJ1,2J2,2x1y11=pJ1,2J2,21·ex11·ex11+pJ1,2J2,21·ey11·ey11.The manipulator platform’s position p121, on the other hand, can be obtained, for example, from(13)p121=p1J1,21-R21·p2J1,22, where(14)R21=R2,α1·R2,β1·R2,γ1with(15)R2,α1=1000cosαsinα0-sinαcosα,R2,β1=cosβ0-sinβ010sinβ0cosβ,R2,γ1=cosγsinγ0-sinγcosγ0001. We can see that, by only measuring the orientations of the linear actuators, a unique solution for the direct kinematics problem of n-3-I mechanisms can be found.

3.1.2. Type II

Now, consider an n-3-II mechanism where the linear actuators k=1, k=2, and k=3 are connected to the manipulator platform joint J1,2, the linear actuators k=4 and k=5 are connected to the manipulator platform joint J2,2, and the linear actuator k=6 is connected to the manipulator platform joint J3,2. The position p1J1,21 of the joint J1,2 is defined by the intersection point between two of the straight lines g1, g2, and g3 through the linear actuators k=1, k=2, and k=3. Hence, only two orientations of these linear actuators are necessary for defining this position. The position p1J2,21 of the joint J2,2, on the other hand, is defined by the intersection point between the straight lines g4 and g5 through the linear actuators k=4 and k=5. Both positions define a straight line around which the manipulator platform can virtually rotate. We can now define a sphere, for example, with the center p1J2,21 and the radius pJ2,2J3,22. The intersection points between the sphere and the straight line g6 through the linear actuator k=6 define the two possible positions p1J3,21 of the manipulator platform joint J3,2. So, by only measuring the orientations of the linear actuators, it is not possible to find a unique solution for the direct kinematics problem of n-3-II mechanisms by only measuring the linear actuators’ orientations.

3.2. <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M139"><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:math></inline-formula>-4 Mechanisms 3.2.1. Type I

Consider an n-4-I mechanism where the linear actuators k=1 and k=2 are connected to the manipulator platform joint J1,2, the linear actuators k=3 and k=4 are connected to the manipulator platform joint J2,2, the linear actuator k=5 is connected to the manipulator platform joint J3,2, and the linear actuator k=6 is connected to the manipulator platform joint J4,2. The position p1J1,21 of the manipulator platform joint J1,2 is defined by the intersection point between the straight lines g1 and g2 through the linear actuators k=1 and k=2, and the position p1J2,21 of the manipulator platform joint J2,2 is defined by the intersection point between the straight lines g3 and g4 through the linear actuators k=3 and k=4. Both positions define a straight line around which the manipulator platform can virtually rotate. We can now define a sphere, for example, with the center p1J2,21 and the radius pJ2,2J3,22. The intersection points between the sphere and the straight line g5 through the linear actuator k=5 define the two possible positions p1J3,21 of the manipulator platform joint J3,2. So, it is not possible to find a unique solution for the direct kinematics problem of n-4-I mechanisms by only measuring the orientations of the linear actuators.

3.2.2. Type II

Now, consider an n-4-II mechanism where the linear actuators k=1, k=2, and k=3 are connected to the manipulator platform joint J1,2, the linear actuator k=4 is connected to the manipulator platform joint J2,2, the linear actuator k=5 is connected to the manipulator platform joint J3,2, and the linear actuator k=6 is connected to the manipulator platform joint J4,2. The position p1J1,21 of the joint J1,2 is defined by the intersection point between two of the straight lines g1, g2, and g3 through the linear actuators k=1, k=2, and k=3. Hence, only two orientations of these linear actuators are necessary for defining this position. We can now define two spheres, for example, the first sphere with the center p1J1,21 and the radius pJ1,2J2,22 and the second sphere with the same center but with the radius pJ1,2J3,22. The intersection points between the first sphere and the straight line g4 through the linear actuator k=4 define the two possible positions p1J2,21 of the manipulator platform joint J2,2, and the intersection points between the second sphere and the straight line g5 through the linear actuator k=5 define the two possible positions p1J3,21 of the manipulator platform joint J3,2. So, in total, we obtain four different possible orientations of the manipulator platform, and it is hence not possible to find a unique solution for the direct kinematics problem of n-4-II mechanisms by only measuring the linear actuators’ orientations.

3.3. <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M201"><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:math></inline-formula>-5 Mechanisms

Consider an n-5 mechanism where the linear actuators k=1 and k=2 are connected to the manipulator platform joint J1,2, the linear actuator k=3 is connected to the manipulator platform joint J2,2, the linear actuator k=4 is connected to the manipulator platform joint J3,2, the linear actuator k=5 is connected to the manipulator platform joint J4,2, and the linear actuator k=6 is connected to the manipulator platform joint J5,2. The position p1J1,21 of the manipulator platform joint J1,2 is defined by the intersection point between the straight lines g1 and g2 through the linear actuators k=1 and k=2. We can now define two spheres, for example, the first sphere with the center p1J1,21 and the radius pJ1,2J2,22 and the second sphere with the same center but with the radius pJ1,2J3,22. The intersection points between the first sphere and the straight line g3 through the linear actuator k=3 define the two possible positions p1J2,21 of the manipulator platform joint J2,2, and the intersection points between the second sphere and the straight line g4 through the linear actuator k=4 define the two possible positions p1J3,21 of the manipulator platform joint J3,2. So, in total, we obtain four different possible orientations of the manipulator platform, and it is hence not possible to find a unique solution for the direct kinematics problem of n-5 mechanisms by only measuring the orientations of the linear actuators.

3.4. <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M232"><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:math></inline-formula>-6 Mechanisms

Consider an n-6 mechanism where the linear actuators k{1,,6} are connected to the manipulator platform joints Jk,2. We can now choose three arbitrary linear actuators l, p, and q with l,p,q{1,,6} and lpq and define three straight lines through these linear actuators:(16)gl:pl1=p1Jl,11+λl·rJl,1Jl,21,λlR,gp:pp1=p1Jp,11+λp·rJp,1Jp,21,λpR,gq:pq1=p1Jq,11+λq·rJq,1Jq,21,λqR.Here, pl1, pp1, and pq1 denote the coordinates of gl, gp, and gq, and rJl,1Jl,21, rJp,1Jp,21, and rJq,1Jq,21 denote the measured orientations of the linear actuators k=l, k=p, and k=q. Next, we can define two spheres, the first sphere with the center pl1 and the radius pJl,2Jp,22 and the second sphere with the same center but with the radius pJl,2Jq,22. In this context, the first sphere has to intersect gp and the second sphere gq, so that we can write the following two equations:(17)pp1-pl12=pJl,2Jp,222,(18)pq1-pl12=pJl,2Jq,222.Since we know the angle between pJl,2Jp,22 and pJl,2Jq,22, we can also write(19)pp1-pl1·pq1-pl1=pJl,2Jp,22·pJl,2Jq,22.We now have a system of three nonlinear equations, (17), (18), and (19), in three variables (λl, λp, and λq), which, in general, is uniquely not solvable. So, it is not possible to find a unique solution for the direct kinematics problem of n-6 mechanisms by only measuring the linear actuators’ orientations.

4. Closed-Form Solution by Measuring the Linear Actuators’ Orientations and the Roll-Pitch Orientation of the Manipulator Platform

In Section 3, we have shown that, by only measuring the orientations of the linear actuators, it is only possible to find a unique solution for n-3-I mechanisms. In this section, we will investigate if a closed-form solution for the direct kinematics problem is possible by also including the information about the roll-pitch orientation of the manipulator platform.

Consider an n-m mechanism with n{3,,6} and m{3,4,5}. Each of these mechanisms contains at least two linear actuators that are connected to one manipulator platform joint Jl,2. We assume that the measured roll-pitch orientation of the manipulator platform is given by the unit normal vector n¯1. The position p1Jl,21 of the manipulator platform joint Jl,2 and the unit normal vector n¯1 define a plane, and the desired positions p1Jp,21 and p1Jq,21 of two other linear actuators k=p and k=q, where pq, are defined by the intersection points between these two linear actuators and the plane. So, by measuring the orientations of four linear actuators as well as the roll-pitch orientation of the manipulator platform, it is possible to obtain a closed-form solution for the direct kinematics problem of n-m mechanisms with m6. For m=6, however, our solution strategy fails since n-6 mechanisms do not have a common connection of at least two linear actuators at the manipulator platform. In this case, the information about the manipulator platform’s orientation leads to the following plane equation:(20)pp1-pl1·n¯1=0. We now have a system of two nonlinear equations, (17) and (20), in two variables (λl and λp), which, in general, is uniquely not solvable. So, by including the information about the roll-pitch orientation of the manipulator platform, it is not possible to find a unique solution for the direct kinematics problem of n-6 mechanisms.

5. Closed-Form Solution by Measuring the Linear Actuators’ Orientations and the Roll-Pitch-Yaw Orientation of the Manipulator Platform

We have seen in Section 4 that the information about the orientations of the linear actuators and the roll-pitch orientation of the manipulator platform is not enough to obtain a closed-form solution for the direct kinematics problem of n-6 mechanisms. However, we have shown in  that, by also including the information about the yaw orientation of the manipulator platform, the direct kinematics problem of n-6 mechanisms can be uniquely solved. In the following, we will review our solution concept from  in the context of a general n-m mechanism with n,m{3,,6}.

Consider the orientations rJp,1Jp,21 and rJq,1Jq,21 of two arbitrarily chosen linear actuators k=p and k=q, where pq. These orientations define two pairs of straight lines, gp,1 and gp,2 as well as gq,1 and gq,2, with the base vectors p1Jp,11 and p2Jp,21 as well as p1Jq,11 and p2Jq,21 (see Figure 3). We can now define two distance vectors between these two pairs of straight lines:(21)dp=rJp,1Jp,21×p121+R21·p2Jp,22-p1Jp,11,dq=rJq,1Jq,21×p121+R21·p2Jq,22-p1Jq,11,where the measured roll, pitch, and yaw orientation of the manipulator platform is summarized in the rotation matrix R21. Using the identity(22)a×ba~·b where(23)a~=0-azayaz0-ax-ayax0, we can rewrite (21) as(24)dp=r~Jp,1Jp,21·p121+R21·p2Jp,22-p1Jp,11=r~Jp,1Jp,21Ap·p121x+r~Jp,1Jp,21·R21·p2Jp,22-p1Jp,11-cp,dq=r~Jq,1Jq,21·p121+R21·p2Jq,22-p1Jq,11=r~Jq,1Jq,21Aq·p121x+r~Jq,1Jq,21·R21·p2Jq,22-p1Jq,11-cq.Now, in order to find the unknown position p121x, we have to solve the linear least-squares problem(25)Ax-c2=min!,where(26)A=ApAqR6×3,c=cpcqR6.This linear least-squares problem can be reduced to the set of linear equations(27)AAA¯x=Acc¯with the unique solution(28)x=A¯-1c¯=AA-1Ac.The measurement of the orientations of the other four linear actuators is not necessary here since the positions of the corresponding manipulator platform joints are defined by the manipulator platform’s geometry. Note that a robust way of computing x in this case is by using, for example, the QR decomposition .

Schematic diagram for the algorithm from Section 5.

6. Extension to Planar Mechanisms

In this section, we extend our previous findings for spatial mechanisms to three-degrees-of-freedom planar mechanisms. Note that, here, only the roll orientation of the manipulator platform is measured due to the planarity constraint.

6.1. <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M320"><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:math></inline-formula>-2 Mechanisms

This group of mechanisms contains n base platform joints, with n{2,3}, and two manipulator platform joints. It can be described by two combinatorial classes:(29)

Now, assume that the linear actuators k=1 and k=2 are connected to the manipulator platform joint J1,2, and the linear actuator k=3 is connected to the manipulator platform joint J2,2. The position p1J1,21 of the manipulator platform joint J1,2 is defined by the intersection point between the straight lines g1 and g2 through the linear actuators k=1 and k=2. We can now define a circle with the center p1J1,21 and the radius pJ1,2J2,22. The intersection points between the circle and the straight line g3 through the linear actuator k=3 define the two possible positions p1J2,21 of the manipulator platform joint J2,2. So, by only measuring the orientations of the linear actuators, it is not possible to find a unique solution for the direct kinematics problem of n-2 mechanisms.

In the next step, we assume that the roll orientation of the manipulator platform is measured in terms of the unit normal vector n¯1. Then, the angle γ between the manipulator and the base platform can be determined as follows:(30)γ=cos-1ey11·n¯1, where ey11 denotes the unit vector of the base platform in y1 direction. The manipulator platform’s position p121, on the other hand, can be obtained, for example, from(31)p121=p1J1,21-R21·p2J1,22, where(32)R21=cosγsinγ-sinγcosγ.The measurement of the orientation of the third linear actuator is not necessary here, since the position of the corresponding manipulator platform joint is defined by the manipulator platform’s geometry.

6.2. <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M350"><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:math></inline-formula>-3 Mechanisms

In contrast to n-2 mechanisms, this group of mechanisms contains three manipulator platform joints. It can be also described by two combinatorial classes:(33)

The measured orientations rJk,1Jk,21 define the straight lines gk through the linear actuators k=1,,3 with(34)gk:pk1=p1Jk,11+λk·rJk,1Jk,21,λkR, where pk1 denote the coordinates of gk. We can now define two circles, for example, the first circle with the center p11 and the radius pJ1,2J2,22 and the second circle with the same center but with the radius pJ1,2J3,22. In this context, the first circle has to intersect g2 and the second circle g3, so that we can write the following two equations:(35)p21-p112=pJ1,2J2,222,p31-p112=pJ1,2J3,222.Since pJ1,2J2,22 and pJ1,2J3,22 are linearly dependent, we can also write(36)p21-p11·p31-p11=1.We now have a system of three nonlinear equations, (35) and (36), in three variables (λ1, λ2, and λ3), which, in general, is uniquely not solvable. So, it is not possible to find a unique solution for the direct kinematics problem of n-3 mechanisms by only measuring the orientations of the linear actuators. However, by also including the roll orientation in terms of the rotation matrix (32), we can always apply our general algorithm from Section 5, which always provides a closed-form solution of the direct kinematics problem. Note that, in this case, only the measurement of the orientations of two linear actuators is necessary, since the position of the third manipulator platform joint is defined by the manipulator platform’s geometry.

7. Practical Considerations

Currently, there are many possible sensors available on the market, spreading from very expensive, precalibrated high-precision sensors to uncalibrated low-cost sensors. In , we used the InvenSense MPU-9150 inertial measurement units (IMUs) consisting of an acceleration sensor with three axes, a gyroscope, and a magnetic sensor for determining the closed-form solution for the direct kinematics problem of a general n-m mechanism. We obtained the correct solution for selected static poses, but the results showed relatively high mean errors and standard deviations, especially for the yaw orientation of the manipulator platform. This was primarily caused by the noisy and uncalibrated IMUs. The calibration problem, however, can be solved without any additional external equipment by using the approach from . For example, the acceleration sensor has to be calibrated/corrected in terms of sensor bias, scaling error, and nonorthogonality. In this context, the calibrated measurement data acal can be obtained by the following transformation:(37)acal=TSau+b, where au is the uncalibrated acceleration vector and b a constant bias term. The matrix S is a diagonal matrix comprising of scaling factors in each axis, and T is an upper triangular matrix to correct nonorthogonality.

Another problem related to calibration is sensor placement. In , we mounted the IMUs on the gearboxes of the linear actuators and on top of the manipulator platform. In this context, the alignment of the IMUs regarding the base platform’s coordinate system has to be determined very carefully. One possibility is to use very precise measurement equipment, for example, by using optical or angular sensors to obtain the location of the IMUs on the linear actuators. An alternative way is to determine the sensor alignment by comparing the target orientations with the measured orientations for several predefined poses.

In order to achieve a closed-form solution of the direct kinematics problem in hard real-time, the introduced algorithms where the linear actuators’ orientations and, if necessary, the roll-pitch orientation of the manipulator platform are measured are preferable due to the precision of the acceleration sensors. However, the algorithm where also the yaw orientation of the manipulator platform is needed requires the usage of a magnetic sensor, which, in general, is very imprecise. Several information filters, such as Kalman filter or complementary filters, were proposed to obtain the optimal measurement data fusion (see, e.g., [32, 33]). These filters can perform very quickly (between 1.3 and 7 μs ), but they do not calculate the correct yaw orientation with the first measurement value. Instead, the calculated yaw orientation only converges towards the correct value within several measurements.

As already mentioned above, we tested our approach for the general n-m mechanism on several static poses . In the static case, the acceleration sensors measure the constant gravity vector of the earth without any disturbances. Under dynamic conditions, however, in addition to the earth’s gravity field, the acceleration sensors also measure the acceleration of the mechanism itself. Since we can also measure the angular velocities by the available gyroscopes, we are able to compensate these erroneous measurements. In particular, by implementing an information filter for fusing the measurement data of the acceleration sensors, the gyroscopes, and the magnetic sensors of the IMUs, the orientations of the linear actuators can be robustly obtained (see, e.g., ).

Figure 4 shows the concept for the pose control of parallel mechanisms associated with the introduced algorithms for solving the direct kinematics problem. Here, a target pose ptarget is defined and compared with the actual pose pis leading to the pose deviation Δp. By using inverse kinematics, we can convert Δp into the required length deviation Δl of the linear actuators and give it to the controller, for example, a PID controller, as input. The controller then generates the control input u for the system that, in turn, produces the system output y. The measurement vector m that includes the raw data of the acceleration sensors, the gyroscopes, and the magnetic sensors is sent to the sensor fusion filter, for example, a Kalman filter. Here, the orientations of the linear actuators and, if necessary, also the orientation of the manipulator platform are calculated. The filter output z is then used to calculate the actual pose of the manipulator platform pis by using the algorithms introduced in Sections 3–6.

Pose control concept for parallel mechanisms using the algorithms from Sections 3–6.

In conclusion, the pose of an n-m parallel mechanism can be determined by only measuring the linear actuators’ orientations and, if necessary, the orientation of the manipulator platform. The accuracy mainly depends on three things: (1) the precision of the used sensors, (2) their calibration and accurate alignment on the linear actuators and the manipulator platform, and (3) whether we have to measure the yaw orientation or not. For a dynamic pose determination, we have to estimate the linear actuators’ orientations by a suitable sensor fusion.

8. Conclusions

We showed that, for n-3-I mechanisms, it is possible to find a unique solution for the direct kinematics problem by only measuring the orientations of the linear actuators. By also including the information about the roll-pitch orientation of the manipulator platform, it is also possible to uniquely solve the direct kinematics problem for n-3-II, n-4, and n-5 mechanisms. Finally, we demonstrated that the most general case of n-6 mechanisms also requires the information about the yaw orientation of the manipulator platform.

We then extended our approach to planar mechanisms and showed that the direct kinematics problem can be uniquely solved by measuring the linear actuators’ orientations and the roll orientation of the manipulator platform.

The results suggest that, in most cases, it is not even necessary to measure the orientations of all six linear actuators. In particular, for n-3-II, n-4, and n-5 mechanisms, additionally to the roll-pitch orientation of the manipulator platform, only the orientations of four linear actuators are needed. By also measuring the yaw orientation of the manipulator platform, the number of required linear actuators’ orientations can be even reduced to two.

The case where only the linear actuators’ orientations are measured is advantageous because, then, the sensors can be placed close to the base platform, thus reducing the wiring effort. Furthermore, only measuring the roll-pitch orientation of the manipulator platform provides better results compared to an additional measurement of the yaw orientation . This is especially advantageous, for example, for milling machines, where the yaw degree-of-freedom is not used.

Our results enable the design of a low-cost sensor system for parallel mechanisms that provides a unique solution of their direct kinematics problem. This concept is particularly important if no information about the previous states of the parallel mechanism is available, for example, if it is switched on in a certain pose. Furthermore, acceleration or magnetic sensors are significantly smaller than the usual sensors for measuring the linear actuators’ lengths, thus allowing for a reduction of moving equipment as well as extending the workspace.

The real-time performance of the proposed sensor concept and the associated closed-form solutions for the direct kinematics problem of parallel mechanisms can be improved by sensor fusion including the information of additional linear actuators’ orientations or sensors.

Conflicts of Interest

The authors declare that there are no conflicts of interest regarding the publication of this paper.

Acknowledgments

This work was supported by the German Research Foundation (DFG) (Grant SCHL 275/15-1). The publication of this work was also supported by the DFG and Hamburg University of Technology (TUHH) in the funding programme “Open Access Publishing.”

Ronga F. Vust T. Stewart platforms without computer? Proceedings of the International Conference on Real Analytic and Algebraic Geometry 1992 Trento, Italy 197 212 MR1320320 Hunt K. H. Primrose E. J. F. Assembly configurations of some in-parallel-actuated manipulators Mechanism and Machine Theory 1993 28 1 31 42 2-s2.0-0027464599 10.1016/0094-114X(93)90044-V Lazard D. Gladwell G. M. L. Angeles J. Hommel G. Kovács P. On the representation of rigid-body motions and its application to generalized platform manipulators Computational Kinematics 1993 28 Dordrecht, The Netherlands Springer 175 181 Solid Mechanics and Its Applications 10.1007/978-94-015-8192-9_16 Zbl0873.70006 Mourrain B. The 40 “generic” positions of a parallel robot Proceedings of the International Symposium on Symbolic and Algebraic Computation July 1993 Kiev, Ukraine 173 182 10.1145/164081.164120 Raghavan M. Stewart platform of general geometry has 40 configurations Journal of Mechanical Design 1993 115 2 277 280 2-s2.0-0027609313 10.1115/1.2919188 Raghavan M. Roth B. Solving polynomial systems for the kinematic analysis and synthesis of mechanisms and robot manipulators Journal of Mechanical Design 1995 117 71 79 2-s2.0-0029321694 10.1115/1.2836473 Husty M. L. An algorithm for solving the direct kinematics of general Stewart-Gough platforms Mechanism and Machine Theory 1996 31 4 365 379 10.1016/0094-114X(95)00091-C 2-s2.0-0000078373 Dietmaier P. The Stewart-Gough platform of general geometry can have 40 real postures Proceedings of the International Symposium on Advances in Robot Kinematics 1998 Strobl, Austria 7 16 MR1643130 Faugère J. C. Lazard D. Combinatorial classes of parallel manipulators Mechanism and Machine Theory 1995 30 6 765 776 2-s2.0-0029356686 10.1016/0094-114X(94)00069-W Merlet J.-P. Parallel Robots 2006 2nd Dordrecht, The Netherlands Springer Geng Z. Haynes L. Neural network solution for the forward kinematics problem of a Stewart platform Proceedings of the IEEE International Conference on Robotics and Automation April 1991 Sacramento, CA, USA 2650 2655 2-s2.0-0025798644 Mimura N. Funahashi Y. New analytical system applying 6 DOF parallel link manipulator for evaluating motion sensation Proceedings of the IEEE International Conference on Robotics and Automation May 1995 Nagoya, Japan 227 233 2-s2.0-0029195348 Boudreau R. Turkkan N. Solving the forward kinematics of parallel manipulators with a genetic algorithm Journal of Robotic Systems 1996 13 2 111 125 2-s2.0-0030083551 10.1002/(SICI)1097-4563(199602)13:2<111::AID-ROB4>3.0.CO;2-W Dasgupta B. Mruthyunjaya T. S. A constructive predictor-corrector algorithm for the direct position kinematics problem for a general 6-6 Stewart platform Mechanism and Machine Theory 1996 31 6 799 811 2-s2.0-0343661782 10.1016/0094-114X(95)00106-9 Gosselin C. M. Parallel computational algorithms for the kinematics and dynamics of planar and spatial parallel manipulators Journal of Dynamic Systems, Measurement, and Control 1996 118 1 22 28 2-s2.0-0001962519 10.1115/1.2801147 Zbl0851.70005 McAree P. R. Daniel R. W. A fast, robust solution to the Stewart platform forward kinematics Journal of Robotic Systems 1996 13 7 407 427 2-s2.0-0030193533 10.1002/(SICI)1097-4563(199607)13:7<407::AID-ROB1>3.0.CO;2-S Zbl0889.70004 Der-Ming K. Direct displacement analysis of a Stewart platform mechanism Mechanism and Machine Theory 1999 34 3 453 465 2-s2.0-0033117164 10.1016/S0094-114X(98)00043-3 Zbl1049.70547 Dhingra A. K. Almadi A. N. Kohli D. A Gröbner-Sylvester hybrid method for closed-form displacement analysis of mechanisms Journal of Mechanical Design 2000 122 4 431 438 10.1115/1.1290395 2-s2.0-0012989285 Hunt K. H. McAree P. R. The octahedral manipulator: geometry and mobility The International Journal of Robotics Research 1998 17 8 868 885 10.1177/027836499801700805 2-s2.0-0032139198 Šika Z. Kocandrle V. Stejskal V. An investigation of properties of the forward displacement analysis of the generalized Stewart platform by means of general optimization methods Mechanism and Machine Theory 1998 33 3 245 253 Stoughton R. Arai T. Optimal sensor placement for forward kinematics evaluation of a 6-DOF parallel link manipulator Proceedings of the IEEE/RSJ International Workshop on Intelligent Robots and Systems 1991 Osaka, Japan 785 790 10.1109/IROS.1991.174577 Cheok K. C. Overholt J. L. Beck R. R. Exact methods for determining the kinematics of a Stewart platform using additional displacement sensors Journal of Robotic Systems 1993 10 5 689 707 10.1002/rob.4620100508 2-s2.0-0027635327 Merlet J.-P. Closed-form resolution of the direct kinematics of parallel manipulators using extra sensors data Proceedings of the IEEE International Conference on Robotics and Automation May 1993 Singapore, Singapore 200 204 2-s2.0-0027242560 Nair R. Maddocks J. H. On the forward kinematics of parallel manipulators The International Journal of Robotics Research 1994 13 2 171 188 10.1177/027836499401300207 2-s2.0-84973748570 Baron L. Angeles J. The direct kinematics of parallel manipulators under joint-sensor redundancy IEEE Transactions on Robotics and Automation 2000 16 1 12 19 2-s2.0-0033871988 10.1109/70.833183 Chiu Y.-J. Perng M.-H. Forward kinematics of a general fully parallel manipulator with auxiliary sensors The International Journal of Robotics Research 2001 20 5 401 414 10.1177/02783640122067462 2-s2.0-0035327190 Hesselbach J. Bier C. Pietsch I. Plitea N. Büttgenbach S. Wogersien A. Güttler J. Passive joint-sensor applications for parallel robots Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems October 2004 Sendai, Japan 3507 3512 2-s2.0-14044270831 Vertechy R. Parenti Castelli V. Accurate and fast body pose estimation by three point position data Mechanism and Machine Theory 2007 42 9 1170 1183 2-s2.0-34250620117 10.1016/j.mechmachtheory.2006.08.010 Zbl1117.70005 Schulz S. Seibel A. Schreiber D. Schlattmann J. Sensor concept for solving the direct kinematics problem of the Stewart-Gough platform Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems September 2017 Vancouver, Canada 1959 1964 10.1109/IROS.2017.8206015 Golub G. H. Van Loan C. F. Matrix Computations 1983 3 Baltimore, MD, USA Johns Hopkins Johns Hopkins Series in the Mathematical Sciences MR733103 Qureshi U. Golnaraghi F. An algorithm for the in-field calibration of a MEMS IMU IEEE Sensors Journal 2017 10.1109/JSEN.2017.2751572 2-s2.0-85030265508 Valenti R. G. Dryanovski I. Xiao J. Keeping a good attitude: a quaternion-based orientation filter for IMUs and MARGs Sensors 2015 15 8 19302 19330 10.3390/s150819302 2-s2.0-84938889549 Madgwick S. O. H. Harrison A. J. L. Vaidyanathan R. Estimation of IMU and MARG orientation using a gradient descent algorithm Proceedings of the IEEE International Conference on Rehabilitation Robotics July 2011 Zurich, Switzerland 179 185 10.1109/icorr.2011.5975346 2-s2.0-80055059186 Yun X. Lizarraga M. Bachmann E. R. McGhee R. B. An improved quaternion-based Kalman filter for real-time tracking of rigid body orientation Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems October 2003 Las Vegas, NV, USA 1074 1079 2-s2.0-0346779083