Model-Based Control for Industrial Robots: Uniform Approaches for Serial and Parallel Structures

Nowadays, there are still two major challenges for industrial robotics in automated production. These are enhancing manufacturing precision and reducing cycle-times. Beside the advances made in the classic robotics over the last decades, new technologies are emerging in the industrial field aiming more flexible high-speed and accurate manufacturing. Robots with parallel structures are attracting the attention of automati on industry as an innovative product with high dynamic potentials. Such robots, like the tricpet are integrated nowadays by BMW, Volvo or Airbus in their manufacturing lines. Compared to each other, the classic serial (or open) chain robots and the parallel (or closed) chain robots have their specific benefits and suffer from own drawbacks. The proposed chapter gives a comparison of the two types in the scope of their suitability for solving modern problems in industrial robotics. Additionally, appropriate approaches are proposed to remove drawbacks of classic industrial control solutions. Hereby, it is focussed on model-based strategies for ameliorating control accuracy at high dynamics and therefore to expose solutions towards high-speed automation. One of the main purposes of the proposed chapter is to contribute to extending the state of the art in industrial robotics by the innovative class of parallel robots. Furthermore, classic and advanced model-based control approaches are discussed for both robot types. Uniform methodologies for both classes are given. It is focused on crucial issues for practical application in the industrial filed. The first aspect is surely the modelling of kinematics (see section 2) and dynamics (see section 3) for serial and parallel robots. Here, an opposite duality in formalism is shown. By appropriate choice of minimal coordinates and velocities, the inverse dynamics of the two robot classes can be derived by the principle of virtual power. This yields computational highly efficient models that are well appropriate for real-time applications. Since the success of such feedforward control depends on the estimation quality of the model parame


Introduction
Nowadays, there are still two major challenges for industrial robotics in automated production. These are enhancing manufacturing precision and reducing cycle-times. Beside the advances made in the classic robotics over the last decades, new technologies are emerging in the industrial field aiming more flexible high-speed and accurate manufacturing. Robots with parallel structures are attracting the attention of automation industry as an innovative product with high dynamic potentials. Such robots, like the tricpet are integrated nowadays by BMW, Volvo or Airbus in their manufacturing lines. Compared to each other, the classic serial (or open) chain robots and the parallel (or closed) chain robots have their specific benefits and suffer from own drawbacks. The proposed chapter gives a comparison of the two types in the scope of their suitability for solving modern problems in industrial robotics. Additionally, appropriate approaches are proposed to remove drawbacks of classic industrial control solutions. Hereby, it is focussed on model-based strategies for ameliorating control accuracy at high dynamics and therefore to expose solutions towards high-speed automation. One of the main purposes of the proposed chapter is to contribute to extending the state of the art in industrial robotics by the innovative class of parallel robots. Furthermore, classic and advanced model-based control approaches are discussed for both robot types. Uniform methodologies for both classes are given. It is focused on crucial issues for practical application in the industrial filed. The first aspect is surely the modelling of kinematics (see section 2) and dynamics (see section 3) for serial and parallel robots. Here, an opposite duality in formalism is shown. By appropriate choice of minimal coordinates and velocities, the inverse dynamics of the two robot classes can be derived by the principle of virtual power. This yields computational highly efficient models that are well appropriate for real-time applications. Since the success of such feedforward control depends on the estimation quality of the model parame-Source: Industrial-Robotics-Theory-Modelling-Control, ISBN 3-86611-285-8, pp. 964, ARS/plV, Germany, December 2006, Edited by: Sam Cubero Open Access Database www.i-techonline.com ters, appropriate strategies for experimental identification are provided in section 4. Thereby, two main categories of procedures are discussed: direct and indirect identification. The direct procedure tries to estimate model parameters from measurements achieved by one optimized trajectory. Indirect identification uses standard Point-to-Point motions that are distributed within the workspace. The choice of the method in praxis depends on the used control hardware and sensors. Each approach has own advantages and drawbacks for the here discussed two classes of robotic manipulators. In section 5, further enhancement of control accuracy are demonstrated by providing pre-correction techniques, like iterative learning control, training or nonlinear pre-correction. Such powerful tools are highly appropriate for manufacturing or automation tasks that are repeated over and over. Furthermore, it is advantageous not only due to the simple requirement of standard position-correction interface but because complex modeling of disturbances is not necessary. The methodology is exposed uniformly for serial and parallel robots. Practical issues and some differences are pointed out. Experimental results prove than the suitability and effectiveness of the proposed methods for the studied classes of robots. All proposed approaches are substantiated by experimental results achieved on three different robots: the Siemens Manutec-r15, the KUKA KR15 and the prototype PaLiDA as a parallel robot. The chapter is closed with conclusions and an outlook on the possible future of industrial robotics.

Kinematic Analysis
To enable giving uniform approaches for serial and parallel robots, elementary assumptions and definitions at the formal level have to be revised. As mentioned in the introduction, we will concentrate on the case of industrial relevant robotic systems, i.e. 6 = n -DOF non redundant mechanisms. Both mechanisms are supposed to have a n actuated joints grouped in the vector a q , that defines the actuation space A. Additionally, passive joints are denoted by p q . Both vectors can be grouped in the joint vector [ ] T T p T a q q q = that correspond consequently to the joint space Q. The operational or work-space W of an industrial robot is defined by the 6-dimensional pose vector x containing the position and orientation of the end-effector (EE) with respect to the inertial frame. Let the vector z now denotes the generalized (or minimal) coordinates, which contains the independent coordinates that are necessary to uniquely describe the system. Its dimension coincides therefore with the number of DOF's (Meirovitch, 1970;Bremer, 1988) and it defines the configuration space C. Already at this formal level, important differences between serial open-chain robots and parallel closed-chain robots are necessary to consider. For classic industrial robots, the case is quite simple and well known. Such systems do not have passive joints, the actuated joints correspond to the minimal coordinates, which yields the coincidence of almost all coordinate spaces: aa qq QA a n d zq q CQA . = ⇒ ≡= = ⇒ ≡≡ The case of 6-DOF parallel robot is more complicated. The pose vector x defines uniquely the configuration of the system. Besides the robot contains passive joints (Merlet, 2000) aa zx CW a n d qq , q z CQA = ⇒ ≡≠ ≠ ⇒ ≠≠ Consequently, more transformations have to be considered while operating parallel robots. A more serious issue in industrial praxis is that the configuration of parallel robots can not be directly measured, since only the positions of actuated joints are available. It is than necessary to consider this limitation in control issues. To keep uniform handling of both robotic types, it is recommended to focus on the configuration space defined by z . From this point of view the most important notions of kinematics are revisited in the following. The interested reader may be referred to standard books for deeper insight (Tsai, 1999;Sciavicco & Siciliano, 2000;Angeles, 2003;Merlet, 2000;Khalil & Dombre, 2002)

Kinematic Transformations
In robotics, the motion of each link is described with respect to one or more frames. It is though necessary to define specifications to transform kinematic quantities (positions, velocities and accelerations

T ) between two adjacent links
1 i − and i , it is recommended to use the modified DENAVIT-HARTENBERG-notation (or MDH), that yields unified formalism for open and closed-chain systems (Khalil & Kleinfinger, 1986;Khalil & Dombre, 2002). We obtain: which is a function of the MDH-parameters i ϑ , i d , i α and i a (Khalil & Kleinfinger, 1986 . The Tilde-operator (~) defines the cross product

Direct and Inverse Kinematics
Industrial applications are characterized by being defined in the operational space W, whereas the robot is controlled in the actuation space A. It is therefore necessary to define and to calculate transformations between the two spaces. Calculating the resulting robot poses from given actuator positions correspond to the direct (or forward) kinematic transformation: Reciprocally, the inverse (or backward) kinematic transformation is used to obtain actuator positions from a given robot pose: We mentioned above, that only the minimal coordinates describe the system uniquely. Consequently, only the transformations having the argument set be- ing the configuration space can be computed or given in a closed form. This fact explains, that the solution of the inverse problem is quite simple and available analytically for parallel robots ( ) . Whereas the solution of the forward kinematics can be generally obtained only in a numerical way (Tsai, 1999;Merlet, 2000). In contrast, the forward kinematics can be easily obtained for serial-chain robots ( ) , whereas the inverse problem is generally cumbersome to solve. As it will be discussed in following sections, such systeminherent properties have an important impact on the practical implementation of control. E.g. the well-known computed-torque feedback approach is not suitable for parallel robots, since the minimal coordinates x z = can not be measured. being defined according to the Roll-Picth-Yaw (RPY) Eulerconvention (Tsai, 1999;Sciavicco & Siciliano, 2000). The homogeneous trans-

Differential Kinematics
The differential kinematics maps the velocity of the end-effector into the velocity of the actuated joints a q and vice versa. It is necessary to relate a desired motion in the task-space to the necessary motion of the actuated joints. This is achieved by the jacobian matrix a n a, 1 a, n a, The analytical Jacobian A J relates the time derivative of the pose vector to the articulated velocities. Since the orientation vector π is composed of pseudocoordinates, whose time derivative has no physical meanings (Bremer, 1988, Meirovitch, 1970 it is convenient to define the rotational velocities of the endeffector in respect to the fixed frame: and therefore the definition of the geometric jacobian matrix J: By regarding eq. (7) it is obvious that the analytic derivation of the jacobian is only available, when the direct kinematic solution ( ) a q f is given in a closed form. This is the case for classic open-chain robots, whereas for parallel robots, the inverse jacobian 1 − J is available (Merlet, 2000). For such mechanisms, the jacobian is obtained by numerical inversion of its analytically available inverse (Merlet, 2000;Abdellatif et al., 2005a). The mobility of robots depends on the structure of the related jacobian that describes the velocity and also the force transmission between the operational space and the actuation space. It is well known, that singularities occur at configurations, when the jacobian loses its rank The study of singularities is omitted in this paper. The interested reader may be referred to standard and excellent literature in this area (Gosselin & Angeles, 1990;Sciavicco & Siciliano, 2000;Merlet, 2000;Bonev, 2002). It is now necessary to define further quantities to describe the motion of robotic manipulators. In analogy to the generalized coordinates, the generalized velocities are introduced (Meirovitch, 1970;Bremer, 1988) and are denoted by s . They always present a linear combination of the time-derivatives of the generalized coordinates z . The simplest case is when these combinations correspond to the identity: This is the case of classic open-chain robots: a q s = . For parallel manipulators, the end-effector's velocities are chosen to be the generalized coordinates: . This formal property has also an important impact in the practice. The symbolic derivation of the Lagrangian equations of motions becomes very messy for parallel robots, such that its implementation in real-time control systems is very restrictive (Tsai, 1999). The last fundamental step of our revised kinematic analysis is the definition of limb's jacobians i T J and i R J that relate its translational and its angular velocities to the generalized velocities of the robot, respectively: The use of the modified DENAVIT-HARTENBERG-notation allows also a recursive calculation of the limb's jacobians: The next subsection demonstrates the efficiency and uniformity of the proposed method for deriving the kinematics of a serial and a parallel industrial robot.

Serial Manipulators: Case Study KUKA KR15
The direct kinematics of serial-chain robots is straight forward. The transformation matrix can be calculated by starting from the base and evaluating the single This can be deduced by using the MDH-notation and the recursive formulae given above. Although the solution of the inverse kinematics is generally hard to obtain for open-chain mechanisms, industrial robots are characterized by simple geometry, such that a closed-form solution exists. This is the case here, where the three last revolute joint axes intersect at a common point (spherical wrist) (Sciavicco & Siciliano, 2000).

Parallel Manipulators: Case Study PaLiDA
The general method of calculating the inverse kinematics of parallel robots is given by splitting the system into a set of subchains. The structure is opened and separated into "legs" and an end-effector-platform. Hereby the enclosure constraints have to be calculated, which are the vectors connecting Thus, every chain can now be regarded separately as a conventional openchain robot with a corresponding end-effector position at Parameters are defined for each subchain and the direct kinematics is solved as described above. Since we consider non-redundant mechanisms, the resulting serial chains are very simple, such that a closed form solution always exists. For the studied case PaLiDA, the definition of the MDH-parameters and frames are depicted in Figure 2. The solution of the full inverse kinematics is obtained by which are quite simple equations. The differential kinematics can be deduced analytically for the inverse problem by the inverse jacobian: Many methods are proposed in the literature for calculating the inverse jacobian. We propose here the most straight-forward way in our case. Every single chain j corresponds to the th j raw of the inverse jacobian: The velocities of the points j B can be obtained by simply differentiating the constraint equation (14):  As conclusions, we can retain that the formal differences between parallel and serial robots have to be taken into account. A unified approach can be given if the notions of minimal coordinates and velocities are kept in mind. The MDHnotation provide the same procedure when solving kinematics for both robotic types. For parallel robots it is sufficient to formulate the constraint equations.
Hereafter the mechanism is separated into serial subchains that can be treated exactly as any other open-chain manipulator.

Efficient Formulation of Inverse Dynamics
Model-based and feedforward control in industrial robotics requires computational efficient calculation of the inverse dynamics, to fulfill real-time requirements of standard control systems. The real-time calculation of the desired actuator forces a Q depends on the used approach for the derivation of the inverse Model. For the sake of clarity we concentrate first on rigid-body dynamics. The corresponding equations of motions for any manipulator type can be derived in the following four forms: where a Q being the vector of actuation forces. The massmatrix is denoted by M . The vectors c and g contain the centrifugal and Coriolis, and the gravitational terms, respectively. The vector N includes implicitly c and g . Analogically, the vector ( ) includes implicitly all terms of rigid-body dynamics. We notice here, that the index 'a' is used to distinguish the quantities that are related to the actuation space. A trivial but very important remark is that all model forms have in common, that the inputs are always given in the configuration space by z , s and s , whereas the outputs are always given in the actuation space: a Q . Although, equations (21-24) yield exactly the same results, they are very different to derive and to calculate. Although eq. (23) is the most computational intensive form, it is very reputed in robotics because it is highly useful for control design and planning. The case of open-chain manipulators is easier. The coincidence of configuration space with the actuation space allows a straight-forward implementation of the Lagrangian formalism for its derivation. This is not the case for the parallel counterpart, where the same formalism leads to messy symbolic computation or in the worst case to nonclosed form solution (Tsai, 1999). Therefore, we focus in the following on the most efficient 1 form (21) that can be derived uniformly for parallel and serial robots.

Derivation of the Rigid-Body Dynamics
The suggested approach is the Jourdainian principle of virtual power that postulates power equality balances with respect to the forces in different coordinate spaces (Bremer, 1988). For instance, a power balance equation is obtained as where τ is the vector of the generalized forces. Equation (25) means that the virtual power resulting in the space of generalized velocities is equal to the actuation power. The power balance can be applied for rigid-body forces: The generalized forces are computed as the summation of the power of all K N limbs:  It is obvious, that the calculation of rb τ requires the quantities of motions of all bodies. The latter can be obtained by applying the kinematic analysis as already explained in the former section 2. The transformation of the generalized forces into the actuation space according to (2) is trivial for the case of serial For parallel manipulators, the numerical calculation of the jacobian is necessary (see also section 2.3): The inverse dynamics presented by (28) is already highly computational efficient. It can be implemented in real-time within nowadays standard control systems for parallel as well as for serial ones. Such model can be further optimized and transformed into a linear form with respect to the minimal dynamic parameters min p .

Minimalparameter Form of the Equations of Motion
By transforming the dynamics into form (24), two main advantages result. At one hand, regrouping the parameters will further reduce the calculation burden and at the other hand, one obtains the set of identifiable parameters of the robotic system. We focus now on the dynamic parameters presented by i m ,  which is now linear in respect to the parameter set rb p , that groups all physical parameters of all limbs of the robot. Since each limb contributes with 1 mass parameter, 3 first-moment parameters and 6 inertiatensor elements, we obtain for the robot the number of ( ) K N × + + 6 3 1 physical parameters. The contribution of each single parameter to the dynamics is presented by the corresponding column of the matrix i H . The dimension of rb p has to be reduced for more computational efficiency and identifiability of the dynamics model. In the field of robotics, many researches have been achieved on this subject, especially for serial robots (Khalil & Kleinfinger, 1987;Gauier & Khalil, 1990;Fisette et al., 1996). Recently the problem was also addressed for parallel mechanisms (Khalil & Guegan, 2004;Abdellatif et al., 2005a). Generally, the procedure consists in a first step of grouping the parameters for the open chains. Afterwards, one looks for further parameter reduction that is due to eventually existing closed kinematic loops. In Praxis, the first step is common for serial and parallel robots. For the latter, the structure is subdivided in single serial chains. The second step is achieved of course, only for parallel robots. The matrices i H in (30) can be grouped for single serial kinematic chains, such that a recursive calculation: can be achieved. The matrices i L and i K are given in (Khalil & Dombre, 2002;Grotjahn & Heimann, 2000 The recursive relationship given in (31) can be used for parameter reduction. If one column or a linear combination of columns of i L is constant with respect to the joint variable and the corresponding columns of i K are zero columns, the parameters can be regrouped. This leads to the rules which are formulated in (Gautier & Khalil, 1990;Khalil & Dombre, 2002) and in (Grotjahn & Heimann, 2000). The use of MDH-notation is a benefit for applying the reduction rule in an analytical and a straight-forward manner. For revolute joints with variable i ϑ , the other MDH-parameters are constant. This means that the th 9, t h e th 10 and the sum of the st 1 a n d th 4 columns of i L and i K comply with the mentioned conditions. Thus, the corresponding parameters . For prismatic joints however, the moments of inertia can be added to the carrying antecedent joint, because the orientation between both links remain constant. For a detailed insight, it is recommended to consider (Khalil & Dombre, 2002) and (Grotjahn & Heimann, 2000). In the case of parallel robots, where the end-effector platform closes the kinematic loops, further parameter reduction is possible. The velocities of the platform joint points j B and those of the terminal MDH-frames of the respective leg are the same. The masses can be grouped to the inertial parameter of the EE-platform according to steiner's laws (Khalil & Guegan, 2004;Abdellatif et al., 2005a).

Integration of friction and motor inertia effects
For further accuracy enhancement of the inverse dynamics models, the effects of friction and motor inertia should be considered. Especially the first category is important for control applications (Grotjahn & Heimann, 2002;Armstrong-Hélouvry, 1991;Bona & Indri, 2005). The general case is considered, when friction is modeled in all active as well as in passive joints. The friction is given in the joint space Q, usually as nonlinear characteristics with respect to the joint velocity, i.e.

( ) ( )
The joint losses have to be mapped into the actuation (or control) space. Uniformly to the rigid-body dynamics, the Jourdainian principle of virtual power is recommended. The power balance for friction can be derived as that means: the friction dissipation power in all joints (passive and active) has to be overcome by an equivalent counteracting actuation power. From the latter equation it is clear that the case of classic open-chain robots is restrictive, when the joint-jacobian a q q ∂ ∂ is equal to the identity matrix. In the more general case of parallel mechanisms, friction in passive joints should not be neglected like it is almost always assumed in control application for such robots (Ting et al., 2004;Cheng et al., 2003). The compensation of friction is simpler and more accurate for serial robots, since it can be achieved directly in all actuated joints. For the parallel counterpart, the compensation of the physical friction f Q is only possible indirectly via the projected forces f a, Q to account for passive joints. Since the latter are usually not equipped with any sensors, friction compensation in parallel robots is less accurate, which is one of the typical drawbacks of such robotic systems. By using friction models that are linear with respect to the friction coefficients, like (34) it is more or less easy to derive a linear form of (36). The following relationship results: where the friction coefficients are grouped in a corresponding parameter vector f p .
The inertial effects of drives and gears can be also considered and integrated in the dynamics with standard procedures like described in (Sciavicco & Siciliano, 2000;Khalil & Dombre, 2002). One of the advantages provided by parallel robots is the fact, that the motors are mainly installed on the fixed platform, such that they do not contribute to the dynamics. This issue remains -at least for industrial application -exclusive for conventional serial manipulators, where the motors are mounted on the respective limbs.

Example: Minimal rigid-body parameters
The illustrative example of minimal rigid-body parameters is considered to give an interesting comparison between serial and parallel manipulators in terms of dynamics modeling. The above described uniform approach is applied for the 6-DOF robots KUKA KR15 and PaLiDA. According to the notations defined in the former section, the minimal parameters are derived for both systems. The results are illustrated in Table 1. Despite higher structural complexity, the minimal parameters of the parallel robot are less numerous and complex than those of the serial one. The single sub-chains of a parallel robot are usually identical and have simple structure, which yields identical and simple-structured parameters for the different chains. The kinematic coupling yields a further parameter reduction as the example demonstrates for  14)). The derivation of minimal parameters is of a major interest, since they constitute the set of identifi-able ones (Gautier & Khalil, 1990). Following section discusses the experimental identification of parameters and the implementation of identified inverse models in control.

Dynamics Model Identification
A main result retained from the last section is that the inverse dynamics of robotic manipulators can be written as with the vector p containing the minimal rigid-body parameters and friction coefficients. With such an LP (linear in the parameter)-structure computational efficient linear estimators can be applied for identification. The formulation of the related problem is derived for an experiment producing N data vectors as follows with the measurement vector Γ , the information or regression matrix Ψ and the error vector η that accounts for disturbances. The solution of the overdetermined equation system (37) yields Weighted Least-Squares estimate WLS p of the parameter vector (Walter & Pronzato, 1997) ( ) where W is a weight matrix. The classical Least-Squares (LS) estimator results from (38) by setting W to a diagonal matrix with equal entries The quality of the estimation results depends on the so called experiment design that define how and which data has to be collected to guarantee good estimate. Here, two main categories exist: the direct and indirect approach. The first one suggests collecting the data along one single trajectory that excite all parameters. The second approach proposes collecting different measurements in single configurations within the workspace. Each approach has characteristic advantages and drawbacks that depend also on the regarded robot type. It can be stated generally, that the identification procedure for parallel robots is more difficult, because the necessary information about the minimal coordinates, velocities and accelerations can not be directly measured (Abdellatif et al., 2005c). A systematic comparison for both approaches is given in Table 2 as well as an evaluation of its appropriateness for the studied manipulator types. The main drawback of indirect approaches is the time-consuming data collection procedure, since many measurements are necessary. Moreover, they require high quality measurements to enable handling narrow measurement intervals, otherwise the data quality will be poor (Grotjahn et al., 2004). These drawbacks are eliminated by direct approaches, since we obtain quick and fast identification trajectories (Abdellatif et al., 2005c). The availability of analytical form of the trajectories helps a highly efficient frequency-domain handling of the measurements. On the other hand, optimized trajectories are needed (Swevers et al., 1997) that can not be simply achieved by conventional industrial control setups. Additional programming or hardware interfaces are necessary. This is not the case with the indirect approach because simple PTPmotions with trapezoidal velocity profile are used, which can be directly programmed and executed. Furthermore, the indirect approach enables identification of submodels independently on each other, i.e. friction and rigid-body or inertial and gravitational parameters (Grotjahn et al., 2001;Grotjahn et al., 2004). The recommended approach depends on the real setup and equipment. If the available control system allows the achievement of arbitrarily complex trajectories, it is recommended to measure optimized trajectories. Otherwise, long measuring processes have to be taken into account, if the indirect approach is chosen. E.g. the identification of friction models for the KUKA KR15 and for PaLiDA required 45 min and 120 min measurement time, respectively. The validation of the identified dynamics models is achieved by considering reference trajectories that were not used for identification. For the industrial KUKA KR15 robot, the ISO-92833 standard trajectory is validated. The measured torques are compared with those calculated by the identified model. The results are illustrated in Figure 3.  For both robot types, very good agreement between model output and experiment is noticeable. Of course, some deviations still remain, since a complete agreement of the model and the reality is quite impossible. Nevertheless, these results are an excellent base for the compensation of nonlinearities of both robots. For place reasons, the values of the identified parameters of the studied systems are not illustrated. We refer though to former publications with deeper insight and more discussion on dynamics identification of robots (Abdellatif et al., 2005b;Abdellatif et al., 2005d;Grotjahn et al., 2004;Grotjahn et al., 2001).

Model-based Feedforward control
The basics for implementing model-based feedforward control are now achieved. We have adequate modeled systems with accurate identified parameters. The next challenge is to use the attained knowledge for practical and industrial relevant control. The compensation of nonlinear dynamics can only be performed by using feedforward approaches because there is usually no possibility to change the feedback controller structure provided by the robot manufacturers. Anticipating for possible next commercial technologies, industrial control systems can have also a force/ torque interface. In that case, the controller input can be directly used by the robot's operator. However, the standard in industrial applications remains that only the desired path can be changed by the feedforward controller as other interfaces do not exist. The case of parallel robots is a prime example, that conventional and commercial control systems are less adequate for such new industrial application. It is believed, that the use of conventional technology widespread for serial robots or machine tools should be reconsidered. The paradigm of single-joint control do not regard highly nonlinear kinematic coupling and is one of the main reasons, that parallel robots still did not reach their promised potentials in practice. In the following we want to consider both possibilities of direct force/ torque input and the position pre-correction. Respecting the scope of this paper, it is more focused on the second case. First nonlinear feedforward control strategies are discussed, that are based on the friction and rigid-body model presented in section 3. Subsequently, compensation methods are presented which use linear models for improvement of path accuracy.

Computed Force/Torque Feedforward Control
The computed force/ torque feedforward control is one of the most classic approaches in robotics (Sciavicco & Siciliano, 2000;Khalil & Dombre, 2002). A uniform scheme can be given according to the formalism defined in previous sections and is depicted in Fig 5. The global input consists in the minimal coordinates z with an explicit or implicit dependency on time t , to enable the derivation of velocities and accelerations s and s . Only the nonlinear block ( ) d a, q z → depends on the robot's type. It consists in the trivial identity transformation for serial robots and the inverse kinematics (14) for parallel manipulators. For both systems, the desired forces (or torques) d a, Q can be only derived from z , s and s . Of course, such an approach depends on the presence of a motor-current interface to achieve the direct forward feeding of the calculated forces or torques. The impact of the feedforward compensation of dynamics is depicted for the robot PaLiDA in Figure 6. The same circular motion presented in Figure 4 is investigated. Without doubt, the tracking errors for all six actuators were considerably decreased. As depicted, the control deviations resulting from the use of the simple decentralized single-joint control yields unacceptable errors (about 4 mm while acceleration). According to our experience, the compensation of the nonlinear dynamics is indispensable for operating parallel robots at high velocities and accelerations. Details on related experimental studies can be found in (Abdellatif et al., 2005a). A key role for the control improvement is assumed by the modeling of inverse dynamics and the appropriate identification of the related parameters.

Nonlinear Precompensation
By the absence of motor-current or force/ torque interface, a similar approach to the feedforward control can be applied, which we call nonlinear pre-correction (see Figure 7). The inverse dynamics model is computed the same way but is now provided to the inverse controller 1 − R F that yields the pre-correction terms d a, q Δ . The advantage of nonlinear trajectory pre-correction compared to the computed force/ torque method is that one only needs to convey path information to the robotic system. Force/ torque information are not necessary. Only a path interface is necessary. The approach is applicable to standard industrial robot systems since such an interface is usually provided for the integration of external sensor information into the control circuit. The proposed approach was implemented within the KRC1 standard control for the robot KUKA KR15. The improvements of tracking errors are depicted in Figure 8. The disadvantage of the nonlinear pre-correction is the necessity of a reliable controller model to be inverted. If there is no knowledge about the controller, experimental identification of the controller dynamics has to be carried out (Grotjahn & Heimann, 2002).

Feedforward Control by Linear Model
Although the linear models disregard nonlinearities, they can be used to their compensation by taking into account actual path deviations. The advantage is that arbitrary effects can be compensated, even effects which are not included in the complex nonlinear model. This is done by 'iterative learning' algorithm that is presented in the following. Alternatively 'training' of a feedforward joint controller is explained. Both approaches are based on the actuation variables. Thus, their implementation is similar for parallel and serial robots.

Iterative Linear Learning
Learning control is based on the idea that measured path deviations can be used to adjust the trajectory that is transmitted to the controller so that the actual trajectory comes closer to the originally desired one (Moore, 1999;Longman, 2000). Thereby, the path accuracy is improved by iterative correction (see Figure 9). For learning implementation, the robot is already under feedback-control, such that its closed-loop dynamics can be described in a linear discrete-time form by the state-space equations: with u being the input and y being the output. It is assumed that 1 w represents some deterministic disturbance that appears every repetition and that 2 w is the measurement disturbance. The aim of Learning is to change the command input every trial j using the learning control law: such that the desired trajectory d y is tracked. Iterative learning control is called linear, when the learning law L f makes an iterative change in the input that is a linear combination of the error The design of the learning gain matrix L has to achieve desired properties. It is simple to derive the iterative error dynamics as where I is the identity matrix and if a linear time-invariant actuator error dynamics is assumed, with an impulse response g . N is the length of the actual trajectory or input. Choosing L to be 1 − P would lead to immediate zero tracking. The inversion of P is equivalent to an inversion of the joint's closed-loop. As it can not be guaranteed that the identified system is phase-minimum, an exact inversion is not always possible. In that case the resulting corrected trajectory would include unacceptable oscillations. To avoid this, many methods can be used, like filtering suggested in (Norrlöf & Gunnarsson, 2002;Longman, 2000) etc. We propose here two methods. The first one is an extended LS-method or the Inverse-Covariance Kalman-Filter (Grotjahn & Heimann, 2002). It requires a good quality of measurement signals, wich is the case for standard industrial robot. In the case when measurements of the actuator variables are importantly corrupted by noise, the inverse of P is not adequate. Alternatively, a contraction mapping approach can be used (Longman, 2000), where the learning matrix is defined by: for a learning gain 1 Φ that has to be chosen. The dynamics and therefore an estimate of the impulse response g of the closed-loop dynamics can be identified by applying standard procedures (Ljung, 1999). The main advantage of learning control is the fact that it can compensate for influences and systematic deviations that are not captured by the model. This holds not only for non-modeled effects by the linear models used for learning, but also for effects not even reflected by the presented complex nonlinear model. Another advantage is that the actual deviations of end-effector position and orientation can be taken into account if they are measurable. The main disadvantage, however, is that every small change of the desired trajectory necessitates a new learning process. Each learning process needs some iterations until convergence, which can be undesirable by robot operators.

Training of Feedforward Controller
In order to avoid the disadvantages of learning control described in the previous section, Lange and Hirzinger proposed to 'train' a feedforward controller from the learnt behavior (Lange & Hirzinger, 1996). The feedforward controller model has to be identified by using e.g. the extended LS-method or the Inverse-Covariance Kalman-Filter (Grotjahn & Heimann, 2002). The scheme of training is given by Fig 10.  Figure 10. Training a Feedforward Controller.
As a matter of principal, a feedforward controller has the advantage that it can be calculated in real-time. Therefore, it can be implemented in commercial controls. Furthermore, a powerful feedforward controller offers the possibility to transfer the learned behavior to similar trajectories. Consequently, small trajectory changes would not require a new learning process. The choice of the controller structure is a key issue. A fundamental condition is that the model can satisfactorily reproduce the learned behavior. In (Lange & Hirzinger, 1994), linear models like were proposed. This approach, however, cannot compensate nonlinear effects, like friction. Fig 11 shows that the identification of the linear feedforward controller leads to a mixture of two effects. In addition to inertial influences, friction has a large impact at the beginning of the motion. Therefore, the corrections of the linear controller are too small in the beginning and too large at later zero-crossing of velocity. To improve this, the approach is extended by another term: This auxiliary summand is suited to separate friction from inertial influences. After its consideration, learned corrections are reproduced much better than by the linear model. As expected, better tracking behavior can be obtained (see Fig 11). Although the performance of 'training' remains less than that of 'learn-ing', it seems to be an alternative that combines good results with practical simplicity. The values t m , m , t p and p can be chosen by operators corresponding to the desired error dynamics. Using only positive values is equivalent to the consideration of posterior or future errors, only. It is recommended to chose negative t m and t s , such that the influence of previous dynamics, like high accelerations or velocities, can be taken into account.
(a) (b) Figure 11. Behaviour of the first axis of the manutec-r15 for a vertical circle: (a) learned and trained corrections; (b) comparison of resulting tracking errors

Application to serial robots
The presented compensation methods are investigated by experimental application to a classic serial manipulator: the manutec-r15. It is emphasized in the following on the resulting performance and on the applicability. Several different test trajectories are used. Here, the results are explained by regarding two trajectories: a vertical circle and a tracking of planar corner in the x-yplane with a change of orientation by 90°.
The vertical circle has a diameter of 40 cm and a path velocity of 0.6 m/ s. This means that the circle is approximately completed after 2.1 s. The cartesian path deviations are depicted in Figure 12. It shows some general results which can be reproduced for all tested trajectories. The 'training' yields the worst results of all methods. The nonlinear pre-correction is much better. Learning Control yields even further improvements. In order to numerically evaluate the results, the root mean square (RMS) of the cartesian errors are evaluated for the trajectories and for the different approaches. For all investigated trajectories, 'learning' leads to a decrease of at least 80 % after four iterations. The nonlinear precorrection reduces the criterion by at least 60 %, whereas the 'training' leads to a minimum reduction of 35 %. Figure 12 depicts the tracking of the corner while changing the orientation by 90° for the manutec-r15 robot. Although the path velocity is only 0.02 m/ s, joint velocities and accelerations are quite high. Therefore, the couplings between different links have strong impact. These effects can not be compensated by the decoupled 'trained' feedforward joint controllers. Nonlinear pre-correction is the only approach which combines efficient compensation of nonlinear deviations with practical applicability. 'Learning' yields better results, but robustness and stability properties have to be improved for the integration in standard industrial controls. The proposed nonlinear 'training' combines simplicity with applicability but is only suitable for slow trajectories for which couplings between the different links have only low impact. An extended experimental investigation can be found in (Grotjahn & Heimann, 2002).

Application to parallel robots
In analogy to the case of serial robots, the compensation techniques were implemented to the parallel manipulator PaLiDA. It is important to notice, that the feedforward compensation techniques are all based on the actuation variables, for serial, as well as for parallel mechanisms. The procedure of experimental investigation and evaluation is very similar to that mentioned in the previous section. Figure 14 shows the improvement of tracking for the here considered robot. We compare the performances of simple single-joint control, Feedforward control and Learning control for a circular and a quadratic motion. The range of investigated velocity is here much higher than the case of serial robots. The average end-effector's velocity is equal to 1.5 1 ms − and 2 1 ms − for the circular and quadratic motion, respectively. The feedforward control helps decreasing the cartesian RMS-error of about 60 %. Learning control decreased the errors of at least 90 %, which is very satisfactory. Such improvement can be clearly observed in Figure 14. Conventional control strategies are not acceptable for operating robots in an accurate manner. The Integration of model-based feedforward compensators, such inverse dynamics or learning controller yield impressive improvement of tracking accuracy.

Conclusions
This chapter presented a uniform and coherent methodology for model-based control of industrial robots. To take account of the technological evolution over the last years, classic approaches were extended to the class of parallel kinematic manipulators or parallel robots. A revision of the basics is necessary. Many assumptions that became common due to the reputation of classic openchain robots were highlighted and revised. This is necessary to be able of developing uniform approaches for handling serial and parallel robots. The idea of this work was to exploit the similarities and to consider the differences between two types. The similarities can be provided by the same modules (calculation, control, etc.). The differences are considered by interfaces (transformations etc.) that account for robot inherent properties. Already at the basic level of modeling the kinematics and dynamics, the uniformity of the methods can be achieved by considering the generalized coordinates and velocities to be the formal conjunction of serial and parallel robots. It is than possible to apply e.g. generic algorithms and efficient calculation of the inverse dynamics, such that the presented solutions remain valid for a wide class of robots. This was also the case for developing identification strategies of the model parameters. It was demonstrated, that with light adaptation, the same algorithms and experimental strategies can be applied for serial robots and for parallel manipulators. In the praxis of control, it is the type of the control system that is more crucial for successful implementation, rather than the robot structure. If a force/ torque interface is provided, all feedforward strategies can be applied in the same way for parallel and serial robots, since the desired motions are given. If only a position interface is supplied, it is practicable to use correction techniques at actuator levels. The chapter presented nonlinear and linear approaches. The nonlinear pre-correction techniques are recommended for typical industrial control systems and have demonstrated impressive performance. Iterative learning and training algorithms offer the possibilities to use computational efficient linear models. Like substantiated by experimental results the improvement of the control accuracy was investigated for serial and parallel robots. Grotjahn, M. & Heimann, B. (2005a) Grotjahn, M. (2005b). Statistical approach for bias-free identification of a parallel manipulator affected with high measurement noise,