InTech uses cookies to offer you the best online experience. By continuing to use our site, you agree to our Privacy Policy.

Robotics » Robotics and Automation » "Parallel Manipulators, towards New Applications", book edited by Huapeng Wu, ISBN 978-3-902613-40-0, Published: April 1, 2008 under CC BY-NC-SA 3.0 license. © The Author(s).

Chapter 8

Kinematic Modeling, Linearization and First-Order Error Analysis

By Andreas Pott and Manfred Hiller
DOI: 10.5772/5430

Article top


Platform, legs, and machine frame modules of a generic six-degree-of-freedom parallel kinematic machine
Figure 1. Platform, legs, and machine frame modules of a generic six-degree-of-freedom parallel kinematic machine
Generic model of a spatial six-degree-of-freedom parallel kinematic machine
Figure 2. Generic model of a spatial six-degree-of-freedom parallel kinematic machine
Geometric parameters of the leg-types under consideration
Figure 3. Geometric parameters of the leg-types under consideration
General kinetostatic transmission element
Figure 4. General kinetostatic transmission element
Velocity and force transmission in a chain of kinetostatic transmission elements
Figure 5. Velocity and force transmission in a chain of kinetostatic transmission elements
Planar four-bar mechanism a) with nominal geometry b) with virtual error joint for changes δl2 in length l2 of the coupler
Figure 6. Planar four-bar mechanism a) with nominal geometry b) with virtual error joint for changes δl2 in length l2 of the coupler
Decomposition of the unit twist δti at frame K
Figure 7. Decomposition of the unit twist δti at frame K i
Six-dof parallel kinematic machine Linapod with fixed length legs. Unit forces and torques are applied to the platform.
Figure 8. Six-dof parallel kinematic machine Linapod with fixed length legs. Unit forces and torques are applied to the platform.
Difference between discrete error calculation (exact) and linearization.
Figure 9. Difference between discrete error calculation (exact) and linearization.
Overall error-amplification 
							 for equally distributed errors in all components. The lines mark the used workspace for Linapod.
Figure 10. Overall error-amplification σ ^ for equally distributed errors in all components. The lines mark the used workspace for Linapod.
Minimal eigenvalue λmin [107 Nm-1] of the stiffness matrix of the Linapod.
Figure 11. Minimal eigenvalue λmin [107 Nm-1] of the stiffness matrix of the Linapod.

Kinematic Modeling, Linearization and First-Order Error Analysis

Andreas Pott1 and Manfred Hiller2

1. Introduction

The kinematic analysis of parallel kinematic machines (PKM) is a challenging field, since PKM are complex multi-body systems involving a couple of closed kinematic loops. It is well-known that the forward kinematic function has in general no closed-form solution, and that up to 40 different real solutions may exist for general geometry (Husty, 1996,Dietmaier, 1998). Therefore, an efficient and handy method is needed in practise, e.g. for design, simulation, control, and calibration.

The analysis of manufacturing and assembly errors of manipulators is a topic that is highly relevant for practical applications because the magnitude of these errors is directly coupled to the total cost of production of the manipulator. In this setting, there exist intensive studies on how to estimate the error of certain moving points, e.g. the tool center point, in terms of the errors in the components of the mechanism (Brisan et al., 2002, Jelenkovic & Budin, 2002, Kim & Choi, 2000, Song et al., 1999, Zhao et al., 2002), as well as how to allocate cost-optimal tolerances to a mechanism (Chase et al., 1990, Ji et al., 2000). In this paper, an approach to estimate the first-order influence of geometric errors on target quantities is suggested in which linearization is performed by considering the force transmission of the manipulator. This enables one to obtain a comprehensive model of linearized geometric sensitivities at a low computational cost.

Error analysis for serial manipulators is relatively easy because one can establish an analytical expression for the forward kinematics which maps the generalized joint and link coordinates to the spatial displacements of the end-effector. There are numerous methods to parameterize the forward kinematics, where the approach of Denavit and Hartenberg (1955) is the most popular one. Once one has a closed-form expression for the forward kinematics, one can take derivatives of it (with respect to the geometric parameters one is interested in) and use these as sensitivity coefficients. In general, one introduces the sensitivity parameters in such a way that they vanish at the nominal configuration. This is always possible by introducing corresponding constant offsets where necessary.

For example, consider a robot involving a universal joint, and assume that the sensitivity to errors in the fulfilment of the intersection property of the axes is to be analyzed. This can be done by adding a parameter for the normal distance between the joint axes which is zero in the nominal design, and with respect to which the partial derivative will yield the sought sensitivity. However, such a method for sensitivity analysis results in a model with a significant overhead. Examples of such models for joints are presented (Brisan et al., 2002,Song et al., 1999). Some force-based methods for clearance analysis were introduced, which are similar to the approach in this paper (Innocenti, 1999, Innocenti,2002, Parenti-Castelli & Venanzi, 2002, Parenti-Castelli & Venanzi, 2005).

A linearization method for complex mechanisms using the kinetostatic dualism and the concept of kinematical differentials to efficiently set up the equations of motion of multi-body systems has been proposed (Kecskeméthy & Hiller, 1994). Using this method, all required partial derivatives can be described solely by using the kinematic transmission functions for position and velocity, as well as the force transmission function of the system. Based on these transmission functions, an algorithm is formulated for generating the Jacobian matrix and the equations of motion through multiple evaluations of the kinematic transmission functions for certain pseudo input velocities and accelerations. The corresponding algorithms are denoted as kinematical differentials for the case of the pure kinematic transmission function (Hiller & Kecskeméthy, 1989) and kinetostatic approach for the case of use of force transmission (Kecskeméthy, 1994). Later, Lenord et al. (2003) showed that kinematical differentials may be applied also to more general interdisciplinary systems which also involve hydraulic components by using an exact linearization through the kinematical differentials for the determination of the velocity linearization and numerical differentiation for the calculation of the stiffness matrix of the hybrid system. Other authors studied the determination of the stiffness matrix for complex multi-body systems using explicit symbolic derivatives (El-Khasawneh & Ferreira, 1998, Rebeck & Zhang, 1999), taking into account the stiffness of the actuators and the stiffness of special components. These approaches however require numerous computational steps when many sensitivity parameters are involved.

2. Kinematic modeling of parallel kinematic machines

2.1. Kinematic delimitation and geometry

In order to study a wide range of machine types, a generic approach for the modeling of PKM is proposed (Pott, 2007). Since PKMs tend to be symmetric and different types of PKM have similar components a modular design is used. In a first step the machine is divided into three types of components: frames, platforms and legs (Fig. 1), which form the modules of the kinetostatic code.


Figure 1.

Platform, legs, and machine frame modules of a generic six-degree-of-freedom parallel kinematic machine

The machine frame defines the position and orientation of six pivot points Ai. The mobile platform introduces the position of six pivot point Bi. Furthermore, the platform defines the parameterization of the six-degrees-of-freedom (dof) of spatial motion at the tool center point (TCP). Finally, different types of legs are introduced which mainly determine the kinematic behaviour. The most common legs for PKMs are PUS, UPS and RUS structures each consisting of an actuated prismatic (P) or revolute (R) joint as well as a pair of a universal (U) and a spherical (S) joints. Each of these structures can be described by one scalar constraint, as it is shown hereafter.


Figure 2.

Generic model of a spatial six-degree-of-freedom parallel kinematic machine

Each legs considered in this paper possess a pair of joints formed by a universal joint and a spherical joint. For the analysis of the closed-kinematic chains, these joints are known as characteristic pair of joints (Woernle, 1988). One can remove both of these joints and replace this partial chain by one nonlinear scalar constraint. This constraint describes the geometrical distance between the center of the universal joint and the center of the spherical joint for the i-th leg as

where ai denotes the position vector of the pivot point on the base and bi is the relative position of the pivot point with respect to the coordinate system fixed to the platform. The Cartesian position and orientation of the platform frame KTCP is given by the vector r and the orthogonal matrix R, respectively. The vector li denotes the length of the leg. Solving Eq. (1) for the magnitude li² of the vector li yields the system of six nonlinear constraints

(airRbi)² li= 0    i=1,,6

The world coordinates y consist of a parameterization of the position r and the orientation matrix R. The geometry of the machine is expressed by the vectors ai, bi and li. In the following sections the definition of these vectors is introduced depending on the generalized coordinate qi of the six actuators and the kinematic structure of the basic types of legs for parallel kinematic machines.

The UPS legs are used in the Stewart-Gough-platforms which are often applied for motion simulators of cars and aircrafts. The prismatic joint is actuated as linear actuator, e.g. by a linear direct drive, ball bearing screw, hydraulic/pneumatic cylinder. For these mechanisms the pivot points Ai on the base

are determined by the machine frame and fixed to a given position ci. The length of the strut can be controlled by the drive through

li= q+qo 

where qo is a constant offset.

The PUS leg results from changing the order of the joints within the UPS leg. The universal-spherical pair encloses a leg of constant length while the proximal pivot point is actuated along a line. PUS legs are the basic leg components for Hexaglide, Linaglide and Linapod PKM. They are described by the position vector ci and the direction ui. Thus, the position of the proximal pivot point Ai is defined as

where qi is the generalized coordinate of the drive. The length li=const of the strut is given by design.

Finally, the kinematics of the RUS leg is considered which is the basis of the Delta-robot (Clavel, 1988). In contrast to the PUS leg, the proximal pivot points Ai of RUS legs move a circle defined by its center ci, an axis of rotation ui, and a lever vi which is given in its initial position. Thus, it holds for the point Ai


where T(u, q) is the rotation matrix for the axis u and the angle q as it can be calculated by Rodrigues formula. Again, for RUS legs the length of the strut li=const is given by design.


Figure 3.

Geometric parameters of the leg-types under consideration

2.2. Review of the kinetostatic method

In the sequel, a short introduction to the kinetostatic method (Kecskeméthy, 1993, Kecskeméthy, 1994) is given as a basis for the herewith presented linearization procedure. Below, the basic equations of the kinetostatic transmission element are reviewed for better reference in this paper. Details can be found in the cited papers. In the kinetostatic formalism, mechanical components are modeled as transmission elements (Fig. 4) that map the kinematic state q q˙ q¨ at the input to the kinematic state q' q˙' q¨ at the output and the associated generalized forces Q’ at the output to generalized forces Q at the input. The kinetostatic state is composed of position, velocity, acceleration, and force. A mechanism is divided into joints and links which transmit the state from one set of coordinate frames K i and scalar variables βi to another set {K i',βi'}. This concept allows one to model serial manipulators as chains of transmission elements.


Figure 4.

General kinetostatic transmission element

Interestingly, the motion of closed kinematic loops can also be represented with the help of transmission functions. For simple kinematic loops with one dof, this may be done in an explicit form. In general, however, one has to employ iterative methods to solve the loops. Nevertheless, in both cases one is able to compute the transmission function for position, velocity, acceleration, and force.

Assuming that the position transmission function is given as y=φ(q), where q=[q1, …, qn]T is a set of independent joint variables of the mechanism, the velocity transmission takes the form


For a given set of joint coordinates q, the twist y˙ of the end-effector frame (EEF) is a linear combination of the joint rates q˙ with the columns of the Jacobian Jq acting as coefficient vectors. Assuming ideal transmission behaviour within the transmission element, power is neither generated nor consumed. Thus, virtual work at the input and the output can be set equal, and one obtains

where the virtual displacements fulfil δq'=Jqδq . This yields δqTQ=δqTJqTQ and since this holds for any δq the force transmission takes the form

The relations (7) and (9) for velocity transmission and force transmission is called kinetostatic duality. The basic idea of the kinematical differentials is to evaluate the velocity transmission function φ˙ for pseudo unit velocities q˙^i=[0,...,1,...,0]T with zeros everywhere up to the i-th component in order to identify the i-th column of the Jacobian Jq. Thus, the Jacobian Jq can be determined with n passes of velocity transmission. This method is called velocity-based Jacobian algorithm. By exploiting kinetostatic duality, this algorithm can be analogously applied to force transmission yielding the force-based Jacobian algorithm. Here the Jacobian Jq is computed row-wise by setting unit pseudo forces Q^i=[0,...,1,...,0]T with zeros everywhere besides the i-th component, performing the force mapping (9), and storing the resulting vector of generalized forces Q^i at the input as the i-th row of Jq. Thus, the Jacobian can be computed row-wise by six force transmissions for a general manipulator independently of the number of input parameters. This Jacobian evaluation procedure shall be further exploited here.

The complete kinetostatic formalism is implemented in the object-oriented programming library Mobile that uses the C++ programming language (Kecskeméthy, 1994), and a differential geometric interpretation of the kinetostatics has been given in (Kecskeméthy, 1993).

2.3. Modular modeling of parallel kinematic machines

As already mentioned before, the PKM is subdivided into the modules platform, frame, and legs. These components are the foundation of a modular kinetostatic model, which automatically assembles and solves the system of nonlinear constraints. The expressions introduced for the different legs in section 2.1 can be used to calculate the relative kinematics of the different types of PKM. By means of the kinetostatic method, C++ classes for the elementary components of multi-body systems, i.e. prismatic joints, revolute joints, and rigid bodies as well as the constraint solvers for kinematic loops are used for the modeling. These elements defined the required transmission functions for position, velocity, acceleration, and force. Thus, if the machine can be automatically assembled from these classes, one receives a comprehensive tool for the kinematic analysis of parallel robots.

A class called generic machine assembles a kinetostatic model from the components introduced above. Firstly, the legs is attached to the platform and to the frame. For the forward kinematics the legs provide constraints that characterize which motions can be transmitted. The generic machine assembly module collects the constraints from the legs and the generalized coordinates from the platform in order to combine them to a nonlinear system of equations. Then a numerical procedure like a Newton-Raphson-algorithm is applied to solve the forward kinematics. Once the position of the platform is determined one can use local methods from the legs to calculate the complementary variables of the passive joints in each kinematic loop.

The module frame defines the geometry of the base of the PKM by providing the position and orientation of the coordinate frame K Ci, i=1,…,6. These coordinate frames are connected to the world coordinate system by rigid links. On the other hand, the coordinate frames K Ci are the interface for the legs to be attached to it. The module platform firstly defines the end-effectors frame K P by means of the world coordinates y=[x,y,z,ψ,θ,ξ]T with respect to the world coordinate frame K 0, where x,y,z define the Cartesian position of the end-effector and ψ,θ,ξ are a parameterization of the special orthogonal group SO(3), e.g. by use of Bryant angles. The position of the platform pivot points K Bi, i=1,…,6 can be defined with respect to the frame K P giving the geometry of the moveable platform. This presents a kinetostatic transmission function μ(y) mapping the world coordinates y to the pivot points K Bi. The modules for the legs present the governing properties for the kinematic transmission of the PKM, i.e. by presenting the kinetostatic transmission elements for the joints and the rigid links. The frames K Bi and K Ci act as interfaces to attach the legs to the platform and the base. To solve the forward kinematics each type of leg presents a specific constraint υi(KBi,KCi,qi) which will be used by a central solver for forward kinematics. The constraint υi for the different types of legs basically implements equations (3) – (6). Finally, the legs implement functions to solve for the angles in the passive joints, i.e. computes the orientation of the universal and spherical joints. This can be done in an explicit way by projection techniques that are well-known from solving four-link bar mechanisms.

For the forward kinematic problem one has to determine the platform world coordinates y from given generalized coordinates q. Based on the aforementioned modules the following algorithm can be used for all parallel robots treated in this work:

  1. The module frame calculates the pivot points KCi.

  2. A central constraint solver collects the constraint υi(KBi,KCi,qi) from each leg module. Furthermore, the constraint solver receives the function μ(y) from the module platform. The constraint solver uses these equations to set up the nonlinear system Γ(q, y)=0.

  3. The constraint solver calculates the solution y* for the system Γ(q, y)=0 with a Newton-Raphson-algorithm.

  4. The platform updatest the KBi with μ(y*).

  5. Each leg determines the dependent angles of the passive joints from the known values of (KBi,KCi,qi).

Thus, a comprehensive algorithm for forward kinematics for the Stewart-Gough-platform, the Delta-robot, and Linapod like machines is presented. Note, that by using the kinetostatic methods one also receives these relations in terms of velocity, acceleration, and force. The resulting kinetostatic model can be used for a wide range of functions for kinematic analysis e.g. forward kinematics, calculation of the Jacobian matrix, and dexterity indexes, and equations of motion. The discussion of all these algorithms is out of the scope of the paper. In the following section, the determination of a geometrical linearization will be highlighted.

2.4. Linearization and sensitivity analysis

In this study, the function of the forward kinematics of a multi-body system is denoted by φ (q,g), where q are the generalized independent joint coordinates, and g collects all geometric parameters of the manipulator. The evaluation of the forward kinematics yields the world coordinates y of a particular point of the end-effector of a manipulator together with the orientation of the end-effector, which shall be denoted here as end-effector frame (EEF). For most of the non-serial mechanisms, the function of the forward kinematics φ is not unique, since there may be multiple positions for the EEF that correspond to a given set of generalized joint coordinates q due to different assembly modes. Here, it is assumed that it is possible to choose the solution that corresponds to the actual assembly mode, e.g. by giving appropriate initial conditions. The linearization of the mechanism is formally achieved by taking the derivative with respect to the variables q and g, respectively, i.e. as


Here, quantities δy δq δg denote infinitesimal variations of the aforementioned coordinates, while Jq denotes the well-known Jacobian matrix that is related to the kinematic dexterity of the manipulator. The matrix Jg is also a Jacobian matrix which characterizes the sensitivity of the position y of the EEF with respect to small changes, e.g. errors, in geometric parameters and which is used for sensitivity analysis.

For serial manipulators with n dof, the function φ can be written analytically in terms of the Denavit-Hartenberg-parameters (α,θ,d,a)i (Denavit & Hartenberg, 1955) and the vector of the geometric parameters becomes

g= [α1,θ1,d1,a1,,αn,θn,dn,an]T

Thus, the Jacobian matrices Jq and Jg can be calculated symbolically for serial manipulators. For nontrivial robots, however, the expressions are usually so extensive that they only can be handled by means of computer algebra.

Complex manipulator systems are characterized by the occurrence of closed kinematic loops. Such mechanisms have more joints than degrees-of-freedom, and the joint coordinates are coupled through closure conditions. This implies that the expressions for φ are either complicated, or that φ can only be computed point-wise by the iterative solution of an implicit system of nonlinear constraints the latter being the general case which occurs especially for parallel kinematic mechanisms that involve multiple coupled loops. Closed kinematic loops also occur in transmission mechanisms that can be found for instance in hydraulically driven manipulators like excavators or large scale manipulators, since they support the force transmission.

To overcome the lack of an analytical forward kinematic function for complex manipulators, the loop closure conditions f(y,g)=0 can be utilized for sensitivity analysis; by applying implicit differentiation (see e.g. Wittwer et al., 2004), one obtains


where y=[xT, θT]T are the world coordinates of the end-effector frame, e.g. in form of a position vector x in R³ and the orientation θ holding e.g. Bryant angles, and g are the geometric parameters. Then, one immediately obtains for the variation of the EEF world coordinates δy=A-1Bδg, where the matrix A-1B maps the errors δg in the components to the displacements δy of the EEF (Wittwer et al., 2004).

There are certain drawbacks to this approach: First, for mechanisms with more than three dof, an analytical form of matrix A-1 can hardly be handled due to the length of the corresponding expressions. Second, if sensitivity analysis is established on the closure condition, one cannot access geometric parameters that are canceled ad-hoc through the formulation of the closure conditions. For example, the normal distance between the joint axes in universal joints is often eliminated because the number of closure constraints can be significantly reduced by assuming it to be exactly zero.

2.5. Linearization of manipulator systems


Figure 5.

Velocity and force transmission in a chain of kinetostatic transmission elements

Applying the kinetostatic formalism provides a procedure to calculate position, velocity, acceleration, and force transmission for an arbitrary manipulator. In general, this results in a chain of transmission elements as depicted in Fig. 5, where the individual mapping can also correspond to closed kinematic loops since such loops are also represented by transmission elements. In this figure, a twist tiT=[ωiT,viT] denotes the combination of an angular velocity ωi of a frame K i and its corresponding velocity vi of its origin, both decomposed in some frame. A wrench wiT=[miT,fiT] is composed of an applied moment mi at the frame K i and an applied force fi at its origin, again decomposed in some frame. Given a certain set of joint coordinates q, one can introduce a virtual twist displacement δtiT=[δφiT,δriT] at the frame K i, where δri is a virtual translational displacement and δφi is an infinitesimal rotational increment in the space of rigid-body rotations, and study the corresponding virtual twist displacement δtN at the EEF K N. This linear relation is given by


where Ji denotes the Jacobian of the velocity transmission from frame K i-1 to the frame K iUsing kinematical differentials (Sec. 2.2) one calculates the Jacobian J^i+1 which contains the sensitivity of the frame K N with respect to displacements in K iand then concatenates the matrices J^iT for the sought matrix JgT=[J^1T,J^2T,...,J^NT] . Thus, for a comprehensive linearization, one needs six passes of the velocity transmission function for each J^iT and hence 6N passes for the whole manipulator.

In contrast, one can evaluate the force transmission function, relating the wrench wN at the EEF to the internal wrenches wiT=[miT,fiT] at the intermediate frames K i, where mi represents the moment being applied to the frame K i from the base-distal subchain to the base-proximal subchain, and fi is the corresponding force with respect to the origin. Due to kinetostatic duality, one obtains


The force transmission presents the major advantage that one can use wi+1 to determine J^i . Therefore, only 6 passes of the force transmission are needed to calculate the complete Jacobian Jg. This leads to the following simple algorithm to determine the sensitivity Jacobian Jg:

  1. Solve the forward kinematics for the desired set of joint coordinates q of the manipulator

  2. Choose unit forces Fx, Fy,Fz and unit torques Mx, My, Mz with |Fx|=|Fy|=…=|Mz|=1 along the axes x, y, z of the EEF, respectively.

  3. For each of the unit loads described above, perform the following steps:


Figure 6.

Planar four-bar mechanism a) with nominal geometry b) with virtual error joint for changes δl2 in length l2 of the coupler

2.6. Virtual error joints

The relations in the previous section can be intuitively illustrated by virtual error joints which were introduced by Woernle (1988) and extended by Pott and Hiller (2004). The basic idea is to insert additional independent joints which allow motion in the direction of the expected errors. Fig. 6a presents a mechanism that involves a kinematic loop. For this planar four-bar mechanism, one might wish to investigate the influence of changes in length of the coupler. One introduces an additional prismatic joint in which the variation of the length of the coupler is embodied (Fig. 6b) and the influence of changes in length of the coupler can be calculated by using the velocity transmission. The algorithm in Sec. 2.5 can also be derived using this model (Pott & Hiller, 2004), where the virtual error joints are used to measure the back-propagated forces.

Based on the linearization algorithm described above, a number of applications can be investigated, as described next.

3. Applications

3.1 Manufacturing error analysis

The Jacobian matrix Jg permits to study the influence of geometric errors on the accuracy of the EEF. These errors may arise from the manufacturing and assembly process of the manipulator. They cannot be avoided, but may be controlled through more precise, but at the same time more expensive manufacturing techniques. Consequently, a comprehensive analysis of the influence of changes in parameters is useful for optimal system design. This analysis is basically done evaluating the Jacobian Jg mapping parameter variations δg to the displacement δy of the EEF. The magnitude of geometric errors δgi is normally small compared to the nominal parameter δgi. Therefore, the error estimated by the linear model is very close to the error calculated with the generally nonlinear model (Sec. 4.2).

For different manipulators of the same type, the actual kinematic parameters may vary within the tolerance intervals defined by the manufacturing and assembly process. Here, it is assumed that the actual errors are Gaussian variables with a standard deviation proportional to the tolerance. The changes in parameters are assumed to be small and independent. Thus, the square of the total error is equal to the sum of squares of the single errors obtained by propagation of the manufacturing, clearance, and assembly errors.

For the addition of two Gaussian variables, the standard variation of the sum becomes σ=σ12+σ22 , where σ1, σ2 denote the standard deviations of each summand. In the case of a three-dimensional vector, the total error becomes Δe2=ex2+ey2+ez2 where ex,ey,ez are the errors in the three components. For the columns of the Jacobian, one has to mix rotational and translational components. This requires the introduction of metric coefficients that relate rotations to translations and vice versa. Such metric coefficients can be regarded as virtual levers that map rotations at one end to translations at the other and thus generate sensitivities such as “long and slender” (orientations over-emphasized) or “short and thick” (rotations under-emphasized). Assuming that standard deviations σi are known for all geometric parameters, the error of the EEF becomes


where [Jg]ik denote the entries of the Jacobian and ρk are the aforementioned metric coefficients. For the case of an identical standard deviation σ for all components σi one obtains


Here, σ^ is referred to as the overall error amplification index since it estimates the sensitivity of the whole manipulator at a given configuration with respect to geometric errors. This index is similar to the statistical approach to error analysis of Wittwer et al. (2004).

If a certain accuracy is required for a specific task, the maximal error Δemax of the EEF is known and one can estimate the average standard deviation σ= Δemax/ σ^ that is needed for the geometric parameters. This is illustrated in example Sec. 4.2.

3.2. Stiffness analysis

The linearization of a manipulator with respect to its geometric parameters provides a linear mapping between infinitesimal changes in the geometry and infinitesimal variations of the EEF. Assume Jg to be the Jacobian transmitting infinitesimal twists δti at each of the frames K i to infinitesimal twists δtEEF at the end-effector frame K EEF. Moreover, denote by δwEEF a small wrench being applied to the end-effector frame K EEF and by δwi the corresponding wrenches at the frames K i ensuring static equilibrium. The Jacobian Jg can be used to set up the stiffness matrix of the mechanism as follows. As pointed out in section 2.2, by equivalence of virtual work it holds


where δtg=[δt1,1, δt1,2,…,δtN,6]T collects all virtual variations of the geometric parameters and δwg =[δw1,1, δw1,2,…,δwN,6]T are the respective internal forces. Here, each δti is decomposed in its six elementary components δti,1,…,δti,6, where δti,1, δti,2, δti,3 are elementary infinitesimal rotations and δti,4, δti,5, δti,6 are elementary translations with respect to the coordinate frame axis (Fig. 7). Similarly, the wrench δwi =[δwi,1,…,δwi,6]T is set up. Assuming that each elementary infinitesimal twist component δti,j produces a corresponding infinitesimal wrench component δwi,1 by means of an associated linear spring with stiffness coefficient ki,j, one obtains

Kg1δwgT=δtg with

Figure 7.

Decomposition of the unit twist δti at frame K i

Note that this assumption is a simplification of the structural properties of a general mechanical component that applies to many technical applications (slender bars, joints, etc.). The generalization to a full generic model is accomplished by a stiffness matrix in which all coefficients may be non-zero and which may be obtained from finite element analysis. This generalization is not further pursued here as is bears no new insight and is not required for the examples treated in this paper. A generalization is conceivable as a later step. On the other hand, it holds


where KEEF is the sought stiffness matrix at the EEF. Substituting Eq. (18) and Eq. (19) into Eq. (17) and using the global force transmission δwg=JgT=δwEEF gives


Since this equation holds for any δwEEF, it follows


Thus, the Jacobian Jg can be used to transform the stiffness coefficients ki,j of the geometric parameters contained in the stiffness matrix Kg to the global stiffness matrix KEEF.

4. Examples

In this section, the proposed linearization technique is applied to analyze a six-dof parallel kinematic machine where no closed-form solution for the forward kinematics is possible.

4.1. Error analysis for a parallel kinematic manipulator

This example considers the six-dof parallel kinematic machine tool Linapod (Pritschow et al. 2004; Wurst, 1998) installed at the Institute for Control Engineering of Machine Tools and Manufacturing Units at the University Stuttgart (Germany), see Fig. 8. Six rigid links connect the mobile platform to the fixed frame with spherical/universal joints. The pivot points on the frame are actuated by linear drives moving parallel to the z-axis. The nominal position lies in the center of the workspace. Errors in the length of every leg are assumed to be small. Applying the algorithm from section 2.5, the sensitivity matrix Jg for errors in the length of the bar can be established. To this end, the forward kinematic problem is solved to obtain the position ri and the direction ui of each of the six legs with respect to the EEF (Fig. 3b). The calculation of the internal forces in the bars from force equilibrium conditions is carried out by applying unit forces and torques (Fig. 8) to the EEF resulting in the matrix equation


where fi=fiui are the leg forces, respectively, and χi=ui×ri . The resulting Jacobian becomes JgT=A1 . With the geometric parameters of Linapod (see Tab.1) the Jacobian Jg becomes


Figure 8.

Six-dof parallel kinematic machine Linapod with fixed length legs. Unit forces and torques are applied to the platform.

leg ia i b i u i l i q i
1[ 0.250, 0.886, 0.0][-0.126, 0.180, 0.2][0,0,1]1.251.221
2[-0.780, -0.421, 0.0][-0.093, -0.199, 0.2][0,0,1]1.251.221
3[ 0.755, -0.465, 0.0][ 0.219, 0.019, 0.2][0,0,1]1.251.221
4[-0.250, 0.886, 0.0][ 0.115, 0.164, 0.4][0,0,1]1.701.933
5[-0.755, -0.465, 0.0][-0.199, 0.017, 0.4][0,0,1]1.701.933
6[ 0.780, -0.421, 0.0][ 0.085, -0.181, 0.4][0,0,1]1.701.933

Table 1.

Geometrical Parameters for the PKM Linapod at its home position.


Figure 9.

Difference between discrete error calculation (exact) and linearization.

Assuming that the length error for all bars is Δe=ε[1,1,1,1,1,1]T with ε =10µm, the total position error is |ΔeEEF|=11.528µm. This matches the exact solution using the nonlinear forward kinematics up to nine digits. In Fig. 9, the effect of variations of the scaling factor on the difference Δe between linearized and exact model is illustrated. As it can be verified, the approximation is accurate up to a geometric error of about ε =1mm. Still, for ε=10mm the relative error is only about 1%, which is still enough for most applications. This shows that the linearization procedure described in this paper is sufficient for most practical applications.

4.2. Accuracy of the Linapod

In this section, the geometric accuracy of the PKM Linapod is analyzed with the force-based method. Assuming errors in every component of the mechanism, the sensitivity matrix Jg contains 126 columns corresponding to the individual geometric parameters. Orientation errors are ignored as these errors are negligible with respect to the translational errors. In Fig. 10 the overall error amplification index according to Eq. (16) is plotted over the workspace. It is recognized from the diagram that the error amplification has its minimum in the center of the workspace, and that the error distribution is roughly circular. It is interesting to observe that changes in the overall error amplification are relatively small from about σ^ =4.485 in the center to σ^ =5 on the border.


Figure 10.

Overall error-amplification σ^ for equally distributed errors in all components. The lines mark the used workspace for Linapod.

Presuming a required accuracy of Δemax=10µm which is typical for machine tools, this results in an average standard deviation of σ¯ =2µm which is essential to reach the given accuracy. One can conclude that it is not possible to manufacture and assemble the machine with state-of-the-art techniques and reasonable effort at this tolerance level. Therefore, additional steps like calibration are required to ensure the fulfilment of manufacturing requirements.

4.3. Calculation of the stiffness matrix of the parallel robot Linapod

As shown is Sec. 3.2, the Jacobian Jg can be used for the calculation of the geometric error stiffness matrix. The stiffness coefficients related to elementary geometric variations of a frame are set as kl = 8.8e7 Nm-1 for the lower and ku=6.0e7 Nm-1 for the upper leg. Furthermore, elasticity in the linear drives is taken into account with a spring constant kd=8.13e8 Nm-1. For the calculations, only the translational part of the stiffness matrix is taken into account in order to avoid mixing translational and rotational parts. The resulting stiffness behavior of the Linapod is depicted in Fig. 11 by plotting the minimal eigenvalue of the stiffness matrix over the workspace. As it can be seen, the maximum stiffness property is achieved at the home configuration, with softer values farer away of the home configuration.


Figure 11.

Minimal eigenvalue λmin [107 Nm-1] of the stiffness matrix of the Linapod.

AlgorithmAll parametersOptimized for Linapod
Time (ms)Relative TimeTime (ms)Relative Time
numerical differentiation163.9268.8712.315.17
velocity-based Jacobian52.1321.904.331.82
force-based Jacobian2.381.002.381.00

Table 2.

Performance of different algorithms implemented in Mobile on an AMD Athlon 1GHz for the error analysis of all 252 parameters for Linapod. Relative times compared to force-based Jacobian.

4.4. Computational considerations

In this section, the computational effort of different algorithms to calculate the sensitivity matrix Jg is compared. The total cost of an algorithm for the error analysis depends on the number of kinematic evaluations, while the administrative overhead e.g. copying and storing the results can be neglected. For the numerical differentiation approach, one needs one evaluation to solve the nominal forward kinematics and one evaluation of the position forward kinematics for each geometric parameter that is considered. The total numerical effort depends on the number of targeted geometric parameters. The velocity-based method (Pott et al., 2007) needs one evaluation of the velocity forward kinematics for each parameter. The force-based approach needs six evaluations of the force transmission. In Tab.2 the computational times of Mobile (Kecskeméthy, 1994) are listed. It can be seen that the numerical differentiation approach needs more time than the velocity-based method, although both need the same number of forward kinematic evaluations. The force-based method needs even less time than the velocity-based method.

5. Conclusions

The contribution describes a general method for kinematic modeling of many wide-spread parallel kinematic machines, i.e. for the Stewart-Gough-platform, the Delta-robot, and Linaglide machines. The kinetostatic method is applied for a comprehensive kinematic analysis of these machines. Based on that model, a general method is proposed to compute the linearization of the transmission behaviour from geometric parameters to the end-effector motion of these machines. By applying the force transmission method, one can perform a linearization with respect to all geometric parameters, for parallel kinematic machines. Especially in cases where no closed-form solution for the forward kinematics is available, the force-based approach provides an efficient procedure for obtaining the linear equations. The method can be directly applied to the presented kinetostatic models of the manipulator and permits also to study parameters that are canceled in the closure conditions. The linear model is used for error analysis and calculation of the stiffness matrix. The algorithm provides a good numerical performance and can be applied to practical examples.

6. Acknowledgements

This work was partly funded by the German Research Foundation (Deutsche Forschungsgemeinschaft) under HI370/19-2 and HI370/19-3 as part of the priority program SPP1099 Parallel Kinematic Machine Tools.


1 - C. Brisan, D. Franitza, M. Hiller, 2002 Modeling and Analysis of Errors for Parallel Robots, In: Proceedings of the Kolloquium of SFB 562 83 96 , Braunschweig, Germany.
2 - K. W. Chase, W. H. Greenwood, B. G. Loosli, L. F. Hauglund, 1990 Least Cost Tolerance Allocation for Mechanical Assemblies with Automated Process Selection. Manufactoring Review, 3 1 49-59
3 - R. Clavel, 1988 Delta, a Fast Robot with Parallel Geometry, In: 18th Int. Symp. on Industrial Robot, 91 100
4 - J. Denavit, R. Hartenberg, 1955 A Kinematic Notation for Lower Pair Mechanisms Based on Matrices. Mechanisms Based on Matrices, 77
5 - P. Dietmaier, 1998 The Stewart-Gough Platform of General Geometry can have 40 Real Postures, In: Advances in Robot Kinematics, 7 16 , Kluwer Academic Publishers, Dordrecht
6 - B. S. El -Khasawneh, P. M. Ferreira, 1994 Computation of Stiffness and Stiffness bounds for Parallel Link Manipulators. International Journal of Machine Tools and Manufacture, 39 321-342
7 - M. Hiller, A. Kecskeméthy, 1989 Equations of Motion of Complex Multibody Systems Using Kinematical Differentials, Transactions of the Canadian Society of Mechanical Engineering, 13 4 113-121
8 - M. L. Husty, 1996 An Algorithm for Solving the Direct Kinematic of Stewart-Gough-type Platforms. Mechanism and Machine Theory, 31 4 365-380
9 - C. Innocenti, 1999 A Static-Based Method to Evaluate the Effect of Joint Clearances on the Positioning Errors of Planar Mechanisms, In: Tenth World Congress on the Theory of Machines and Mechanisms, Oulu, Finland
10 - C. Innocenti, 2002 Kinematic Clearance Sensitivity Analysis of Spatial Structures with Revolute Joints. Transactions of the ASME, 124 52-57
11 - L. Jelenkovic, L. Budin, 2002 Error Analysis of a Stewart Platform based Manipulators, In: 6th International Conference on Intelligent Engineering Systems, 83 96 , Opatija
12 - S. Ji, X. Li, Ma Y. , H. Cai, 2000 Optimal Tolerance Allocation Based on Fuzzy Comprehensive Evaluation and Genetic Algorithm. International Journal of Advanced Manufacturing Technology, 16 461-468
13 - A. Kecskeméthy, 1993 Objektorientierte Modellierung der Dynamik von Mehrkörpersystemen mit Hilfe von Übertragungselementen, Fortschritt-Berichte VDI, Reihe 20, Nr. 88, VDI Verlag, Düsseldorf
14 - A. Kecskeméthy, 1994 Mobile- User’s Guide and Reference Manual, Fachgebiet Mechatronik, University Duisburg-Essen
15 - A. Kecskeméthy, M. Hiller, 1994 An Object-Oriented Approach For An Effective Formulation of Multibody Dynamics. Computer Methods in Applied Mechanics and Engineering, 115 287-314
16 - H. S. Kim, Y. J. Choi, 2000 The Kinematic Error Bound Analysis of the Stewart Platform. Journal of Robotic Systems, 17 1 63-73
17 - O. Lenord, S. Fang, D. Franitza, M. Hiller, 2003 Numerical Linearisation Method to Efficiently Optimize the Oscillation Damping of an Interdisciplinary System Model. Multibody System Dynamics, 10 201-217
18 - V. Parenti-Castelli, S. Venanzi, 2002 A New Deterministic Method for Clearance Influence Analysis in Spatial Mechanisms, In: Proceedings of ASME International Mechanical Engineering Congress, New Orleans, Louisiana
19 - V. Parenti-Castelli, S. Venanzi, 2005 Clearance Influence Analysis on Mechanisms. Mechanism and Machine Theory, 40 12 1316-1329
20 - A. Pott, M. Hiller, 2004 A Force Based Approach to Error Analysis of Parallel Kinematic Mechanisms, In: Advances in Robot Kinematics, 293 302 , Kluwer Academic Publishers, Dordrecht
21 - A. Pott, 2007 Analyse und Synthese von Werkzeugmaschinen mit paralleler Kinematik, Fortschritt-Berichte VDI, Reihe 20, Nr. 409, VDI Verlag, Düsseldorf
22 - A. Pott, A. Kecskeméthy, M. Hiller, 2007 A Simplified Force-Based Method for the Linearization and Sensitivity Analysis of Complex Manipulation Systems. Mechanism and Machine Theory, 42 11 1445-1461
23 - G. Pritschow, T. Boye, T. Franitza, 2004 Potentials and Limitations of the Linapod’s Basic Kinematic Model, Proceedings of the 4th Chemnitz Parallel Kinematics Seminar, 331 345 , Verlag Wissenschaftliche Scripten, Chemnitz
24 - E. Rebeck, G. Zhang, 1999 A method for evaluating the stiffness of a hexapod machine tool support structure. International Journal of Flexible Automation and Integrated Manufacturing, 7 149-165
25 - J. Song, J. I. Mou, C. King, 1999 Error Modeling and Compensation for Parallel Kinematic Machines, In: Parallel Kinematic Maschines, 172 187 , Springer-Verlag, London
26 - J. W. Wittwer, K. W. Chase, L. L. Howell, 2004 The Direct Linearization Method Applied to Position Error in Kinematic Linkages. Mechanism and Machine Theory, 39 7 681-693
27 - C. Woernle, 1988 Ein systematisches Verfahren zur Aufstellung der geometrischen Schließbedingungen in kinematischen Schleifen mit Anwendung bei der Rückwärtstransformation für Industrieroboter, Fortschritt-Berichte VDI, Reihe 18, Nr. 18, VDI Verlag, Düsseldorf
28 - K. H. Wurst, 1998 Linapod- Machine Tools as Parallel Link System in a Modular Design, Proceedings of the 1st European-American Forum on Parallel Kinematic Machines, Milan, Italy
29 - J. W. Zhao, K. C. Fan, T. H. Chang, Z. Li, 2002 Error Analysis of a Serial-Parallel Type Machine Tool. International Journal of Advanced Manufacturing Technology, 19 174-179