1 Introduction

Current engineering trends include the development of lightweight machines, many types of cable-driven manipulators, and flexible joint robots. These systems have more degrees of freedom than independent control inputs and are called underactuated systems [1, 2]. Underactuation occurs naturally in the design of many mechanical systems. With the development of new mechanical designs and functionalities, control strategies must be designed accordingly to meet accuracy requirements. For underactuated systems, it is usually not possible to control all degrees of freedom independently and therefore output trajectory tracking control of such systems is a challenging problem. In this study, we follow the popular two degree of freedom control methodology [3] to solve the trajectory tracking control problem since it can be applied efficiently to underactuated systems. In particular, the considered control strategy combines funnel control [4, 5] (as the feedback component) with feedforward control based on servo-constraints [6, 7]. This combination has been shown in simulation to be a successful control strategy for underactuated multibody systems, cf. [5, 8].

In this article, we present results to experimentally validate the two-design-degree of freedom control strategy applied to a torsional oscillator. The oscillator consists of two flywheels connected by a rod, introduced in Sect. 5 and depicted in Fig. 3a. This system can be considered as a simplified model of a drive-train, cf. [9]. Therefore, experimentally validating control strategies with this setup is an important step towards application of the proposed controller to real systems such as drive-trains.

1.1 Background and motivation

In the feedforward branch, we aim to cancel out all known dynamics by using an inverse model as a feedforward controller. Classical approaches, such as the Byrnes–Isidori normal form [10], are often burdensome to derive for complex underactuated multibody systems due to the involved algebraic manipulations of the system dynamics. In contrast, the servo-constraints approach is an efficient strategy to compute the inverse model of underactuated multibody systems [6, 7]. For this purpose, the equations of motion are appended by so-called servo-constraints, which constrain the system output to a prescribed trajectory. The resulting set of differential-algebraic equations (DAEs) describes the inverse model. The solution of the DAE problem directly includes the control inputs that move the (nominal) system on the prescribed trajectory. The inverse model DAEs can be solved in real time [11]. In the context of servo-constraints, the DAEs are often solved using the implicit Euler scheme [6, 12], but there also exist results for higher order integration schemes, such as backwards differentiation formulas [13, 14]. This methodology has shown to be an efficient control strategy for complex underactuated multibody systems. Typical application examples lie in the class of differentially flat systems, such as cranes [11, 15, 16] or mass-spring chains [13, 17]. However, the method is also applicable to minimum phase systems [12] or nonminimum phase systems. Nonminimum phase systems involve a stable inversion, which is reformulated for the servo-constraints framework in [18] and applied to flexible manipulators in [1921].

While there exist many theoretical results, only few experimental studies are documented for the application of servo-constraints. An experimental study is presented in [22] for a mass-spring system and in [23] for a small scale crane system. An experimental study of the real-time capabilities of the scheme is presented in [11] for the differentially flat crane system. There are even less experimental results for the real-time application of servo-constraints on minimum phase systems. For example in [24], the method is applied to a flexible manipulator, for which stable internal dynamics is obtained by adding a counter-weight as well as using output relocation.

Of course, the nominal model that forms the basis for the inversion can never capture all physical effects. There always remain some uncertainties, which are for example classified into five categories in [25]. Therefore, there will be a tracking error when the feedforward strategy is applied to the real system. This tracking error has to be compensated by a suitable feedback strategy.

As the feedback component in the present work, we apply the so-called funnel controller, first proposed in the seminal work [4]. It is an adaptive high-gain feedback control strategy, which admits the following features. First, it achieves that the output \(y(t)\) of a system tracks a given reference signal \(y_{\mathrm{ref}}(t)\) with prescribed accuracy. This means that the tracking error \(e(t) := y(t) - y_{\mathrm{ref}}(t)\) is guaranteed to evolve within given (possibly time-varying) bounds, i.e., \(\| e(t) \| < \psi (t)\) for all \(t \ge 0\), where \(\psi \) is the error tolerance given by the engineer. Second, the controller is model-free in the sense that the feedback law requires only the instantaneous values of the error signal \(e(t)\); in particular, no system parameters are utilized (for systems with higher relative degree the feedback law involves the higher order derivatives of the error signal, but no system parameters). Funnel control proved to be a powerful tool for tracking problems in various applications. To name but a few, it has been investigated in control of industrial servo-systems [26], underactuated multibody systems [5, 8], electrical circuits [27, 28], peak inspiratory pressure [29], and adaptive cruise control [30]. Moreover, even control of infinite-dimensional systems has been investigated. For instance, a boundary controlled heat equation in [31], performing reference tracking of a moving water tank was studied in [32], and defibrillation processes of the human heart were considered in [33]. For a more comprehensive review and further applications, see the recent work [34]. Moreover, in that article a funnel controller that achieves asymptotic exact tracking for unknown nonlinear systems with arbitrary relative degree was designed. The aspect of exact tracking has been further considered in [35], where exact output tracking in predefined finite time is achieved with funnel control. Since in real applications system data are only available at discrete sampling times, a feedback controller for sampled-data systems was developed in [36], which achieves tracking with predefined (possibly time-varying) accuracy. Recently, the idea of funnel control was utilized to design a model predictive control scheme [37, 38], which involves a particular stage cost and thus achieves reference tracking with prescribed error tolerance with superior control performance compared to pure feedback controllers. This MPC scheme was further equipped with a feedback loop in [39] to obtain a robust controller, and a learning scheme was added in [40] to improve the underlying model during the control phase.

Experimental results involving funnel control are presented in [4144]. In [41] a funnel controller was combined with a PI controller to perform speed control of an electrical drive, where the measurement data is noisy. In [42] the bang-bang funnel controller, proposed in [45], was extended with a neutral mode, and its functioning was experimentally verified with position control of an electrical drive. In [43] position and speed control of an electrical drive using a saturated funnel controller for systems with relative degree two was successfully tested in the laboratory. In [44] the application of a funnel controller combined with an extended state observer was experimentally verified for a permanent-magnet synchronous motor.

1.2 Problem statement

The objective of this contribution is to address the need for experimental validation of the two-component control strategy described above. In terms of the feedforward control strategy, experimental results for its real-time application are so far limited for a minimum phase system. In terms of the combined strategy, despite theoretical results [5, 8], the lack of empirical evidence hinders the practical application of the proposed control strategy. Therefore, this research aims to provide experimental results that validate the efficiency and reliability of the control strategy under real-world conditions. By conducting comprehensive experiments and analyzing the obtained data, this study seeks to bridge the gap between theory and practice.

1.3 Scope and contribution

In our previous works [5, 8], we analyze the described control strategy in a theoretical framework with supporting simulation results. In this contribution, we provide experimental data which support the theoretical results. We apply the control strategy described above to a torsional oscillator with two rotating flywheels. We present experimental results that validate the real-time application of servo-constraints for a minimum phase system. Further, we present experimental data to show that the proposed combined control strategy can compensate the known drawbacks of the funnel controller, in particular, peaky input signals cf. [38]. In addition, we present insights about the discrete implementation of funnel control on a test bench. This aspect was also considered in the numerical example in [37]. Thus, we take another step towards the application of funnel control to real-world applications.

1.4 Organization of the paper

The remainder of the paper is organized as follows. First, we briefly introduce the modeling approach based on multibody system dynamics and the considered control strategy in Sect. 2. Afterwards, the feedforward control strategy based on servo-constraints is introduced in Sect. 3.1, while the funnel controller is presented in Sect. 3.2. In Sect. 4, we describe the experimental setup and analyze its dynamics and properties with respect to the controller design. The experimental results are shown in Sect. 5. Finally, we conclude the paper with summarizing remarks and an outlook in Sect. 6.

2 Modeling and control strategy

We model the considered mechanical system using concepts from multibody dynamics [46]. Here, we consider holonomic systems with \(n\) degrees of freedom in minimal coordinates, which are described by generalized coordinates \(q\). The equations of motion are given by

$$ \begin{aligned} \dot{q}(t) &= v(t), \\ M(q(t)) \dot{v}(t) &= f\big(q(t),v(t)\big) + B(q(t))\, u(t), \\ y(t) &=h\big(q(t),v(t)\big) \end{aligned} $$
(1)

with

  • the generalized coordinates \(q: I\to \mathbb{R}^{n}\) and generalized velocities \(v: I\to \mathbb{R}^{n}\), where \(I\subseteq \mathbb{R}_{\ge 0}\) is some interval,

  • the generalized mass matrix \(M:\mathbb{R}^{n}\to \mathbb{R}^{n\times n}\),

  • the generalized forces \(f:\mathbb{R}^{n}\times \mathbb{R}^{n}\to \mathbb{R}^{n}\),

  • the input distribution matrix \(B:\mathbb{R}^{n}\to \mathbb{R}^{n\times m}\),

  • the output measurement function \(h:\mathbb{R}^{n}\times \mathbb{R}^{n}\to \mathbb{R}^{m}\).

The functions \(u:\mathbb{R}_{\ge 0}\to \mathbb{R}^{m}\) describe the inputs that act on the multibody system (1). For underactuated systems, we have \(m< n\), and it is not possible to control all degrees of freedom independently. The functions \(y:\mathbb{R}_{\ge 0}\to \mathbb{R}^{m}\) are the outputs associated with the multibody system (1). The functions in (1) are assumed to be sufficiently smooth, and the mass matrix is assumed to be pointwise symmetric positive definite, i.e.,

$$ \forall \,q\in \mathbb{R}^{n}:\quad M(q) = M(q)^{\top}>0 \,. $$
(2)

The control objective is that the system output \(y\) tracks a prescribed trajectory \(y_{\mathrm{ref}}:\mathbb{R}_{\ge 0}\to \mathbb{R}^{m}\). We follow the popular two-design-degree of freedom control structure, which combines a feedforward controller with a feedback controller, see e.g. [3]. A block diagram of the methodology is shown in Fig. 1. While the feedforward controller is responsible for steering the system output to the reference trajectory and accounts for most of the motion, the feedback controller rejects disturbances and accounts for modeling errors. As in our preliminary simulation-based work [5, 8], we choose a feedforward control strategy based on the method of servo-constraints and a funnel controller as the feedback component. Both concepts are briefly introduced in the following.

Fig. 1
figure 1

Two-design-degree of freedom control approach for multibody systems

3 Controller components

In this section we introduce the two controller components. First, the feedforward component based on the concept of servo-constraints is explained. Further, we discuss its implementation in the current context. Second, the feedback component funnel control is introduced.

3.1 Feedforward control based on servo-constraints

The feedforward controller is computed in terms of an inverse model of the system to cancel out all known dynamics. The method of servo-constraints provides an efficient and very general approach for complex underactuated multibody systems [6, 7]. Motivated by modeling classical mechanical constraints, such as joints, the equations of motion (1) are appended by \(m\) servo-constraints

$$ h(q(t),v(t)) - y_{\mathrm{ref}}(t) = 0, $$
(3)

which enforce the output to stay on the prescribed trajectory \(y_{\mathrm{ref}}\). This results in the DAEs

$$ \begin{aligned} \dot{q}(t) &= v(t), \\ M(q(t)) \dot{v}(t) &= f\big(q(t),v(t)\big) + B(q(t))\, u(t), \\ 0 &= h\big(q(t),v(t)\big) - y_{\mathrm{ref}}(t), \end{aligned} $$
(4)

which have to be solved numerically for the coordinates \(q\) and \(v\) as well as the input \(u\). For minimum phase systems, the DAEs (4) can be integrated forward in time. For nonminimum phase systems, integration forward in time is not possible since the states of the internal dynamics can become unbounded. In this case, a boundary value problem must be formulated to compute a bounded solution for the internal dynamics [18, 47]. In the present article, we consider minimum phase systems and solve an initial value problem for (4). The initial values \(q(0)\), \(v(0)\), \(u(0)\) for (4) must be chosen so that they are consistent and the desired trajectory \(y_{\mathrm{ref}}\) must be compatible with the possible motion of the system, i.e., it is required that a solution of (4) exists on \(\mathbb{R}_{\ge 0}\).

To compute the feedforward control input, we solve the inverse model DAEs (4) using the implicit Euler scheme

$$ \begin{aligned} \hat{q}(t_{n+1}) &= \hat{q}(t_{n}) + \Delta t \, \hat{v}(t_{n+1}), \\ \hat{v}(t_{n+1}) &= \hat{v}(t_{n}) + \Delta t \, M(\hat{q}(t_{n+1}))^{-1} \left ( f\big(\hat{q}(t_{n+1}),\hat{v}(t_{n+1})\big) + B(\hat{q}(t_{n+1})) \, \hat{u}(t_{n+1}) \right ) , \\ 0 &= h\big(\hat{q}(t_{n+1}),\hat{v}(t_{n+1})\big) - y_{\mathrm{ref}}(t_{n+1}) \end{aligned} $$
(5)

with step size \(\Delta t\) and the numerical approximations \(\hat{q}(t_{n})\), \(\hat{v}(t_{n})\) of the solution at time \(t_{n}\). This integration scheme is a common choice in the context of servo-constraints [6, 12] because of its simplicity and its real-time capabilities. Starting with initial values \(\hat{q}(t_{0})\), \(\hat{v}(t_{0})\), \(\hat{u}(t_{0})\), the nonlinear set of equations (5) is solved for the solution \(\hat{q}(t_{n+1})\), \(\hat{v}(t_{n+1})\), \(\hat{u}(t_{n+1})\) at the next time instance in each control loop iteration. For this purpose Newton’s method with a maximum of ten iterations is applied.

The numerical solution contains the trajectory for \(u\), which is directly used as feedforward control, \(u_{\mathrm{ffw}}:=u\). For a theoretical ideal model with exact parameters, this feedforward control ensures exact tracking with \(y=y_{\mathrm{ref}}\). However, in practical applications model mismatches, disturbances, and parameter uncertainties result in tracking errors. Reducing the latter effects is the purpose for adding a feedback controller, which is introduced in the next section.

3.2 Funnel control feedback component

We briefly introduce the feedback-component of the control strategy, namely the funnel controller, first proposed in [4]. Although generalizations in several directions have been developed (see e.g. [34] and the references therein), the version from [4] for systems of relative degree one suffices for our purposes. For unknown nonlinear dynamical multi-input multi-output systems

$$ \begin{aligned} \dot{x}(t) &= f(x(t)) + g(x(t)) u(t), \quad x(0) = x^{0} \in \mathbb{R}^{n}, \\ y(t) &= h(x(t)) \end{aligned} $$

with \(h'(x) g(x)\) invertible for all \(x \in \mathbb{R}^{n}\), i.e., relative degree 1, stable internal dynamics, and \(g(x)\) sign definite (\(v^{ \top }g(x) v > 0\) or \(v^{\top }g(x) v < 0\) for \(v \in \mathbb{R}^{m}\setminus \{0\}\)) for all \(x \in \mathbb{R}^{n}\), the funnel controller achieves that the output \(y(t)\) follows a given reference \(y_{ \mathrm{ref}}(t)\) with prescribed accuracy. The latter means that the tracking error satisfies

$$ \forall \, t \ge 0 \, : \ \| y(t) - y_{\mathrm{ref}}(t) \| < \psi (t), $$
(6)

where \(\psi \) is a Lipschitz continuous and bounded function with \(\inf _{s \ge 0} \psi (s) > 0\). The situation is depicted in Fig. 2.

Fig. 2
figure 2

Evolution of the tracking error \(e(t) = y(t)-y_{\mathrm{ref}}(t)\) within funnel boundary \(\psi (t)\); the figure is based on [48, Fig. 1], edited for present purpose

The feedback law has the strikingly simple form

$$ u_{\mathrm{fb}}(t) := - \frac{\psi (t)^{2} (y(t) - y_{\mathrm{ref}}(t) )}{\psi (t)^{2} - \|y(t) -y_{\mathrm{ref}}(t)\|^{2}} . $$
(7)

Note that no system parameters are incorporated in the feedback law. Only the input/output dimension \(m \in \mathbb{N}\) is assumed to be known, and the structural assumptions that the system is minimum phase (stability of the internal dynamics), satisfy \(h'(x) g(x) > 0\) for all \(x \in \mathbb{R}^{n}\), and \(g(\cdot )\) sign definite is assumed.

The intuition behind the feedback law (7) is as follows. Whenever the output tracking performs well, not much input action is required, i.e., a small tracking error \(y(t) - y_{\mathrm{ref}}(t)\) results in a small signal \(u_{ \mathrm{fb}}(t)\). If, however, the tracking error approaches the prescribed tolerance, i.e., if \(\| y(t) - y_{\mathrm{ref}}(t) \| \to \psi (t)\), then the expression \(1/(\psi (t)^{2} - \| y(t) - y_{\mathrm{ref}}(t) \|^{2} )\) grows rapidly and “pushes the error away from the boundary \(\psi (t)\)”. Note that \(1/(\psi (t)^{2} - \| y(t) - y_{\mathrm{ref}}(t) \|^{2} )\) exceeds any bounded value for \(\| y(t) - y_{\mathrm{ref}}(t) \| \to \psi (t)\). This fact is used in the feasibility proof [4] to show that the closed-loop system has a global solution, and all signals remain bounded.

4 Experimental setup and model

The control strategy described in Sect. 2, with components introduced in Sect. 3, has so far been tested in simulations [5, 8]. In this contribution, we validate the control scheme experimentally on a torsional oscillator with two flywheels and a connecting rod. This is a simplified model of a drive train, e.g., such as [9]. A picture of the experimental setup is shown in Fig. 3a. The lower flywheel is attached to the direct-drive actuator. The connecting shaft with 6 mm diameter connects the first and second flywheel. The system is modeled by two rigid bodies with inertia \(I_{1}\), \(I_{2}\), which are connected by a linear spring-damper combination with coefficients \(k\), \(d\), see Fig. 3b. The rotation of the flywheels is described by the angle variables \(\varphi _{1}\), \(\varphi _{2}\) and therefore the generalized coordinates are chosen as \(q= \begin{pmatrix} \varphi _{1}, \varphi _{2} \end{pmatrix} ^{\top}\) and \(v= \begin{pmatrix} \dot{\varphi}_{1}, \dot{\varphi}_{2} \end{pmatrix} ^{\top}\). The parameters of model (8) are identified for the experimental setup shown in Fig. 3a and are listed in Table 1.

Fig. 3
figure 3

Experimental setup and multibody model

Table 1 Nominal model parameters

According to the multibody dynamics approach described in Sect. 2, the equations of motion are given by

$$\begin{aligned} \begin{aligned}[b] \begin{bmatrix} I_{1} & 0 \\ 0 & I_{2} \end{bmatrix} \begin{pmatrix} \ddot {\varphi }_{1}(t) \\ \ddot {\varphi }_{2}(t) \end{pmatrix} ={}& \begin{bmatrix} -d & d \\ d & - d \end{bmatrix} \begin{pmatrix} \dot {\varphi }_{1}(t) \\ \dot {\varphi }_{2}(t) \end{pmatrix} + \begin{bmatrix} -k & k \\ k & -k \end{bmatrix} \begin{pmatrix} \varphi _{1}(t) \\ \varphi _{2}(t) \end{pmatrix} \\ &{}+ \begin{bmatrix} F_{\mathrm{f},\mathrm{1}}(\dot{\varphi}_{1}(t)) \\ 0 \end{bmatrix} + \begin{bmatrix} 1 \\ 0 \end{bmatrix} u(t) \end{aligned} \end{aligned}$$
(8)

with friction \(F_{\mathrm{f},\mathrm{1}}\) acting on the first degree of freedom. The system input \(u\) is given as a torque acting on the first flywheel. The constant model parameters \(I_{1}\), \(I_{2}\) can be accurately measured, and the parameters \(k\), \(d\) can be estimated with sufficient accuracy. However, the friction force \(F_{\mathrm{f},\mathrm{1}}\) is more difficult to estimate. A simple approximation is given by assuming constant Coulomb friction, i.e., \(F_{\mathrm{f},\mathrm{ 1}}(s) = \tilde{F} \, \mathrm{sign(s)}\), with \(\tilde{F} > 0\), and \(\operatorname{sign}(\cdot )\) is the sign function.

We choose the angular velocity of the first flywheel as system output, which is to be tracked. Therefore, we have \(y(t)=\dot {\varphi }_{1}(t)\).

For analysis of the system, we introduce the relative motion \(\Delta \varphi := \varphi _{1} - \varphi _{2}\). Thus, the rigid body motion is removed from the equations of motion (8), cf. [9]. We define the matrices

$$ \begin{aligned} & M := \begin{bmatrix} 1&0&0 \\ 0&I_{1}&0 \\ 0&0&I_{2} \end{bmatrix} , \ \tilde{A} := \begin{bmatrix} 0&1&-1 \\ -k&-d&d \\ k&d&-d \end{bmatrix} , \ \tilde{B}: = \begin{bmatrix} 0 \\ 1 \\ 0\end{bmatrix} , \\ & A : = M^{-1} \tilde{A}, \ B := M^{-1} \tilde{B}, \end{aligned} $$
(9)

and we set \(F_{1}(s) := F_{\mathrm{f},\mathrm{1}}(s) / I_{1}\) and \(F(s): = (0,F_{1}(s), 0)^{\top}\). With \(x:= (\Delta \varphi , \dot {\varphi }_{1}, \dot {\varphi }_{2})^{ \top}\) the equations of motion for the reduced dynamics (the rigid body motion is removed) are given by

$$ \begin{aligned} \dot{x}(t) &= A x(t) + F(x(t)) + Bu(t) , \quad x(0) = x^{0} \in \mathbb{R}^{3}, \\ y(t) &= C x(t) = [0,1,0]x(t) = \dot {\varphi }_{1}(t). \end{aligned} $$
(10)

This dynamics describes the vibration around the rigid body motion. Since \(C B = 1/I_{1} \neq 0\), system (9) has relative degree \(r=1\). In the next step, we decouple the internal dynamics from the equations of motion to analyze their stability. Invoking the findings from [10] and its extension for linear systems with bounded disturbances in [49, Ch. 3], we may equivalently represent (9) as

$$ \begin{aligned} \dot{y}(t) & = R y(t) + S \eta (t) + F_{1}(y(t)) + \Gamma u(t), \\ \dot{\eta}(t) &= Q \eta (t) + P y(t) , \end{aligned} $$
(11)

where \(\Gamma = CB = 1/I_{1}\), and

$$ R = \frac{-d}{I_{1}}, \ S = \frac{1}{I_{1}} \begin{bmatrix} k & d \end{bmatrix} , \ Q = \frac{1}{I_{2}} \begin{bmatrix} 0&I_{2} \\ -k& -d \end{bmatrix} , \ P = \frac{1}{I_{2}} \begin{bmatrix} -I_{2} \\ d \end{bmatrix} . $$

In (11), \(y = \dot {\varphi }_{1}\) is the output and \(\eta \) is the internal state given as \(\eta = (-\Delta \varphi , \dot {\varphi }_{2})^{\top} \), which cannot be seen directly in the output. Since all eigenvalues of the matrix \(Q\) have a negative real part, the internal dynamics of system (9) are bounded-input bounded-output stable, i.e., the system is minimum phase. In particular, the internal dynamics are not directly effected by the roughly estimated Coulomb friction term. Therefore, the control concepts described in Sect. 3 are applicable to the model.

5 Experimental results

We performed a series of experiments on the experimental setup to validate the control scheme. An overview of the experiments is shown in Fig. 4. The experimental setup offers two different control frequencies of \(1\text{ kHz}\) and \(2\text{ kHz}\). Advantages and disadvantages of the controllers are discussed for both frequencies. We first present measurements for the pure feedforward control and the pure feedback control, respectively. Afterwards, the combined control strategy is validated. We conclude this section by comparing all measurements using two different quantitative metrics.

Fig. 4
figure 4

Overview of the tested controllers

For all experiments, the desired trajectory is chosen as the polynomial

$$\begin{aligned} y_{\mathrm{ref}}(t) = \textstyle\begin{cases} y_{\mathrm{0}} , \quad &t < t_{0} \\ y_{\mathrm{0}} + \sigma (t)\left ( y_{\mathrm{f}}-y_{\mathrm{0}} \right ) , \quad &t_{0} \leq t\leq t_{\mathrm{f}} \\ y_{\mathrm{f}} , \quad &t> t_{\mathrm{f}} \end{cases}\displaystyle \end{aligned}$$

parameterized by the scalar parameter \(\sigma (t)\). The timing law of \(\sigma (t)\) is chosen as the polynomial

$$\begin{aligned} \sigma (t) = \,&-3432\left (\dfrac{t}{t_{f}}\right )^{15} + 25{,}740\left (\dfrac{t}{t_{f}}\right )^{14} - 83{,}160\left ( \dfrac{t}{t_{f}}\right )^{13} +150{,}150\left (\dfrac{t}{t_{f}} \right )^{12} \\ &- 163{,}800\left (\dfrac{t}{t_{f}}\right )^{11} +108{,}108 \left (\dfrac{t}{t_{f}}\right )^{10} - 40{,}040\left ( \dfrac{t}{t_{f}}\right )^{9} + 6435\left (\dfrac{t}{t_{f}} \right )^{8} \end{aligned}$$

with initial time \(t_{0}=0\text{ s}\) and final transition time \(t_{ \mathrm{f}}=10\text{ s}\). Note that \(\sigma (t_{0}) = 0\), and \(\sigma (t_{\mathrm{f}}) = 1\). The initial rotation is \(y_{0}= 0\text{ rad s}^{-1}\) and the final rotation is \(y_{\mathrm{f}} = 4 \pi \, \mathrm{rad} \, \mathrm{s}^{-1} \approx 12.56\text{ rad s}^{-1} \), which corresponds to two revolutions per second.

The experimental setup is controlled using the LabVIEW software package. The feedforward control is computed by solving the inverse model DAEs (4) in real-time using the implicit Euler scheme (5). The strategy is implemented in LabVIEW and runs in real-time at \(1\text{ kHz}\), i.e., the control input in each time step is computed by solving one time step of algorithm (5) within the available time of \(\Delta t = 1\text{ ms}\). The current implementation limits the control loop frequency to this value. In the following, the results presented for \(1\text{ kHz}\) are obtained for an online feedforward control implementation, while the results for \(2\text{ kHz}\) are computed with an offline feedforward control. The offline feedforward control is obtained by solving the same set of equations beforehand and accessing a lookup table of the solution during the control action. The feedback control law (7) is also implemented in LabVIEW based on the measurements of the instantaneous values of the system output \(y(t)\). The system output is obtained using angular encoders and filtering its data to obtain an angular velocity.

5.1 Feedforward control

We first validate the pure feedforward control strategy based on servo-constraints described in Sect. 3.1. The following results are obtained for a control loop frequency of \(1\text{ kHz}\). We compute the feedforward control input for the nominal model, which is defined by the parameters in Table 1 and by setting the unknown friction force to \(F_{\mathrm{f},\mathrm{1}}=0\). To compensate modeling errors, the feedforward control input \(u_{ \mathrm{ffw}}\) of the nominal model is adapted with two tuning factors \(f_{\mathrm{act}}\) and \(f_{\mathrm{fric}}\), such that the actuator input is

$$ \begin{aligned} u(t) &= f_{\mathrm{act}}\, u_{\mathrm{ffw}}(t) + f_{\mathrm{fric}}\,. \end{aligned} $$
(12)

Here, the tuning factor \(f_{\mathrm{fric}}\) is supposed to compensate static Coulomb friction in the motion \(\dot {\varphi }_{1}\), and the motor constant \(f_{\mathrm{act}}\) is supposed to compensate the unidentified motor model which describes the relationship between the unit of the actuator input (electrical current) and the force input \(u_{\mathrm{ffw}}\) determined by the inverse model.

The measurements are presented in Fig. 5 for different tuning factors \(f_{\mathrm{act}}\) and \(f_{\mathrm{fric}}\). The various parameter sets for the tuning factors are listed in Table 2. The system input is shown in Fig. 5a, while the measurement of the system output is shown in Fig. 5b. Setting \(f_{\mathrm{fric}}=0\) and therefore not compensating the friction in the system shows that the rotational velocity goes instantly back to zero due to friction in the actuator bearing. Therefore, different values for the Coulomb friction compensation are tested. Out of the taken measurements, the smallest tracking errors are achieved for the parameter set \(P^{\mathrm{ffw}}_{5}\). These results show that the nominal model is sensitive to modeling errors. This is mainly due to the friction in the actuator. At the same time, the results validate the real-time application of the servo-constraints framework for a minimum phase system and demonstrate that accurate tracking is possible with a suitable feedforward controller.

Fig. 5
figure 5

Real-time feedforward control at \(1\text{ kHz}\)

Table 2 Tuning parameters for the feedforward controller

5.2 Feedback control

To accurately compensate for the unknown friction, we now apply the feedback control strategy described in Sect. 3.2 without the feedforward control part. Since the funnel controller benefits from a high control loop frequency cf. [37], the following results are obtained for a frequency of \(2\text{ kHz}\). We choose the exponential function

$$ \begin{aligned} \psi (t) = s e^{-q t} + c \end{aligned} $$
(13)

to describe the performance funnel \(\psi \). The scalar parameters \(s\), \(q\), and \(c\) change the size of the performance bound and act as design parameters. The chosen parameters are listed in Table 3 and the respective funnel functions are visualized in Fig. 6. The performance funnel \(\psi _{i}\), which is plotted in the following figures, corresponds to the parameter set \(P^{\mathrm{fb}}_{i}\). Figure 7 shows the measurement results for the different parameter combinations \(P^{\mathrm{fb}}_{i}\). Figure 7a shows the feedback control signal, while Fig. 7b shows the measured system output. All measurements have two properties in common: there is a time lag between the reference \(y_{\mathrm{ref}}\) and the measured output \(y\) and there is a steady state error for \(t>t_{\mathrm{f}}=10\text{ s}\). Figure 7c shows the tracking error \(e=y - y_{\mathrm{ref}}\) and the performance funnel \(\psi \) of the best parameter set \(P^{\mathrm{fb}}_{2}\) and the worst parameter set \(P^{\mathrm{fb}}_{5}\). The results show that the tracking error stays close to the performance funnel \(\psi \). For the tighter funnel, the tracking error comes very close to the boundary. This results in the chattering, which is visible in the control input signal in Fig. 7a. High chattering motion can introduce undesirable loads on the mechanical parts of the actuator and should therefore be avoided.

Fig. 6
figure 6

Visualization of the funnel parameters of Table 3

Fig. 7
figure 7

Funnel feedback control at \(2\text{ kHz}\)

Table 3 Parameter for the funnel function (13)

In Table 3 another parameter set is listed, the application of which is not presented in Fig. 7. The reason of the absence of measurement results with \(P_{\mathrm{fb}}^{6}\) is that the feedback closed loop was unstable for both sample frequencies because of the very aggressive funnel function. We plot the experimental results for the feedback controller with parameter set \(P^{\mathrm{fb}}_{6}\) at \(1\text{ kHz}\) and \(2\text{ kHz}\) in Fig. 8. The results show that both measurements yield the same tracking results as long as the controller is stable. However, the controller applied at \(1\text{ kHz}\) becomes unstable after approximately \(5\text{ s}\), while the controller applied at \(2\text{ kHz}\) becomes unstable after \(10\text{ s}\). Both controllers become unstable at some point because the tracking error evolves too close to the performance bound and is pushed outside the limit by noise effects. However, as will be demonstrated in the following section, the combined controller is capable to achieve the control objective for parameter set \(P_{\mathrm{fb}}^{6}\).

Fig. 8
figure 8

Feedback control with parameter set \(P^{\mathrm{fb}}_{6}\) at \(1\text{ kHz}\) and \(2\text{ kHz}\)

The combination of both, funnel feedback control and feedforward control, is presented in the following to minimize the drawbacks of the funnel feedback control.

5.3 Combination of both controller parts

In the following, we present measurements for the combined control strategy and compare them to the results of the individual control strategies. Measurements are shown in Fig. 9 for the lower control loop frequency of \(1\text{ kHz}\) with the funnel design parameters \(P^{\mathrm{fb}}_{6}\) and the feedforward tuning parameters \(P^{\mathrm{ffw}}_{5}\). We prefer to show these results over the results at the higher frequency of \(2\text{ kHz}\) since the lower frequency is more realistic and applicable to a broader system class. Moreover, the feedforward solution can be computed in real time for this case. The solution at the higher frequency of \(2\text{ kHz}\) looks similar for the combined controller, but there are some differences in the application of the pure feedback controller, which are discussed in Sect. 5.2. In the following figures, we compare the pure feedforward control, the pure feedback control, and the combined strategy.

Fig. 9
figure 9

Combination of feedforward and feedback control at \(1\text{ kHz}\)

The results show that the pure feedback controller becomes unstable after a few seconds. Figure 9c shows that the tracking error \(e\) reaches the performance boundary \(\psi \) and then jumps out of the funnel between two time instances since the time discretization is not sufficiently small. However, applying the same parameter set \(P^{\mathrm{fb}}_{6}\) for the funnel feedback controller and adding the feedforward control results in a stable control signal. From this it can be concluded that the combined controller is amenable to operation at lower frequencies than the pure feedback control.

5.4 Overall comparison

After presenting individual measurements and pointing out different aspects of the analyzed control strategy, we now present an overall comparison of the control approaches. A qualitative comparison is shown in Table 4. The individual feedforward and feedback strategies have some disadvantages, respectively. The feedforward controller is, in the current implementation, real-time capable at the lower frequency of \(1\text{ kHz}\). For the higher frequency, it can only be accessed via a pre-computed look-up table. Here, the real-time solution is preferred since the feedforward controller can be adapted to varying trajectories or model parameters. On the other hand, the feedback controller benefits from higher control loop frequencies since stricter performance bounds are possible. At the lower control loop frequency, the controller becomes unstable for realistic performance bounds, and the performance is only comparable to the feedforward controller. It therefore does not add any value at the lower frequency. The combined control strategy allows for even stricter performance bounds at both tested frequencies.

Table 4 Overview of qualitative controller properties

Besides the qualitative comparison, we now introduce two performance measures to compare the overall performance of all performed experiments. First, we compare the performance in the transient regime between \(t=0\text{ s}\) and \(t=10\text{ s}\). We define the performance metrics

$$ \begin{aligned} u_{\mathrm{sum}}^{t_{0},t_{1}} &:= \int _{t_{0}}^{t_{1}} u(\tau )^{2} \, \text{d} \tau , \\ e_{\mathrm{sum}}^{t_{0},t_{1}} &:= \int _{t_{0}}^{t_{1}} e(\tau )^{2} \, \text{d} \tau \end{aligned} $$
(14)

with the tracking error \(e(t) = y(t) - y_{\mathrm{ref}}(t) \). To measure the total amount of input energy and the total tracking error in the transient regime, we set \(u_{\mathrm{sum},\mathrm{t}} := u_{\mathrm{sum}}^{0,t_{f}}\) and \(e_{\mathrm{sum},\mathrm{ t}} := e_{\mathrm{sum},\mathrm{t }}^{0,t_{f}}\), where \(t_{f} = 10\, \mathrm{s}\), and the subscript \(\mathrm{t}\) indicates the transient regime. For integration of the measurement data, we used the Matlab routine trapz with equidistant grid since the sampling rate is fixed. The transient performance comparison is shown in Fig. 10a. The results show that the pure feedforward control signal uses comparatively large input energy while resulting in medium-sized tracking errors. The pure feedback controller uses less input energy with varying tracking errors. The combined control strategy uses more input energy compared to the feedback control strategy, but also results in smaller overall tracking errors, or to comparable tracking errors compared to the pure feedback controller. Thus, a direct comparison between the combined controller and the feedback controller is not possible based on these two chosen metrics. However, note that the pure feedback controller results in larger steady state errors, which are not covered in this comparison of the transient regime. Therefore, we now compare the performance in the stationary regime between \(t=10\text{ s}\) and \(t=15\text{ s}\). To this end, we consider the variance of the control input

$$ \begin{aligned} \sigma ^{2}_{\mathrm{sum},\mathrm{s}}(u) &= \dfrac{1}{N} \sum _{i=1}^{N}(u(t_{i}) - \bar{u})^{2} \quad \text{with} \quad \bar{u} = \dfrac{1}{N} \sum _{i=1}^{N} u(t_{i}), \, \, \end{aligned} $$
(15)

where we identify \(t_{1} = t_{f} = 10 \, \mathrm{s}\) and \(t_{N} = t_{f} + 5 \, \mathrm{s} = 15\, \mathrm{s}\). The chattering of the control signal \(u\) is estimated by computing the variance \(\sigma ^{2}_{\mathrm{sum},\mathrm{s}}\). The total tracking error in the stationary regime is given by \(e_{\mathrm{sum},\mathrm{s}} : = e_{\mathrm{sum}}^{10,15}\) according to (14) with the subscript s denoting the stationary regime.

Fig. 10
figure 10

Performance measures in transient as well as stationary regime

The stationary performance comparison is shown in Fig. 10b. It is evident that the feedforward control strategy has no variance in the control signal while leading to large tracking errors \(e_{\mathrm{sum},\mathrm{s}}\). In contrast, the feedback control signal has a comparatively large variance in the control input signal, while the stationary tracking errors \(e_{\mathrm{sum},\mathrm{s}}\) vary in a large region. The combined control strategy exhibits the lowest variance in the control signal as well as the lowest tracking errors. The clustering of two error values \(e_{ \mathrm{sum},\mathrm{ t}}\) each for the pure feedback in Fig. 10a correspond to increasing offset values \(c\) of the funnel function (13), i.e., the smaller \(c\), the smaller \(e_{\mathrm{sum},\mathrm{ t}}\). Remarkably, the control action \(u_{\mathrm{sum},\mathrm{ t}}\) is almost constant for different funnel functions, with slightly decreasing values of \(u_{\mathrm{sum},\mathrm{ t}}\) for larger diameters of the funnel. Note that some measurements with pure feedforward, which did not achieve the control objective, may be not present in Fig. 10a by choice of the image section.

This overall comparison supports the finding of the individual experimental results discussed above: combining funnel control with a feedforward controller can reduce chattering and enables smaller tracking errors by allowing smaller performance bounds.

6 Conclusion and outlook

In this contribution, we present experimental data for the combination of a feedforward controller based on servo-constraints and a feedback controller based on funnel control. A torsional oscillator serves as an experimental setup. Regarding the application of the method of servo-constraints, we validate its effectiveness for a real-time implementation on a minimum phase system. Regarding the combination of feedforward and funnel control, the experimental results support the theoretical work we obtained previously. The results show that this combination retains the advantages of both individual methods. In particular, we are able to apply funnel control at lower sample frequencies in the combined strategy compared to the application of pure funnel control. Moreover, we see a reduction of the peaky input signals, which are a known drawback of the funnel controller. Both of these advantages can lead to an easier application of funnel control in real-world systems.

Future work will focus on the implementation of the sample-and-hold feedback controller [36] in the experimental setup. Since this controller is designed to take only sampled system measurements, its application seems reasonable as well as promising. Further, the feedforward controller can be improved during the control phase by implementing a learning scheme to improve the underlying model of the system. Since the resulting controller is safeguarded by the funnel control component, this is safe learning in a real experimental setup. A further extension of the combined controller described in the present article is the incorporation of a predictive controller, e.g., funnel MPC [38], or its robust variant [39].

Moreover, as can be seen from the summarizing Table 4, applicability and robustness of pure feedforward/feedback as well as applicability of the combined controller strongly depends on the sampling frequency. Therefore, in future research, we will conduct a series of experiments to systematically determine lower and upper limits for the sampling frequency to ensure safe operation of the combined controller.