Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

In order to achieve in modern machines low energy consumption and allowing high working speeds light weight designs are increasingly often used. However, due to the light weight design the bodies of the manipulators have a significant flexibility which yields undesired vibrations. Therefore, the manipulators must be modeled as flexible multibody system and in the control design these flexibilities must be taken into account. Flexible manipulators are typical examples of underactuated multibody systems, since they generally possess less control inputs than degrees of freedom. In order to obtain a good performance in end-effector trajectory tracking an accurate and efficient feedforward control is necessary. This is then supplemented by additional feedback control to account for small disturbances and uncertainties. In this chapter the feedforward control design based on inverse models is presented and applied to serial and parallel flexible manipulators. Thereby for a given system output the inverse model provides the control input for exact reproduction of the desired output trajectory. In addition the inverse model provides the trajectories for all generalized coordinates, which can be used in additional feedback control.

In this chapter, firstly, an exact inverse model using concepts from differential geometric control theory [8, 12] is presented and applied to serial and parallel flexible manipulators. The starting point is the explicit symbolic transformation of the equations of motion into the nonlinear input-output normal-form. From this the inverse model is derived, consisting of a chain of differentiators, the driven internal dynamics and an algebraic part. The stability properties of the internal dynamics determine the complexity of the feedforward control design. If the internal dynamics are stable they can be solved by forward time integration. Otherwise, bounded solutions for the internal dynamics must be found by the solution of a two-sided boundary value problem [4, 17]. In order to avoid this, optimization based output relocation is proposed to obtain a system with stable internal dynamics, while keeping the tracking error of the flexible manipulator small.

In addition an alternative approach for feedforward control based on servo-constraints is presented. This yields at first a set of differential-algebraic equations. By using numerical projection into the unconstrained subspace the description of the internal dynamics is obtained, while its differentiation index is reduced. Using the methods available for the first approach, the internal dynamics are then solved in a similar way. This feedforward control concept is applied to a parallel flexible manipulator, where the loop closing constraints and servo-constraints are treated concurrently.

2 Feedforward Control Design by Symbolic Coordinate Transformation

For modeling flexible light weight manipulators the method of flexible multibody systems is often most suitable to represent large nonlinear working motions coupled with elastic vibrations. Since for manipulators the elastic deformations are comparatively small, the floating frame of reference approach can be used [16]. The symbolic multibody system research software Neweul-M2 [9] is used to derive the equations of motion in minimal coordinates based on the Newton-Euler equations and D’Alembert’s principle. The availability of the symbolic equations of motion is very convenient for nonlinear controller design.

With the vector of generalized coordinates q∈ℝf the equations of motion in minimal coordinates are obtained as

$$ \boldsymbol{M}(\boldsymbol{q})\ddot{\boldsymbol{q}}+\boldsymbol {k}(\boldsymbol{q},\dot{\boldsymbol{q}})=\boldsymbol{g}(\boldsymbol {q},\dot{\boldsymbol{q}})+\boldsymbol{B}(\boldsymbol{q}) \boldsymbol{u}. $$
(1)

Thereby M is the mass matrix, k the vector of generalized Coriolis-, centrifugal- and gyroscopic-forces and g the vector of applied forces and inner forces due to the body elasticity. The input matrix B distributes the control inputs u∈ℝm onto the directions of the f generalized coordinates. The vector of generalized coordinates consists of the rigid coordinates \(\boldsymbol{q}_{r} \in\mathbb{R}^{f_{r}}\) representing the rigid body motion and the elastic coordinates \(\boldsymbol{q}_{e} \in\mathbb{R}^{f_{e}}\). Then, the equations of motion can be partitioned into

$$ \left[ \matrix{ \boldsymbol{M}_{rr}(\boldsymbol{q}) & \boldsymbol {M}_{re}(\boldsymbol{q}) \cr \boldsymbol{M}_{re}^T(\boldsymbol{q}) & \boldsymbol {M}_{ee}(\boldsymbol{q}) }\right] \left[ \matrix{ \ddot{\boldsymbol{q}}_r \cr \ddot{\boldsymbol{q}}_e }\right] + \left[ \matrix{ \boldsymbol{k}_r(\boldsymbol{q},\dot{\boldsymbol{q}}) \cr \boldsymbol{k}_e(\boldsymbol{q},\dot{\boldsymbol{q}}) }\right] = \left[ \matrix{ \boldsymbol{g}_r(\boldsymbol{q},\dot{\boldsymbol{q}}) \cr \boldsymbol{g}_e(\boldsymbol{q},\dot{\boldsymbol{q}}) }\right] + \left[ \matrix{ \boldsymbol{B}_r \cr \boldsymbol{B}_e }\right] \boldsymbol{u}. $$
(2)

For serial flexible manipulators the actuation occurs only at the joints of the systems. Then, using a tangent frame for the elastic bodies, the control inputs u do not directly effect the elastic coordinates and it is B e =0. In addition, using relative coordinates the inputs act directly on the rigid coordinates and it is B r =I. Since serial manipulators are considered first, this special choice is used in the remainder of this section.

Flexible multibody systems are typical underactuated multibody systems, since they have less control inputs u∈ℝm than generalized coordinates q∈ℝf with m<f. The control goal is tracking of a system output y∈ℝm, e.g. the end-effector point. In this section an exact inverse model for feedforward control design is derived using concepts from differential geometric control theory [8, 12]. Thereby the starting point is the transformation of the flexible multibody system into the nonlinear input-output normal-form. Then, from this the inverse model is derived.

2.1 Coordinate Transformation into Input-Output Normal-Form

For control design it is often helpful to transform the nonlinear system into the so-called nonlinear input-output normal-form by a diffeomorphic coordinate transformation z=Φ(x). Thereby \(\boldsymbol{x} =[\boldsymbol{q}^{T},\dot{\boldsymbol{q}}^{T}]^{T}\) are the original coordinates and z are the new coordinates of the input-output normal-form, which are derived partially from the system output. The first two derivatives of the system output are

(3)

where H is the Jacobian matrix of the system output and \(\boldsymbol{h}'' =\dot {\boldsymbol{H}}\dot{\boldsymbol{q}}\) is the local acceleration. In (3) the second derivative of the generalized coordinates \(\ddot{\boldsymbol{q}}\) can be replaced by the equations of motion (1), yielding

(4)

If the matrix HM −1 B is nonsingular (4) can be solved for the control inputs u. In this case the matrix HM −1 B is called decoupling matrix and the system is said to have vector relative degree r={r 1,…,r m }={2,…,2}. Following [8] the relative degree is defined as the minimal number of derivatives of each system output h i (q), i=1,…,m until the inputs u can be computed. Then, no further derivatives are necessary and the first part of the coordinate transformation is found, which is typical for many flexible manipulators. Then, the nonlinear coordinate transformation is given by

$$ \boldsymbol{z}=\boldsymbol{\varPhi}(\boldsymbol{x})=\boldsymbol {\varPhi}(\boldsymbol{q},\dot{\boldsymbol{q}})= \left[ \matrix{ \boldsymbol{z}_1 \cr \boldsymbol{z}_2 \cr \boldsymbol{z}_3 }\right] \quad \mbox{with } \begin{array}{l} \boldsymbol{z}_1=\boldsymbol{y}=\boldsymbol{h}(\boldsymbol{q}) \in\mathbb{R}^m, \\ [3pt] \boldsymbol{z}_2=\dot{\boldsymbol{y}}=\boldsymbol{H}(\boldsymbol {q})\dot{\boldsymbol{q}}\in\mathbb{R}^m, \\ [3pt] \boldsymbol{z}_3=\boldsymbol{\varPhi}_3(\boldsymbol{q},\dot {\boldsymbol{q}}) \in\mathbb{R}^{2(f-m)}. \end{array} $$
(5)

Thereby the coordinates z 3 are determined such that (5) forms at least a local diffeomorphic coordinate transformation, which requires that the Jacobian matrix J= Φ(x)/ x is nonsingular.

Applying the coordinate transformation (5) to the equations of motion (1) yields the nonlinear input-output normal-form. However, the complete symbolic transformation is often quite difficult. In the following it is shown, that the input-output normal-form can be established efficiently using a linearly combined system output and the partitioned equations of motion (2). For flexible manipulators a linearly combined output y=q r +Γq e of rigid coordinates q r and elastic coordinates q e is often a suitable choice [11, 15]. With such a system output the end-effector position of serial flexible manipulators may be approximated such that r ef(q r ,q e )≈r(y). The determination of the weighting matrix Γ is discussed in Sect. 3. For the special case of Γ=0 the output reduces to y=q r , which is the so-called collocated output. Thus, for flexible manipulators with linearly combined output a suitable coordinate transformation is given by

$$ \boldsymbol{z}_1=\boldsymbol{y}=\boldsymbol{q}_r+\boldsymbol {\varGamma}\boldsymbol{q}_e,\qquad \boldsymbol{z}_2=\dot{\boldsymbol{y}}=\dot{\boldsymbol {q}}_r+\boldsymbol{\varGamma}\dot{\boldsymbol{q}}_e,\qquad \boldsymbol{z}_3=\bigl[\boldsymbol{q}^T_e,\dot{\boldsymbol{q}}^T_e \bigr]^T. $$
(6)

In order to derive the input-output normal-form the rigid coordinates q r are expressed in terms of the output y and the elastic coordinates q e . Then, after symbolic manipulations the nonlinear input-output normal-form is obtained

(7a)
(7b)

with the terms summarized according to the convention \(\widetilde {\boldsymbol{M}}= \boldsymbol{M} _{rr}- (\boldsymbol{M}_{re}-\boldsymbol{M}_{rr}\boldsymbol{\varGamma }) (\boldsymbol{M}_{ee}-\boldsymbol{M} _{re}^{T}\boldsymbol{\varGamma})^{-1} \boldsymbol{M}_{re}^{T}\) and \(\widetilde{\boldsymbol{g}}=\boldsymbol{g}_{r}- (\boldsymbol {M}_{re}-\boldsymbol{M}_{rr}\boldsymbol{\varGamma}) (\boldsymbol {M}_{ee}-\boldsymbol{M} _{re}^{T}\boldsymbol{\varGamma})^{-1} \boldsymbol{g}_{e}\) and \(\widetilde{\boldsymbol{k}}=\boldsymbol{k}_{r}- (\boldsymbol {M}_{re}-\boldsymbol{M}_{rr}\boldsymbol{\varGamma}) (\boldsymbol {M}_{ee}-\boldsymbol{M} _{re}^{T}\boldsymbol{\varGamma})^{-1} \boldsymbol{k}_{e}\). For details on the performed symbolic computations see e.g. [15]. Equation (7a) has dimension m and describes the relationship between the inputs u and outputs y. Equation (7b) has in this case dimension fm and is called internal dynamics. Its behavior is crucial for control design and has to be analyzed carefully. For this task the concept of zero-dynamics is often very useful. The zero-dynamics of a nonlinear system are the internal dynamics of the system under the constraint that the output is kept exactly constant, e.g. y=0, ∀t. A nonlinear system is called asymptotically minimum phase if the equilibrium point of the zero-dynamics is asymptotically stable. Otherwise the system is called non-minimum phase [8, 12].

2.2 Inverse Model

The inverse model follows directly from the input-output normal-form (7a)–(7b). The inverse model provides the inputs u d which are required for exact reproduction of a desired system output trajectory y=y d . In addition the corresponding trajectories of all generalized coordinates q d are obtained. The inputs u d follow from Eq. (7a) as

$$ \boldsymbol{u}_d=\widetilde{\boldsymbol{M}}(\boldsymbol {y}_d,\boldsymbol{q}_e) \ddot{\boldsymbol{y}}_d -\widetilde{\boldsymbol{g}}(\boldsymbol {y}_d,\boldsymbol{q}_e, \dot{\boldsymbol{y}}_d,\dot{\boldsymbol{q}}_e) +\widetilde {\boldsymbol{k}}(\boldsymbol{y}_d, \boldsymbol{q}_e,\dot{\boldsymbol{y}}_d,\dot{\boldsymbol{q}}_e). $$
(8)

The computation of the inputs u d depends on the desired outputs \(\boldsymbol{y}_{d},\dot{\boldsymbol{y}}_{d}\) and the elastic states \(\boldsymbol{q}_{e},\dot{\boldsymbol{q}}_{e}\). The latter are the solution of the internal dynamics given by Eq. (7b) which is driven by \(\boldsymbol{y}_{d},\dot{\boldsymbol{y}}_{d}\) and u d . Replacing u d in the internal dynamics (7b) by Eq. (8) yields for the values of the elastic states \(\boldsymbol{q}_{e},\dot{\boldsymbol {q}}_{e}\) the differential equation

(9)

Several methods for model inversion exist which differ in the solution of the internal dynamics (9):

Classical Inversion

In classical inversion [6] the \(\boldsymbol {q}_{e},\dot{\boldsymbol{q}}_{e}\) variables can be found through forward integration of the internal dynamics (9) from the starting time point t 0 to the final time point t f , using the initial values \(\boldsymbol {q}_{e}(t_{0})=\boldsymbol{q}_{e_{0}}\), \(\dot{\boldsymbol{q}}_{e}(t_{0})=\dot{\boldsymbol{q}}_{e_{0}}\). However, depending on the stability of the internal dynamics forward integration might yield unbounded q e , \(\dot{\boldsymbol{q}}_{e}\) values and thus unbounded inputs u d , which cannot be used as feedforward control. Therefore, this approach can only be used for feedforward control design if the internal dynamics (9) remain bounded, which implies that the system is minimum phase. An example is a flexible manipulator with collocated output y=q r , i.e. Γ=0.

Stable Inversion

Flexible manipulators with the end-effector point as system output turn out to be often non-minimum phase and classical inversion cannot be used. However, using stable inversion [4] the inversion problem can be solved, such that the trajectories \(\boldsymbol{q} _{e},\dot{\boldsymbol{q}}_{e}\) of the internal dynamics (9) and the control inputs u d remain bounded. However, the solution might be non-causal. The solution of the stable inversion is formulated as a two-sided boundary value problem, where the boundary conditions are described by the unstable and stable eigenspaces \(\boldsymbol{E}_{0}^{u}\), \(\boldsymbol{E}_{f}^{s}\) at the corresponding equilibrium points of the internal dynamics. These are local approximations of the unstable manifold \(\boldsymbol{W}_{0}^{u}\) and stable manifold \(\boldsymbol{W}_{f}^{s}\) at the starting and ending equilibrium point, respectively, see [12]. This yields for the internal dynamics bounded trajectories q e , \(\dot{\boldsymbol {q}}_{e}\) which start at time t 0 on the unstable manifold \(\boldsymbol{W}_{0}^{u}\) and reach the stable manifold \(\boldsymbol{W}_{f}^{s}\) at time t f . Thus the initial conditions \(\boldsymbol{q}_{u_{0}}\), \(\dot{\boldsymbol{q}}_{u_{0}}\) at time t 0 cannot exactly be pre-designated. A pre-actuation phase [t pr ,t 0] is necessary which drives the system along the unstable manifold to a particular initial condition q e (t 0), \(\dot{\boldsymbol{q}}_{e}(t_{0})\), while maintaining the constant output y d =y d (t 0). Also a post-actuation phase [t f ,t po ] is necessary to drive the internal dynamics along the stable manifold close to its resting position. The two-sided boundary value problem has to be solved numerically. This can be done by a finite difference method [17], e.g. using the Matlab solver bvp5c.

3 Determination of the Linearly Combined Output

The presented derivation of the inverse model depends on a linearly combined system output. In this section the derivation of the linearly combined output is demonstrated exemplarily for a serial flexible manipulator which moves in the horizontal plane. The manipulator consists of two elastic arms with rigid elements attached at their ends for mounting of the motors and end-effector mass, see Fig. 1. The total length of the first arm is denoted as l 1 and the rigid end parts have length l r11 and l r12. The second arm has length l 2 and the rigid end parts have length l r21 and l r22. The two motors produce the applied torques T 1 and T 2 which act on the joint angles q r =[α,β]T. The transverse elastic deformations of the two arms are described by the elastic coordinates \(\boldsymbol{q}_{e}^{1} \in\mathbb{R}^{r}\) and \(\boldsymbol{q}_{e}^{2}\in\mathbb{R}^{s}\). In the following the matrix Γ is derived from geometrical considerations and by optimization such that the outputs y=[y 1,y 2]T yield a very good approximation of the end-effector position,

$$ \boldsymbol{r}^{ef}(\boldsymbol{q}_r,\boldsymbol{q}_e)\approx\bar{ \boldsymbol{r}}^{ef}(\boldsymbol{y})=\left[ \begin{array}{c}{l_1 \sin(y_1)+l_2 \sin(y_1+y_2)}\\{-l_1 \cos(y_1)-l_2 \cos(y_1+y_2)} \end{array} \right]. $$
(10)

Here y 1 and y 2 can be viewed as auxiliary angles, see Fig. 1. With this approximation the desired trajectories for the system output y d can be computed by rigid body inverse kinematics from the desired trajectory \(\boldsymbol {r}^{ef}_{d}\) of the end-effector point.

Fig. 1
figure 1

Serial flexible manipulator

3.1 Choice of System Output Using Geometrical Considerations

Due to the body elasticity the tips of the arms are subjected to the displacements u 1 and u 2. These are perpendicular to the undeformed axes of the arm. Restricting to small elastic rotations, these elastic deformations are given by

$$ \begin{aligned}[c] &u_{1} = \sum_{i=1}^{r} \varPhi_{i}^1 q_{ei}^1 + l_{r12} \sum_{i=1}^{r} \varPsi_i^1 q_{ei}^1, \\ &u_{2} = \sum _{i=1}^{s}\varPhi_{i}^2 q_{ei}^2 + l_{r21} \sum _{i=1}^{s} \varPsi_{i}^2 q_{ei}^2. \end{aligned} $$
(11)

The ith elastic coordinate of the first arm is denoted by \(q^{1}_{ei}\) and of the second arm by \(q^{2}_{ei}\). The value of the ith displacement shape function at the end of the elastic parts of the first and second arm are denoted by \(\varPhi_{i}^{1}\) and \(\varPhi_{i}^{2}\), respectively. The values of the ith shape functions for the elastic rotation evaluated at the end of the elastic parts of arm one and two are denoted by \(\varPsi_{i}^{1}\) and \(\varPsi_{i}^{2}\), respectively. Thus, the first terms of Eq. (11) represent the transverse elastic deformation of the elastic parts of both bodies. Due to the elastic rotation of these elastic parts, the rigid end parts of the arms undergo an rotation with respect to their reference frame given by

$$ \bar{\alpha}_2=\sum_{i=1}^{r} \varPsi_{i}^1 q_{ei}^1 \quad \mbox{and} \quad\bar{\beta}_2=\sum_{i=1}^{s} \varPsi_{i}^2 q_{ei}^2. $$
(12)

The influence of \(\bar{\alpha}_{2}\) and \(\bar{\beta}_{2}\) is represented by the second terms of Eq. (11). These deformations u 1, u 2 result in the approximate deformation angles α 1, β 1, see Fig. 1. For small displacements these two deformation angles α 1, β 1 can be determined and expressed as linear combinations of the elastic coordinates as

$$ \alpha_1 \approx\frac{u_{1}}{l_1} = \sum _{i=1}^{r}\frac{\varPhi_i^1+ l_{r12}\varPsi_{i}^1}{l_1} q_{ei}^1 =\sum_{i=1}^{r}\varGamma_{1i} q_{ei}^1 $$
(13)

and

$$ \beta_1 \approx\frac{u_{2}}{l_2} = \sum _{i=1}^{s}\frac{ \varPhi_{i}^2+ l_{r22}\varPsi_{i}^2}{l_2} q_{ei}^2= \sum_{i=1}^{s}\varGamma_{2(r+i)} q_{ei}^2. $$
(14)

From these two equations the linearly combined system outputs y 1=α+α 1 and \(\bar{y}_{2}=\beta+\beta_{1}\) can be determined. For flexible manipulators without any rigid parts similar outputs are used for trajectory tracking by [11] and [18]. However, when using this output to approximate the end-effector point (10) of a multi-link flexible manipulator, the elastic rotation of the coordinate system attached to tip of arm 1 is neglected. Since in this coordinate system the motor angle β is described, the output \(\bar{y}_{2}\) is not suitable for end-effector tracking, see [15]. Thus the system output y 2 has to be corrected by the additional angle α 2 given by

(15)

From this follows the system output \(y_{2}=\bar{y}_{2}+\alpha_{2}=\beta +\beta_{1}+\alpha_{2}\), which contains contributions of the elastic deformation of arm 1 and arm 2. The linearly combined system output which is suitable to approximate the end-effector point by Eq. (10) is then given by

(16)

3.2 Design of System Output by Optimization

Output relocation is a method where a different system output \(\hat {\boldsymbol{y} }\) is chosen in order to achieve minimum phase property. In [11] output relocation for a flexible two arm manipulator is investigated. Thereby a linearly combined system output with block diagonal matrix Γ is used. It is shown that for the two outputs the entries of Γ can be scaled with a value between 0 and 1 to obtain minimum phase property. However, the influence of the elastic rotation (15) of the first body on the second system output is neglected and might result in large end-effector errors, see [15].

Therefore, an optimization based design procedure for a new system output \(\hat{\boldsymbol{y}}\) is proposed here to obtain a minimum phase design of underactuated multibody systems and also a very good approximation of the end-effector point r ef. Thereby the new output \(\hat{\boldsymbol{y}}\) is an artificial output, which does not represent a specific material point of the multibody system. For this task the linearly combined output is very convenient, since it provides an easy way for the parametrization of the design variables,

$$ \hat{\boldsymbol{y}}=\boldsymbol{q}_r+\boldsymbol{\varGamma }(\boldsymbol{p})\boldsymbol{q}_e. $$
(17)

Here the design variables p are just the entries of the weighting matrix Γ. Then, it follows with y d =0, ∀t from (9) that the zero dynamics, which depend only on the elastic coordinates q e , \(\dot{\boldsymbol{q}}_{e}\) and the design variables p, are given by

$$ \bigl[ \boldsymbol{M}_{ee}(\boldsymbol{q}_e)-\boldsymbol{M}_{re}^T( \boldsymbol{q}_r)\boldsymbol{\varGamma}(\boldsymbol{p}) \bigr ]\ddot{\boldsymbol{q}}_r =\boldsymbol{g}_r( \boldsymbol{q}_r,\dot{\boldsymbol{q}}_e)-\boldsymbol {k}_e(\boldsymbol{q}_e, \dot{\boldsymbol{q}}_e). $$
(18)

The linearization of the zero dynamics yield the system matrix A(p) which also depends on the design variables. The design goal is to achieve a stable zero dynamics by changing the system output, whereby the new system output should still yield a good approximation of the end-effector position r ef. Therefore, a two-step computation of the optimization criterion f(p) is proposed, which should be minimized in the course of the optimization. The two steps of the optimization criterion computation are:

Step 1

Firstly, local asymptotic stability is checked. Thus, all eigenvalues of the linearized zero dynamics must be in the left half-plane,

$$ \mathrm{Re}\bigl[\lambda\bigl(\boldsymbol{A}(\boldsymbol{p})\bigr )\bigr]<0. $$
(19)

If at least one eigenvalue has a non-negative real part, a large default value for the optimization criterion f(p) is returned. Otherwise, the linearized analysis shows asymptotic stability of the zero dynamics and it is proceeded with step 2.

Step 2

If all eigenvalues of the zero dynamics are in the left half-plane, the actual optimization criterion f(p) will be calculated. Therefore a feedforward control for a test trajectory y d is computed. From this inverse model the end-effector trajectory r ef(q r ,q e )∈ℝm and the effective deviation e(t) from the desired trajectory can be determined as

$$ e(t)= \sqrt{\sum_{i=1}^m e_i^2(t)} \quad\mbox{with } \boldsymbol{e}(t)= \boldsymbol{r}^{ef}_d(t)-\boldsymbol{r}^{ef}(\boldsymbol{q}_r, \boldsymbol{q}_e). $$
(20)

Then, the optimization criterion is chosen as the maximal effective end-effector deviation

$$ f(\boldsymbol{p})= \max_t e(t) . $$
(21)

With the solution for the internal dynamics for the desired trajectory y d the boundedness of the internal dynamics is verified. If unbounded states for this design occur the time integration fails and also a large default value is returned for the optimization criterion f(p).

The optimization criterion is discontinuous due to the distinction between stable and unstable designs. Therefore, gradient based methods cannot be used and the stochastic particle swarm optimization algorithm is applied, see [13] for details on the used algorithm. The presented optimization based approach for designing a suitable system output yields a good tracking performance for a given desired output trajectory. If the optimized output Γ(p ) also yields a good end-effector approximation for a different trajectory has to be checked for each particular case.

4 Application to a Serial Manipulator

The feedforward control design is first demonstrated for a planar serial flexible manipulator as shown in Fig. 1. The first arm has length l 1=351 mm and consists of a first rigid part of length l r11=63.5 mm, an elastic part of length l e1=209 mm and a second rigid part of length l r12=78.5 mm. The elastic part has thickness 1.27 mm and height 76.2 mm. The second arm has length l 2=287.5 mm and consists of a first rigid part of length l r21=62.5 mm, an elastic part of length l e =210 mm and a rigid end-effector mass of length l r22=15 mm. The elastic part of the second arm has thickness 0.9 mm and height 38.1 mm. The rigid parts of the arms represent the joints, motor mounting and end-effector mass. All parts of the manipulator are made out of steel. For the description of the elastic deformation of the arms the first two bending eigenmodes are used as shape functions for each arm, i.e. q e ∈ℝ4. A tangent floating frame of reference is used. The end-effector of the manipulator should follow a straight test trajectory, whose path is shown in Fig. 2. Along the path, the trajectory is described by a polynomial of ninth order, such that the velocities and accelerations are zero at both the start and the end of the trajectory. The path length is 0.2 m and the time for following the trajectory is 1 s. The trajectory starts from rest at time 0.2 s and ends in rest at time 1.2 s.

Fig. 2
figure 2

Desired trajectory of the manipulator

In the following simulation results for this flexible manipulator are presented, see also [15] for more details. Thereby the computed feedforward control is tested by simulation, whereby it is combined with PID-feedback control for the joint trajectories q r . However, since the inverse model is exact, the PID-control has in these tests only to compensate numerical errors. In reality there are larger uncertainties and disturbances which the controller has to account for. The presented results should demonstrate the capacities of the feedforward control, and the maximal achievable accuracy in the ideal case. In the following the trajectory error in path direction e ip , orthogonal to the path e op and the absolute error \(e_{abs}=\sqrt{e_{ip}^{2}+e_{op}^{2}}\) are presented.

Firstly, a feedforward control based on a rigid system output is used, i.e. the elasticities are neglected yielding Γ=0. This is the so-called collocated output which yields a minimum phase system and classical inversion can be used. From the tracking error for this strategy, which is presented in Fig. 3, the strong influence of body flexibility is seen, yielding an unacceptable behavior and errors of several centimeters.

Fig. 3
figure 3

Error of the end-effector trajectory using exact inversion with collocated output

The inversion based feedforward control with linearly combined output is considered next. Using the elastic data of the manipulator and Eqs. (10)–(16) the matrix Γ is given by

(22)

An analysis of the zero-dynamics of the flexible manipulator with this output shows, that the system is non-minimum phase. Thus, stable inversion is necessary and the Matlab boundary-value solver bvp5c is used. However, it turns out, that for the Γ values given by (22) no solution can be computed numerically using the bvc5p. But by slight variations of Γ 21=13.375 and Γ 22=92.5, a numerical solution of the boundary value problem is found. In Fig. 4 the end-effector trajectory error is shown for this feedforward control. A very high accuracy is achieved. The trajectory errors are in the magnitude of less than 0.1 mm. After reaching the final position at time 1.2 s only minor deviations of the end-effector point remain.

Fig. 4
figure 4

Error of the end-effector trajectory using stable inversion with Γ from geometrical considerations (left) and optimization (right)

The optimization based system output design is applied next. For the optimization based design the non-zero entries of the weighting matrix Γ are used as design variables. Based on the values for Γ derived from geometrical considerations (22), the bounds for the design variables are defined. These are set such that a variation of the design variables of +/−20 % around the geometrical case (22) is allowed. For the optimization 100 particles are used and yields the values

(23)

The new system output yields a minimum phase system and feedforward control design by classical inversion can be applied. The simulation results are presented in Fig. 4 and show that with this approach high accuracy for the end-effector trajectory can be obtained. The maximal trajectory error is about 0.28 mm. Compared to the previous results the achievable accuracy for this minimum phase system is slightly worse than the output using geometrical considerations yielding a non-minimum phase system, see Fig. 4, but much better than using the collocated output, see Fig. 3. Comparing to results for this manipulator presented in [15], the optimization based output design yields also better results than the so-called quasi-static deformation compensation, which is an alternative approach for feedforward control design of flexible manipulators.

5 Extension to Parallel Manipulators

For multibody systems with kinematic loops and f c degrees of freedom the description of the kinematics using a minimal set of generalized coordinates is in general not directly possible. Therefore, the kinematic loop is cut at a suitable joint, yielding a multibody system in tree structure with f>f c degrees of freedom. The equations of motion of the obtained open loop system are derived in analogy to systems with tree structure according to Eq. (1). By introducing n c implicit algebraic loop closing constraint equations

$$ \boldsymbol{c}(\boldsymbol{q},t) = \boldsymbol{0}, $$
(24)

the equations of motion of the closed loop system can be formulated as a set of differential-algebraic equations (DAE)

(25a)
(25b)

where the matrix C is the Jacobian matrix of the constraint equations c with respect to the generalized coordinates q∈ℝf. The vector \(\boldsymbol{\lambda} \in\mathbb {R}^{n_{c}}\) represents the generalized reaction forces in the cut joints. In order to derive the input-output normal-form of the system (25a)–(25b) according to Sect. 2, the set of differential-algebraic equations has to be transformed into a set of f c =fn c ordinary differential equations.

There are several ways of rephrasing differential-algebraic equations as purely differential equations. One way is partitioning the generalized coordinates q∈ℝf into a set of independent coordinates \(\boldsymbol{q}_{i} \in\mathbb{R}^{f_{c}}\) and dependent coordinates \(\boldsymbol{q}_{d} \in \mathbb{R}^{n_{c}}\) according to

$$ \boldsymbol{q}^T = \bigl[ \matrix{ \boldsymbol{q}_{i}^T & \boldsymbol{q}_{d}^T }\bigr] $$
(26)

and expressing the system dynamics in these independent coordinates, see e.g. [10]. The first step is to differentiate the constraint equations c twice with respect to the time t leading to the constraint equations on acceleration level

$$ \ddot{\boldsymbol{c}}(\ddot{\boldsymbol{q}},\dot{\boldsymbol {q}},\boldsymbol{q},t) = \boldsymbol{C}(\boldsymbol{q} ) \ddot{\boldsymbol{q}} + \boldsymbol{c}''(\dot{\boldsymbol{q}},\boldsymbol{q},t) = \boldsymbol{0}, $$
(27)

with the vector c″ representing the local accelerations due to the constraints. For linear independent constraint equations and a reasonable choice of dependent coordinates, the Jacobian matrix C can be split up in an independent and a dependent part leading to

$$ \ddot{\boldsymbol{c}}(\ddot{\boldsymbol{q}},\dot{\boldsymbol{ q}},\boldsymbol{q},t) = \boldsymbol{C}_{d}(\boldsymbol{q}) \ddot{\boldsymbol{q}}_{d} + \boldsymbol{C}_{i}( \boldsymbol{q}) \ddot{\boldsymbol{q}}_{i} + \boldsymbol{c}''(\dot{ \boldsymbol{q}},\boldsymbol{q},t) = \boldsymbol{0}, $$
(28)

in which \(\boldsymbol{C}_{d} \in\mathbb{R}^{n_{c} \times n_{c}}\) must be a regular matrix. Solving Eq. (28) for the dependent accelerations \(\ddot{\boldsymbol{q}}_{d}\) and dropping the dependencies for better readability, the dependent accelerations \(\ddot{\boldsymbol {q}}_{d}\) can be expressed as

$$ \ddot{\boldsymbol{q}}_{d} = -\boldsymbol{C}_{d}^{-1} \bigl(\boldsymbol{C}_{i} \ddot{\boldsymbol{q}}_{i} + \boldsymbol{c}'' \bigr). $$
(29)

Based on this relationship, the generalized accelerations can be written as

$$ \ddot{\boldsymbol{q}} = \left[ \matrix{ \boldsymbol{I} \cr-\boldsymbol{C}_{d}^{-1} \boldsymbol{C}_{i} }\right] \ddot{ \boldsymbol{q}}_{i} + \left[ \matrix{ \boldsymbol{0} \cr-\boldsymbol{C}_{d}^{-1} \boldsymbol{c}'' }\right] = \boldsymbol{J}_c \ddot{\boldsymbol{q}}_{i} + \boldsymbol{b}''. $$
(30)

By inserting Eq. (30) into Eq. (25a) and by left-side multiplication with the transposed Jacobian matrix J c the equations of motion in minimal coordinates of the multibody body system with kinematic loop are obtained,

$$ \boldsymbol{J}_c^T \boldsymbol{M}(\boldsymbol{q}) \bigl(\boldsymbol {J}_c \ddot{ \boldsymbol{q}}_{i} + \boldsymbol{b}'' \bigr)+ \boldsymbol{J}_c^T\boldsymbol{k}(\boldsymbol{q},\dot{\boldsymbol {q}})=\boldsymbol{J}_c^T \boldsymbol{g}(\boldsymbol{q},\dot{\boldsymbol{q}})+\boldsymbol {J}_c^T\boldsymbol{B}(\boldsymbol{q}) \boldsymbol{u}+ \boldsymbol{J}_c^T\boldsymbol{C}^T(\boldsymbol{q}) \boldsymbol {\lambda}. $$
(31)

Since the relation

$$ \boldsymbol{J}_c^T\boldsymbol{C}^T = \bigl[ \matrix{ \boldsymbol{I} & -\boldsymbol{C}_{i}^{T} \boldsymbol{C}_{d}^{-T} }\bigr] \left[ \matrix{ \boldsymbol{C}_i^T \cr\noalign{\vspace*{2pt}} \boldsymbol{C}_{d}^{T} }\right] = \boldsymbol{C}_i^T - \boldsymbol{C}_{i}^{T} \boldsymbol{C}_{d}^{-T} \boldsymbol{C}_{d}^{T} = \boldsymbol{0} $$
(32)

holds, the Lagrange multipliers λ vanish in Eq. (31) and the equations of motion can be displayed as

$$ \overline{\boldsymbol{M}}(\boldsymbol {q})\ddot{\boldsymbol{q}}_i+ \overline{\boldsymbol{k}}(\boldsymbol{q},\dot{\boldsymbol {q}})=\overline{\boldsymbol{g}}(\boldsymbol{q},\dot{\boldsymbol{q}})+ \overline{\boldsymbol{B}}(\boldsymbol{q}) \boldsymbol{u}. $$
(33)

These equations of motion in minimal form allow the partitioning of the independent accelerations \(\ddot{\boldsymbol{q}}_{i}\) into the rigid accelerations \(\ddot{\boldsymbol{q}}_{r}\) and the elastic accelerations \(\ddot {\boldsymbol{q}}_{e}\) according to Eq. (2).

Based on this representation the equations of motion (33) can be transformed into the input-output normal-form, which permits the analysis of the internal dynamics and the application of the exact model inversion procedures discussed in the previous sections. This approach is applied to the flexible parallel manipulator shown in Fig. 5. Using for the coordinate partitioning the independent coordinates q i =[q r ,q e ] with q r =[s 1,α], again a linearly combined system output can be used to approximate the end-effector position

$$ \boldsymbol{r}^{ef}(\boldsymbol{q}_r,\boldsymbol{q}_e)\approx \boldsymbol{r}^{ef}(\boldsymbol{y}) \quad\mbox{with } y_1=s_1, \ y_2= \alpha+\boldsymbol{\varGamma}\boldsymbol{q}_e. $$
(34)

The weighting matrix Γ can be derived similarly to Sect. 3. The transformation into input-output normal-form shows, that it is again a system of vector relative degree r={2,…,2} and the elastic coordinates q e describe the internal dynamics. Also in this case the weighting matrix Γ derived from geometric considerations yields a non-minimum phase system and requires a stable inversion. A simulation result is presented in Sect. 7.

Fig. 5
figure 5

Parallel flexible manipulator

6 Model Inversion Using Servo-Constraints and Projections

In this section an alternative approach for the solution of the exact model inversion problem is introduced, which is especially appealing for parallel flexible manipulators. Formulating the complete problem as a set of differential-algebraic equations according to

(35a)
(35b)
(35c)

with the vector \(\boldsymbol{c} \in\mathbb{R}^{n_{c}}\) representing the constraints due to the kinematic loops and the vector h∈ℝm describing the so-called servo-constraints [1, 14]. This unifies the handling of both types of constraints. Due to the fact that the constraint equations are on position level, it is not guaranteed that a numerical solution can be found easily. In order to ensure that a solution can be obtained, a formalism to reduce the index of the system without imposing a numerical drift is presented.

6.1 Differentiation Index

A very important characteristic of differential-algebraic equations is the differentiation index. It describes how a perturbation in the variables effects the solution of the DAE. The differentiation index is defined as the minimal number of differentiations of the constraint equations necessary to obtain ordinary differential equations for all variables. To ensure a better readability, the constraints in Eq. (35b) and Eq. (35c) are combined leading to the representation

(36a)
(36b)

with the matrix \(\boldsymbol{\varTheta} = [\boldsymbol{B} \ \boldsymbol{C}^{T}] \in\mathbb{R}^{f \times(m + n_{c})}\) and the vector \(\boldsymbol{\xi}^{T} = [\boldsymbol{h}^{T} \ \boldsymbol{c}^{T}]^{T} \in \mathbb{R}^{(m + n_{c})}\) of the constraints. Firstly, the constraint equations are differentiated with respect to the time

$$ \begin{aligned}[c] \frac{d \boldsymbol{\xi}}{d t} &= \frac{\partial\boldsymbol{\xi}}{\partial\boldsymbol{{q}}} \dot {\boldsymbol{q}} + \frac{\partial\boldsymbol{\xi}}{\partial\boldsymbol{{\lambda }}}\dot{ \boldsymbol{\lambda}} + \frac{\partial\boldsymbol{\xi}}{\partial\boldsymbol{u}}\dot {\boldsymbol{u}} + \frac{\partial\boldsymbol{\xi}}{\partial t}=\boldsymbol{0} \\ \dot{\boldsymbol{\xi}} &= \left[ \matrix{ \boldsymbol{H} \\ \boldsymbol{C} }\right] \dot{ \boldsymbol{q}} + \boldsymbol{\xi}' = \boldsymbol{\varXi} \dot{\boldsymbol{q}} + \boldsymbol{ \xi}'=\boldsymbol{0}, \end{aligned} $$
(37)

in which the matrix \(\boldsymbol{\varXi}=[\boldsymbol{H}^{T}, \boldsymbol{C}^{T}]^{T} \in\mathbb{R}^{(m + n_{c}) \times f_{t}}\) summarized the Jacobian matrices of the servo-constraints H and geometric constraints C. As the constraint equations do neither depend on the reaction forces λ nor on the system inputs u, the Jacobian matrix of the unified constraints ξ with respect to λ and u vanish. Since Eq. (37) also does not depend on λ or u, the second partial differentiation can be displayed as

$$ \ddot{\boldsymbol{\xi}} = \boldsymbol{\varXi} \ddot{\boldsymbol{q}} + \boldsymbol{\xi}''=\boldsymbol{0}. $$
(38)

By solving Eq. (36a) for the generalized accelerations \(\ddot{\boldsymbol{q}}\) and inserting them into Eq. (38), the constraint equations on velocity level can be presented as

$$ \ddot{\boldsymbol{\xi}} = \boldsymbol{\varXi }(\boldsymbol{q}) \boldsymbol{M} (\boldsymbol{q})^{-1} \biggl(\boldsymbol{g}(\boldsymbol{q},\dot{\boldsymbol {q}})-\boldsymbol{k}(\boldsymbol{q},\dot{\boldsymbol{q}}) + \boldsymbol{\varTheta}(\boldsymbol{q}) \left[ \matrix{\boldsymbol{u}\cr\boldsymbol{\lambda} }\right] \biggr) + \boldsymbol{\xi}'' =\boldsymbol{0}. $$
(39)

The final differentiation yields to the formulation

(40)

providing a set of differential equations for the generalized reaction forces λ and the system inputs u, if the matrix R=ΞM −1 Θ is regular. In this case, the system has a differentiation index of 3. If the matrix R is not invertible, the differentiation index is accordingly higher. For the special case, that the system has only independent geometric constraints, R reduces to R=CM −1 C T which is positive definite and therewith invertible. If only servo-constraints occur it is R=HM −1 B. This is exactly the decoupling matrix occurring in Eq. (4) of the symbolic coordinate transformation into input-output normal-form. Thus, if R is invertible the system has differentiation index 3 and vector relative degree r={2,…,2}. In [2] it is discussed that the differentiation index is one higher than the relative degree, if the internal dynamics are not affected by a constraint. In the following it is assumed, that servo-constraints and geometric constraints occur and that the matrix R has full rank, providing differentiation index 3.

6.2 Projections

In order to reduce the index of the system, the equations of motion (36a) and the constraint equations on acceleration level (39) are taken into account. The first step is eliminating the generalized reaction forces λ and the system inputs u with a projection. For classical DAEs this method is sometimes referred as the null space method, see [7]. For servo-constraint problems, the corresponding projection matrices are obtained with two QR decompositions according to

(41a)
(41b)

The matrix Ξ T is split into an orthogonal Q r ∈ℝf×f and a triangular matrix \(\boldsymbol{R}_{r} \in\mathbb{R}^{f \times(m + n_{c})}\), whose f−(m+n c ) lower rows are zero. Therefore, the matrix Ξ T can be displayed as the product of the first (m+n c ) columns of Q r , called Q r,1, and the first (m+n c ) rows of R r , called R r,1. With this relationship, the matrix Ξ can be written as

$$ \boldsymbol{\varXi} = \boldsymbol{R}_{r,1}^T \boldsymbol{Q}_{r,1}^T. $$
(42)

Due to the fact that the matrix Q r is orthogonal, the matrix product

$$ \boldsymbol{\varXi} \boldsymbol{J}_r = \boldsymbol{R}_{r,1}^T \underbrace{\boldsymbol{Q}_{r,1}^T \boldsymbol{J}_r}_{=\, \boldsymbol{0}} $$
(43)

vanishes. Therefore, the columns of the matrix J r span the null space of the matrix Ξ and the columns of the matrix Q r,1 span the row space of the matrix Ξ, respectively. Since the dimensions of Ξ T and Θ match, an analog procedure shows that the columns of the matrix J l span the left null space of the matrix Θ and the columns of the matrix Q l,1 span the column space of the matrix Θ.

The properties of the matrix Q r are used to introduce a new set of generalized accelerations \(\ddot{\boldsymbol{z}}\) according to

$$ \ddot{\boldsymbol{q}} = \boldsymbol{Q}_r \ddot {\boldsymbol{z}} = \boldsymbol{J}_r \ddot{\boldsymbol{z}}_i + \boldsymbol{Q}_{r,1} \ddot{ \boldsymbol{z}}_d, $$
(44)

with the independent accelerations \(\ddot{\boldsymbol{z}}_{i} \in \mathbb{R}^{f - (m + n_{c})}\) and the dependent accelerations \(\ddot{\boldsymbol{z}}_{d} \in \mathbb{R}^{(m + n_{c})}\). Substituting the generalized accelerations in Eq. (38) with Eq. (44) results in

(45)

Solving Eq. (45) for the dependent accelerations \(\ddot{\boldsymbol{z}}_{d}\) leads to

$$ \ddot{\boldsymbol{z}}_d = - \boldsymbol{R}_{r,1}^{-T} \boldsymbol{ \xi}''. $$
(46)

Therefore, using Eq. (44), the generalized coordinates can be expressed as

$$ \ddot{\boldsymbol{q}} = \boldsymbol{J}_r \ddot{ \boldsymbol{z}}_i - \boldsymbol{Q}_{r,1} \boldsymbol{R}_{r,1}^{-T} \boldsymbol{\xi}''. $$
(47)

The next step is to eliminate the reaction forces λ and system inputs u and to express the equations of motion in terms of the independent accelerations \(\ddot{\boldsymbol{z}}_{i}\). By substituting the generalized accelerations \(\ddot{\boldsymbol{q}}\) in Eq. (36a) with Eq. (47) and multiplying the arising equations with the transposed Jacobian matrix J l from the left yields to

$$ \boldsymbol{J}_l^T \boldsymbol {M}(\boldsymbol{q}) \bigl(\boldsymbol{J}_r \ddot{\boldsymbol{z}}_i - \boldsymbol{Q}_{r,1} \boldsymbol{R}_{r,1}^{-T} \boldsymbol{\xi}'' \bigr) + \boldsymbol{J}_l^T \boldsymbol{k}(\boldsymbol{q},\dot{\boldsymbol {q}}) = \boldsymbol{J}_l^T \boldsymbol{g}(\boldsymbol{q},\dot{\boldsymbol{q}}) + \underbrace {\boldsymbol{J}_l^T \boldsymbol{\varTheta}( \boldsymbol{q})}_{=\, \boldsymbol{0}} \left[ \matrix{ \boldsymbol{u}\cr\boldsymbol{\lambda} }\right]. $$
(48)

This leads to the equations of motion in the new, independent coordinates z i . These equations describe the internal dynamics of the servo-constraint problem given in Eqs. (35a)–(35c). This corresponds to the internal dynamics given by Eq. (9) using symbolic coordinate transformation. In order to solve the initial value problem, these equations have to be transformed back to the original set of coordinates q. Solving Eq. (48) for independent accelerations \(\ddot {\boldsymbol{z}}_{i}\) according to

$$ \ddot{\boldsymbol{z}}_i = \bigl(\boldsymbol{J}_l^T \boldsymbol{M}( \boldsymbol{q}) \boldsymbol{J}_r \bigr)^{-1} \boldsymbol{J}_l^T \bigl(\boldsymbol{g}(\boldsymbol{q},\dot{\boldsymbol{q}}) - \boldsymbol{k}(\boldsymbol{q},\dot{\boldsymbol{q}}) + \boldsymbol {M}(\boldsymbol{q}) \boldsymbol{Q}_{r,1} \boldsymbol{R}_{r,1}^{-T} \boldsymbol{\xi}'' \bigr) $$
(49)

and inserting the independent accelerations \(\ddot{\boldsymbol{z}}_{i}\) into Eq. (47) leads to

$$ \ddot{\boldsymbol{q}} = \boldsymbol{J}_{r} \bigl(\boldsymbol{J}_{l}^T \boldsymbol{M}(\boldsymbol{q}) \boldsymbol{J}_{r}\bigr)^{-1} \boldsymbol{J}_{l}^T \bigl(\boldsymbol{g} - \boldsymbol{k} + \boldsymbol{M}(\boldsymbol {q}) \boldsymbol{Q}_{r,1} \boldsymbol{R}_{r,1}^{-T} \boldsymbol{\xi}''\bigr) - \boldsymbol{Q}_{r,1} \boldsymbol{R}_{r,1}^{-T} \boldsymbol{ \xi}''. $$
(50)

In order to derive a state space representation, the same procedure is done for the velocities. Similar to Eq. (47), the independent velocities \(\dot{\boldsymbol{z}}_{i}\) can be expressed as

$$ \dot{\boldsymbol{q}} = \boldsymbol{J}_r \dot{ \boldsymbol{z}}_i - \boldsymbol{Q}_{r,1} \boldsymbol{R}_{r,1}^{-T} \boldsymbol{\xi}'. $$
(51)

Multiplying Eq. (51) with the transposed Jacobian matrix J l from the left and solving for \(\dot {\boldsymbol{z}}_{i}\) results in

$$ \dot{\boldsymbol{z}}_i = \bigl(\boldsymbol{J}_l^T \boldsymbol{J}_r \bigr)^{-1} \boldsymbol{J}_l^T \bigl( \dot{\boldsymbol{q}} + \boldsymbol{Q}_{r,1} \boldsymbol {R}_{r,1}^{-T} \boldsymbol{\xi}' \bigr). $$
(52)

Inserting this equation into Eq. (51) results in the representation necessary for state space representation

$$ \dot{\boldsymbol{q}} = \boldsymbol{J}_{r} \bigl(\boldsymbol{J}_{l}^T \boldsymbol{J}_{r}\bigr)^{-1} \boldsymbol{J}_{l}^T \bigl(\dot{\boldsymbol{q}} + \boldsymbol{Q}_{r} \boldsymbol{R}_{r}^{-T} \boldsymbol{\xi}'\bigr) - \boldsymbol{Q}_{r} \boldsymbol{R}_{r}^{-T} \boldsymbol{\xi}', $$
(53)

in which the velocities do not violate the constraint equations. One of the benefits of this representation is, that the equations of motion no longer dependent on the reaction forces nor on the system inputs and at the same time comply with the constraints. But the back transformation also introduced 2(m+f c ) zero eigenvalues leading to a numerical drift in the solution [3]. The same effect occurs, when the Lagrange equations of the first kind are applied to constraint mechanical systems.

A suitable way of avoiding the drift is to reformulate the system given by Eq. (50) and Eq. (53) as an index 1-DAE by only considering 2(f−(m+n c )) differential equations, which describe the internal dynamics, and taking the remaining 2(m+f c ) coordinates as algebraic equations into account. The generalized coordinates are split according to \(\boldsymbol{q}^{T} = [\boldsymbol{q}_{i}^{T} \ \boldsymbol{q}_{d}^{T}]\) with q i being the coordinates describing the internal dynamics and q d being the coordinates describing the driven dynamics. From the analysis in Sect. 5 it is known that the internal dynamics can be described by the elastic coordinates and thus it is q d =q e . Then, the equations of motion of the servo-constraint problem in state space representation can be expressed as

(54)

in which the matrix P represents the Jacobian matrix of the vector q i with respect to the generalized coordinates q and the matrix \(\hat{\boldsymbol{M}}\) equals \(\boldsymbol{J}_{r} (\boldsymbol{J}_{l}^{T} \boldsymbol{M}(\boldsymbol{q}) \boldsymbol{J}_{r})^{-1} \boldsymbol{J}_{l}^{T}\). The numerical integration of these equations as an initial value problem does not provoke a drift in the solution.

In analogy to Sect. 2.2 the desired system inputs u d together with the reaction forces λ, which both are eliminated in Eq. (54), can be derived by solving Eq. (36a) for the generalized accelerations and substituting them with Eq. (47) according to

$$ \boldsymbol{J}_r \ddot{\boldsymbol{z}}_i - \boldsymbol{Q}_{r,1} \boldsymbol{R}_{r,1}^{-T} \boldsymbol{\xi}'' = \boldsymbol{M}( \boldsymbol{q})^{-1} \bigl(\boldsymbol{g}(\boldsymbol{q},\dot {\boldsymbol{q}}) - \boldsymbol{k}(\boldsymbol{q},\dot{\boldsymbol {q}}) \bigr) + \boldsymbol{M} (\boldsymbol{q} )^{-1} \boldsymbol{\varTheta}(\boldsymbol{q}) \left[ \matrix{ \boldsymbol{u}\cr\boldsymbol{\lambda} }\right]. $$
(55)

Multiplying this equation from the left with the transposed matrix \(\boldsymbol {Q}_{r_{1}}\) yields, in case of an index 3 problem, a regular matrix \(\boldsymbol{Q}_{r,1}^{T} \boldsymbol{M}^{-1} \boldsymbol{\varTheta }\). Thus solving for the desired reaction forces and system inputs leads to

$$ \left[ \matrix{ \boldsymbol{u}_d \cr\boldsymbol{\lambda} }\right] = - \bigl(\boldsymbol{Q}_{r,1}^T \boldsymbol{M}^{-1} \boldsymbol{\varTheta} \bigr)^{-1} \bigl (\boldsymbol {R}_{r,1}^{-T} \boldsymbol{\xi}'' + \boldsymbol{Q}_{r,1}^T \boldsymbol{M}^{-1} (\boldsymbol{g} - \boldsymbol{k} ) - \underbrace{\boldsymbol{Q}_{r,1}^T \boldsymbol{J}_r}_{=\, \boldsymbol{0}} \ddot{\boldsymbol{z}}_i \bigr). $$
(56)

6.3 Solution of the Two-Point Boundary Value Problem

In order to solve the two-point boundary value problem for this approach, some additional considerations have to be taken into account. Firstly, the question arises which representation is supposed to be used to solve the boundary value problem. There are three qualified candidates providing different advantages and drawbacks. The first candidate is the representation describing solely the internal dynamics of the model described by the first two rows of Eq. (54). By using this representation the formulation of the boundary conditions follows the description in Sect. 2, but it is necessary to compute the coordinates of the driven dynamics with a root search at each time step.

If a corresponding solver is available, the differential-algebraic representation according to Eq. (54) can be used to obtain a bounded solution. The third possibility is using the projected dynamics according to Eqs. (50) and (53). In this case, the numerical overhead is considerably reduced. The last two candidates have in common that the formulation of the boundary conditions has to be modified. In addition to the already mentioned boundary conditions based on the eigenspaces of the internal dynamics, it is necessary to use a combination of the constraint equations on position and velocity level at the time t 0 or t f as well. A reasonable choice is ensuring that the solution fulfills the constraint equations on position level at t 0 and t f .

7 Application to Parallel Manipulators

The model inversion formalisms using coordinate transformation presented in Sects. 2 and 5 and servo-constraints presented in Sect. 6 are applied to the parallel flexible manipulator shown in Fig. 5. The trajectory presented in Fig. 6 is used. The system consists of a long and a short arm each mounted on a car. The long arm is composed of three rigid parts connected with two elastic links and the short arm is composed of two rigid parts connected with an elastic link. The three identical elastic links, which are made out of steel, have length l e =400 mm, height h e =80 mm and depth d e =2 mm. The overall length of the long arm is l l =1081 mm, whereas the length of the short arm is l s =560 mm. The end of the short arm is connected to the middle of the long arm by a revolute joint. The long arm is modeled as one elastic body consisting of two beam elements which are connected with rigid bodies. A model order reduction of the long arm based on proper orthogonal decomposition, see [5], results in a reduced elastic body with twelve shape functions to describe the elastic deformations. A similar procedure leads to a reduced model of the short arm with six shape functions. Due to the revolute joint the elastic deformations of the long arm are described in a secant floating frame of reference, whereas the deformations of the short arm are described in a tangent floating frame of reference. Therefore, the kinematics of the system with cut kinematic loop can be described with four rigid coordinates q r =[s 1 s 2 α β]T and 18 elastic coordinates q e . In analogy to the serial manipulator, the end-effector of the long arm is supposed to follow a straight test trajectory, see Fig. 6. The end-effector point is the system output and can be approximated using the system output

$$ \boldsymbol{y}= \left[ \matrix{ s_1 \cr0 }\right] + \left[ \matrix{ \cos(\alpha) & -\sin(\alpha) \cr \sin(\alpha) & \hphantom{-}\cos(\alpha) }\right] \left( \left[ \matrix{ l_{\mathit{long}} \cr0 }\right] + \left[ \matrix{ 0 \cr\sum_{i=1}^{f_e} w_i \varPhi_i q_{ei} }\right] \right), $$
(57)

where Φ i is the ith shape function evaluated at the end-effector point. For w i =1 the exact end-effector position is obtained. In this case the system is non-minimum phase, and an output relocation can be performed for obtaining a minimum phase system. In this case the weights w i are used as the design parameters for the optimization as presented in Sect. 3.2. For the servo-constraint approach the system output (57) is used, while for the coordinate transformation approach the linearly combined system output (34) is used.

Fig. 6
figure 6

Desired trajectory of the parallel manipulator

Four different cases are studied. First of all, the servo-constraint approach is used and the weights w i are all set to zero leading to an output omitting the elastic deformations, corresponding to a rigid output. In this case, the internal dynamics are stable and the forward integration of Eq. (54) can be used. The resulting error of the end-effector trajectory tracking is presented in Fig. 7, which shows a very large deviation of approximately 12 mm.

Fig. 7
figure 7

Error of the end-effector trajectory with rigid output (left) and using optimized weights and classical inversion (right)

In order to improve the achievable accuracy of the trajectory tracking problem, an optimization of the weights is performed. Therefore, the algorithm presented in Sect. 3.2 is applied to the system dynamics described in Eq. (54). In this case, the design parameters p are the weights w, which are varied from −1 to 1. The optimized output yields to a minimum phase system with a minimal trajectory tracking error. Then, for feedforward control design the servo-constraint approach is used in combination with forward integration. Figure 8 shows, that the error obtained is about 0.6 mm and thus less than a tenth of the error obtained with the rigid output.

Fig. 8
figure 8

Error of the end-effector trajectory using coordinate transformation (left) and servo constraints (right)

Next, the stable inversion is applied to the system with end-effector point as system output, which has an unbounded internal dynamics. First, the coordinate transformation approach is used with linearly combined output (34), to approximate the end-effector point. The boundary value problem is solved with the Matlab solver bvp5c. Figure 8 shows the obtained error of the end-effector trajectory, which is around 0.03 mm. While the linearly combined system output is reproduced nearly exactly, this small tracking error of the end-effector point originates form its approximation by the linearly combined output.

Finally, the servo-constraint approach is used with exact output (57). Unlike the previous computations using the servo-constraint approach, only the differential part of Eq. (54) is considered, because the boundary value problem solver bvp5c does not support differential-algebraic equations. The error of the solution obtained by the boundary value problem is presented in Fig. 8. The maximal discrepancy is about 0.003 mm. Unlike the other cases, this error represents solely the solver tolerance. In summary, both stable inversion based approaches yield nearly exact reproduction of the end-effector trajectory.

8 Summary

The derivation of feedforward control designs for serial and flexible manipulators were presented. Firstly, exact inverse model based on concepts from differential geometric control theory were used and applied to serial and parallel flexible manipulators. It was shown, that the stability properties of the internal dynamics determines the complexity of the feedforward control design. By output optimization stable internal dynamics can be obtained, while keeping the end-effector tracking error small. In addition an alternative approach for feedforward control based on servo-constraints was presented and applied to a parallel flexible manipulator. By using numerical projection into the unconstrained subspace the description of the internal dynamics is obtained, while its differentiation index is reduced. Then, for the solution the same concepts as in the first feedforward control approach can be used. Both approaches provide powerful tools to design accurate feedforward control for flexible manipulators