1 Introduction

In the context of control systems design for highly nonlinear machines with high degrees of coordinate coupling, obtaining a suitably linear model while minimizing uncertainty in the process is challenging. Specifically, in the context of industrial machinery, the dynamics and control of hybrid manipulators are topics which have received much attention in recent years. This paper puts forward a novel approximation technique that helps to linearise and decouple the systems it is applied to. Our intention behind the development of this algorithm is to apply it in the control of an industrial hybrid manipulator with reduced uncertainty by comparison to more commonly-used approaches. Through this work, our approach to achieving insights into this algorithm’s strengths, weaknesses, and general applicability is based on empirical observations. In future work, we will endeavour to calcify these observations and extend the algorithm to more generalised problems.

In the existing literature, many authors choose to adopt techniques that render analytical models of the plant unnecessary; or they solve a portion of the model, ensuring that the controller can accommodate the remaining error and uncertainty. Choi et al. elected to consider the nonlinear damping in their manipulator as a disturbance to be compensated by the controller [1]. This was also a consideration of Sun et al. who produced a decentralized controller with a so-called “extended high-gain observer” to help the system withstand a similarly defined disturbance [2]. Dogan et al. and Okur et al. devised a means of expressing the controller’s error signal as a function of the Jacobian in the forward dynamics problem [3, 4]. In Dogan et al.’s work, this resulted in the design of a learning-based control system to accurately track the desired end-effector placement. In Okur et al.’s work, this similar approach led to the use of a backstepping control strategy - enabled by the kinematic configuration of their tendon-driven manipulator under scrutiny. This is an approach more recently interpreted by Gul et al. who used a PID controller alongside an adaptive estimator which uses barrier Lyapunov functions to maintain a bound on the error driving the control signal [5]. In an adaptive control context, Guo et al. adopted a simplified model of the manipulator dynamics from Craig et al.’s work in 1987 [6]. Based on a measurement of the rate of parameter variations, constant approximations were substituted in place of the systems’ inertia; and, the stiffness and restoring forces were approximated as linear in time [7]. Working with the state-space models, Saab and Ghanem approached this similarly by approximating coupling terms and nonlinearities with constants [8]. Andreev and Peregudova’s approach is indicative of many others adopting adaptive control for robotic manipulators whereby they split the inertia, stiffness, and restoring force matrices into known estimates and uncertain parts, thus providing a robust predictor-corrector structuring for the controller [9]. Several other notable works have also treated nonlinearities and coupling terms as “uncertainties” for the control system to adapt in accordance with [10,11,12,13].

Leite and Lizarralde also took this approach of using an adaptive controller to resolve the complexities of a nonlinear, coupled system. Through their cascade controller design, they proposed to control a manipulator with visual feedback and a predictor function based on the “approximate analytical Jacobian” [14]. Friedrich and Buss adopted feedback linearisation as a control approach to cancel the nonlinearities of the governing dynamics, while the coupling was taken care of via their double-Youla approach [15]. Also known as the dual Youla-Kucera approach, this is a means of finding stabilizing parameters for a given plant and control system. Helwa et al presented an adaptive multiloop control system in which the outer-loop featured a PD controller and a Gaussian Process regression model [16]. With these in the outer-loop and an inverse dynamics model in the inner-loop, the authors demonstrated their approach as applicable “to any Lagrangian system for which [linearisation techniques] can be used to convert the nonlinear dynamics of the system to a set of decoupled double integrators”. Meng et al. designed a robust control system while only considering manipulator models with constant inertia, stiffness, and restoring forces by designing a switching function that allowed the controller to select the most appropriate model given the operating point of the structure [17].

This paper is structured in the following manner. Section 2 outlines the algorithm and demonstrates its application to a range of appropriate systems. Section 2.1 deals with the example of a coupled system of Rayleigh oscillators and Sect. 2.2 deals with the example of a coupled system of Van der Pol oscillators. We explain why these systems are considered in advance of Sect. 2.1. We then illustrate the application of our approach to a state-of-the-art hybrid manipulator which draws on findings from previous work [18, 19]. In this last example, we compare the result of our approximation technique with that of a method considered by some of the authors cited in our literature review. Finally, Sect. 3 presents the main conclusions of this work.

2 Development of the method with example applications

This section outlines our proposed method for obtaining approximate analytical solutions for nonlinear coupled dynamics problems. Each example explores the application of the technique to a different dynamic system. In general terms, the algorithm distils to this: use solutions to the uncoupled system behaviour to approximate terms in the fully-coupled problem as necessary to render it analytically solvable. In the subsequent conclusion, we will note general observations on this approach.

Derived initially to describe the acoustic vibration of a clarinet reed, the Rayleigh oscillator has since been used in many applications [20] ranging from robotic bipedal motion [21] to oscillatory phenomena observed in chemical reactions [22]. Given its breadth of applications and the depth of analysis devoted to it, we use this as an illustrative case to demonstrate our approximation technique. For similar reasons we will also consider the Van der Pol oscillator as a further example. These two oscillator models can be derived from one another [23] and they both feature heavily in the study of limit cycle motion and self-sustained vibrations. The Van der Pol oscillator has also appeared in the modelling of vortex shedding patterns in the wake regions of slender bluff bodies [24] as well as in the study of voltage oscillations in electrical circuits (the original context which led to its derivation) [23].

A key feature of these oscillators is their relatively weak damping properties (for small values of \(\varepsilon <1\)) which can either feed energy to the systems or dissipate energy from them according to their nonlinear damping coefficient [25]. As will be seen in the examples that follow the accuracy of our approximation technique is partially informed by the accuracy of an approximate analytical solution of the uncoupled problems considered. To explain briefly: in the case of the Van der Pol oscillator system we use the Lindstedt-Poincaré approach to solve a system of uncoupled oscillators first, and then use this approximate solution to inform our approximation of the coupled system. Thus, the low damping exhibited in the Rayleigh and Van der Pol oscillators allows these to serve as good illustrative examples for our purposes.

Both the Rayleigh and Van der Pol systems studied here have relatively weak nonlinear and coupling effects due to the values of the parameter \(\varepsilon \) in both cases. Discussion of these problems then only gives us insight into similar problems: those where the nonlinear and coupled damping effects are weak relative to the inertia and restoring effects. The FutureForge manipulator system presented in Sect. 2.3 is not one of these systems and so presents an extension of the method’s observed applicability. In future work, we will look to expand the range of systems considered. However, for the problems in this current work, the results presented here are similar for all those with \(\varepsilon <0.5\).

2.1 Application to a system of Rayleigh oscillators

2.1.1 Problem specification

In this section, we consider the following system

$$\begin{aligned} \begin{Bmatrix} \ddot{y}_1 \\ \ddot{y}_2 \end{Bmatrix} + \varepsilon \begin{bmatrix} \dot{y}_1^2 - 1 &{} -1 \\ -1 &{} \dot{y}_2^2 - 1 \end{bmatrix} \begin{Bmatrix} \dot{y}_1 \\ \dot{y}_2 \end{Bmatrix} + \begin{Bmatrix} y_1 \\ y_2 \end{Bmatrix} = \begin{Bmatrix} 0 \\ 0 \end{Bmatrix} \end{aligned}$$
(2.1)

which is in an analogous form to the Rayleigh Differential Equation. This can be written in the simplified form

$$\begin{aligned} \ddot{Y} + P(\dot{Y};\varepsilon )\dot{Y} + Y = 0 \end{aligned}$$
(2.2)

where \(P(\dot{Y};\varepsilon )\) is the damping matrix including the small parameter \(\varepsilon \).

$$\begin{aligned} P(\dot{Y};\varepsilon ) = \varepsilon \begin{bmatrix} \dot{y}_1^2 - 1 &{} -1 \\ -1 &{} \dot{y}_2^2 - 1 \end{bmatrix} \end{aligned}$$
(2.3)

This method aims to find suitably accurate approximate analytical solutions for \(y_1\) and \(y_2\). Our simulations of this system will involve the following generalised initial conditions

$$\begin{aligned} y_1(0) = a,\quad \dot{y}_1(0) = b,\quad y_2(0) = c,\quad \text {and}\quad \dot{y}_2(0) = d \end{aligned}$$
(2.4)

where a, b, c, and d are constants.

2.1.2 Solution of the uncoupled system

First, we define the uncoupled system by

$$\begin{aligned} \begin{Bmatrix} \ddot{\phi }_1 \\ \ddot{\phi }_2 \end{Bmatrix} + \varepsilon \begin{bmatrix} \dot{\phi }_1^2 - 1 &{} 0 \\ 0 &{} \dot{\phi }_2^2 - 1 \end{bmatrix} \begin{Bmatrix} \dot{\phi }_1 \\ \dot{\phi }_2 \end{Bmatrix} + \begin{Bmatrix} \phi _1 \\ \phi _2 \end{Bmatrix} = \begin{Bmatrix} 0 \\ 0 \end{Bmatrix} \end{aligned}$$
(2.5)

where we have used \(\phi _k=\phi _k(t)\) to denote the uncoupled equivalents of \(y_k=y_k(t)\). By approaching this problem using a technique such as the Lindstedt-Poincaré method, we can obtain asymptotic approximations of its solutions

$$\begin{aligned} \phi _k \approx \sum _{j=0}^{n} \varepsilon ^j\phi _{k,j}(\tau _k),\quad k\in \{1,2\}, \quad n\in \{0,1,2,\cdots \} \end{aligned}$$
(2.6)

where \(\tau _k\) is the stretched coordinate,

$$\begin{aligned} \tau _k = t\sum _{j=0}^{n}\varepsilon ^j\omega _{k,j}, \end{aligned}$$
(2.7)

n is the same as in Eq. (2.6), and the constant values of \(\omega _j\) are selected so as to remove secularity from the resulting solutions. By substituting Eq. (2.6) and its first two time-derivatives into the uncoupled system (2.5), we can obtain the \(O(\varepsilon ^0)\) perturbation equations for \(\phi _1(t)\),

$$\begin{aligned} \omega _{1,0}^2\phi _{1,0}''(\tau _1) + \phi _{1,0}(\tau _1) = 0, \end{aligned}$$
(2.8)

and for \(\phi _2(t)\),

$$\begin{aligned} \omega _{2,0}^2\phi _{2,0}''(\tau _2) + \phi _{2,0}(\tau _2) = 0, \end{aligned}$$
(2.9)

with higher-order perturbation equations being gathered in the usual fashion. Solving these gives us analytical expressions for the asymptotic approximations of \(\phi _1\) and \(\phi _2\).

2.1.3 Approximation and solution of the fully-coupled system

Our approach proposes that we now substitute the uncoupled solutions \(\phi _k\) into the fully-coupled system in a way that renders it solvable through analytical means. One way of doing this would be to substitute \(\phi _1\) and \(\phi _2\) in place of \(y_1\) and \(y_2\) respectively (and their derivatives) in \(P(\dot{Y};\varepsilon )\dot{Y}\) in Eq. (2.2).

$$\begin{aligned} \begin{aligned} R&\approx - P(\dot{Y};\varepsilon )\dot{Y} \\ R&= - \varepsilon \begin{bmatrix} \big (\dot{\phi }_{1}(t)\big )^2 - 1 &{} -1 \\ -1 &{} \big (\dot{\phi }_{2}(t)\big )^2 - 1 \end{bmatrix} \begin{Bmatrix} \dot{\phi }_1(t) \\ \dot{\phi }_2(t) \end{Bmatrix} = \begin{Bmatrix} R_1 \\ R_2 \end{Bmatrix} \end{aligned} \end{aligned}$$
(2.10)

This simplifies the original system (2.2) into a system of two uncoupled simple harmonic oscillators with excitations applied to both.

$$\begin{aligned} \ddot{Y} + Y = R \end{aligned}$$
(2.11)

Finding the complementary functions for this system is very simple. For generality, we use the forms

$$\begin{aligned} y_{1,cf} = K_{1,1}\psi _1(t) + K_{1,2}\psi _2(t) \end{aligned}$$
(2.12)

and

$$\begin{aligned} y_{2,cf} = K_{2,1}\psi _1(t) + K_{2,2}\psi _2(t) \end{aligned}$$
(2.13)

where \(\psi _1(t)=\psi _1\) and \(\psi _2(t)=\psi _2\) are the bases of the solutions. Using \(\psi _1 = \cos (t)\) and \(\psi _2 = \sin (t)\), we can use the method of variation of parameters to compute the general form of the particular integral. Finding the Wronskian

$$\begin{aligned} W = \psi _1\dot{\psi }_2 + \psi _2\dot{\psi }_1, \end{aligned}$$
(2.14)

we can find the particular integrals as

$$\begin{aligned} y_{1,ps} = - \psi _1 \int \frac{\psi _1R_1}{W}dt + \psi _2 \int \frac{\psi _2R_1}{W}dt \end{aligned}$$
(2.15)

and

$$\begin{aligned} y_{2,ps} = - \psi _1 \int \frac{\psi _1R_2}{W}dt + \psi _2 \int \frac{\psi _2R_2}{W}dt. \end{aligned}$$
(2.16)

By computing these, and summing them with their corresponding complementary function, we obtain the general solutions of the system. We can obtain the particular solutions by applying the generalised initial conditions.

2.1.4 Implementation and simulation

To illustrate the method and demonstrate its practical implementation, we consider the scenario of

$$\begin{aligned} y_1(0) = 2,\quad \dot{y}_1(0) = 0,\quad y_2(0) = -1,\quad \text {and}\quad \dot{y}_2(0) = -\sqrt{3} \end{aligned}$$
(2.17)

with \(\varepsilon =0.01\), and we will use only the \(O(\varepsilon ^0)\) asymptotic approximation to determine our coupled approximation. The numerical solution, which we will use as our reference for the success (or otherwise) of our approach, yields the following plots of the generalised coordinates (Fig. 1).

Fig. 1
figure 1

Numerical solutions to the coupled Rayleigh oscillator system

Solving the uncoupled system (2.5) by means of the perturbation method described previously, under the conditions in (2.17), we obtain the generating solutions

$$\begin{aligned} \begin{aligned} \phi _1&= a\cos (t) + b\omega _{1,0}\sin (t) \\&= 2\cos (t) \end{aligned} \end{aligned}$$
(2.18)

and

$$\begin{aligned} \begin{aligned} \phi _2&= c\cos (t) + d\omega _{2,0}\sin (t) \\&= -\cos (t) - \sqrt{3}\sin (t). \end{aligned} \end{aligned}$$
(2.19)

These solutions are plotted in Fig. 2a to visualise their comparison with the numerical solution of the uncoupled system (2.5). We compute the relative error in these solutions by subtracting the numerical solutions from the Lindstedt-Poincaré solutions and dividing the results by the amplitude, 2, of the signals.

Fig. 2
figure 2

a The \(O(\varepsilon ^0)\) Lindstedt-Poincaré solutions of the uncoupled Rayleigh oscillator system; and, b the relative error in these solutions

These then become the excitations, R, applied to the approximation of the coupled system. Accordingly, for computing the particular integrals of the solutions \(y_1\) and \(y_2\) in Eqs. (2.15) and (2.16), this means that

$$\begin{aligned} \begin{aligned} R_1&= -\varepsilon \bigg ( c\sin (t) - d\cos (t)+ \big (b\cos (t) - a\sin (t)\big ) \\&\quad \Big ( -1 + \big (b\cos (t) - a\sin (t)\big )^2\Big )\bigg ) \\&= -0.0173205\cos (t) + 0.05\sin (t) - 0.02\sin (3t) \end{aligned} \end{aligned}$$
(2.20)

and

$$\begin{aligned} \begin{aligned} R_2&= -\varepsilon \bigg ( a\sin (t) - b\cos (t)+ \big (d\cos (t) - c\sin (t)\big ) \\&\quad \Big ( -1 + \big (d\cos (t) - c\sin (t)\big )^2\Big )\bigg ) \\&= 0.034641\cos (t) - 0.04\sin (t) - 0.02\sin (3t). \end{aligned} \end{aligned}$$
(2.21)

By computing the particular integrals and summing them with the corresponding complementary functions, we arrive at

$$\begin{aligned} \begin{aligned} y_1&= \big (K_{1,1} - 0.00433013 - 0.025t\big )\cos (t)\\&\quad + \big (K_{1,2} + 0.0125 - 0.00866025t\big )\sin (t)\\&\quad + 0.0025\sin (3t) \end{aligned} \end{aligned}$$
(2.22)

as the general solution for \(y_1\), and

$$\begin{aligned} \begin{aligned} y_2&= \big (K_{2,1} + 0.00866025 + 0.02t\big )\cos (t)\\&\quad + \big (K_{2,2} - 0.01 + 0.0173205t\big )\sin (t) \\&\quad + 0.0025\sin (3t) \end{aligned} \end{aligned}$$
(2.23)

as the general solution for \(y_2\). By applying the initial conditions to these two general solutions and their first derivatives, we arrive at the following particular solutions.

$$\begin{aligned} y_1&= \big (2 - 0.025t\big )\cos (t) \nonumber \\&+ \big (0.0175 - 0.00866025t\big )\sin (t) + 0.0025\sin (3t) \end{aligned}$$
(2.24)
$$\begin{aligned} y_2&= \big (-1 + 0.02t\big )\cos (t)\nonumber \\&\quad + \big (-1.75955 + 0.0173205t\big )\sin (t) \nonumber \\&\quad + 0.0025\sin (3t) \end{aligned}$$
(2.25)

These solutions are plotted in Fig 3a and their relative error is shown in Fig 3b.

Fig. 3
figure 3

a Approximate analytical solutions of the coupled Rayleigh oscillator system. b Relative error in the solutions illustrated in (a)

To give context to the accuracy of this effort, Fig. 4 shows the relative error of our method alongside the relative error in the \(O(\varepsilon ^0)\) Lindstedt-Poincaré solution of the uncoupled problem. Although these errors are clearly produced by different techniques and different problems, this graph illustrates that the accuracy of our method degrades at a slightly faster rate than this widely-known method for the uncoupled problem.

Fig. 4
figure 4

Comparison of the relative errors in our approximation of the coupled system’s behaviour versus the \(O(\varepsilon ^0)\) Lindstedt-Poincaré solution of the uncoupled problem

Fig. 5
figure 5

a Approximate analytical solutions of the coupled Van der Pol oscillator system. b Relative error in the results shown in (a)

2.2 Application to a system of Van der Pol oscillators

2.2.1 Problem specification

We now consider the case of a coupled system of two Van der Pol oscillators.

$$\begin{aligned}&\begin{Bmatrix} \ddot{y}_1(t)\\ \ddot{y}_2(t) \end{Bmatrix} + \varepsilon \begin{bmatrix} y_1(t)^2 - 1 &{} y_1(t)^2 \\ y_2(t)^2 &{} y_2(t)^2 - 1 \end{bmatrix} \begin{Bmatrix} \dot{y}_1(t)\\ \dot{y}_2(t) \end{Bmatrix}\nonumber \\&+ \begin{Bmatrix} y_1(t)\\ y_2(t) \end{Bmatrix} = \begin{Bmatrix} 0\\ 0 \end{Bmatrix} \end{aligned}$$
(2.26)

We note that this can be generalised into the same form as the system of Rayleigh oscillators in Sect. 2.1, Eq. (2.2), although, this system’s damping matrix is dependent on Y rather than \(\dot{Y}\).

$$\begin{aligned} P(Y;\varepsilon ) = \varepsilon \begin{bmatrix} y_1^2 - 1 &{} y_1^2 \\ y_2^2 &{} y_2^2 - 1 \end{bmatrix} \end{aligned}$$
(2.27)

For generality, we use the same notation for the generalised initial conditions as were used in Sect. 2.1.

2.2.2 Solution of the uncoupled system

The uncoupled system, in this example, is very similar to the previous example.

$$\begin{aligned} \begin{Bmatrix} \ddot{\phi }_1 \\ \ddot{\phi }_2 \end{Bmatrix} + \varepsilon \begin{bmatrix} \phi _1^2 - 1 &{} 0 \\ 0 &{} \phi _2^2 - 1 \end{bmatrix} \begin{Bmatrix} \dot{\phi }_1 \\ \dot{\phi }_2 \end{Bmatrix} + \begin{Bmatrix} \phi _1 \\ \phi _2 \end{Bmatrix} = \begin{Bmatrix} 0 \\ 0 \end{Bmatrix} \end{aligned}$$
(2.28)

Despite this slight difference to the previous uncoupled system, Eq (2.5), the perturbation method is identical and leads to identical uncoupled solutions at the \(O(\varepsilon ^0)\)-level. This is because the difference between the two systems is limited to the stiffness matrix, P, which is \(O(\varepsilon ^1)\) in its contribution to the overall system dynamics. Thus, the generating problems for these solutions are Eqs. (2.8) and (2.9).

2.2.3 Approximation and solution of the fully-coupled system

While the definition of the damping, \(P(Y;\varepsilon )\), has no impact on the uncoupled solution by comparison with the previous example, it contributes significantly to the form of our non-homogeneous term in the approximation of the coupled system.

$$\begin{aligned} \begin{aligned} R = - \varepsilon \begin{bmatrix} \phi _1^2 - 1 &{} \phi _1^2 \\ \phi _2^2 &{} \phi _2^2 - 1 \end{bmatrix} \begin{Bmatrix} \dot{\phi }_1(t) \\ \dot{\phi }_2(t) \end{Bmatrix} = \begin{Bmatrix} R_1 \\ R_2 \end{Bmatrix} \end{aligned} \end{aligned}$$
(2.29)

Using this, the coupled system is approximated by a simple harmonic oscillator with an excitation described by Eq. (2.11).

2.2.4 Implementation and simulation

To illustrate the implementation in this scenario, we use the same initial conditions and \(\varepsilon \)-value as in Sect. 2.1. The reason for doing this is that it gives us an insight into the impact of the differing complexities of the stiffness matrix.

As should be expected, Fig. 2a and b also represent the uncoupled solution of the Van der Pol system discussed in this section. However, there is a significant reduction in the approximation error when we consider the approximate analytical solutions produced by our method.

As can be seen in Fig. 5b, the maximum error is less than 2.5% for this example while it was close to 7% in the previous example (see Fig. 3b).

2.2.5 The impact of higher-order approximations of the uncoupled system

An intuitive means of increasing the accuracy of the approximations of the uncoupled system may be to increase the accuracy of the solutions to the uncoupled system. This idea has some intuitive support. Finding the \(O(\varepsilon ^0)\) and \(O(\varepsilon ^1)\) uncoupled solutions and then substituting both of these into the fully-coupled system, as we have shown previously, we can see the following reduction in the relative errors (Fig. 6).

Fig. 6
figure 6

a Relative errors resulting from using the \(O(\varepsilon ^0)\) and \(O(\varepsilon ^1)\) approximations of the uncoupled system. b Improvement in relative error offered by using \(O(\varepsilon ^1)\) uncoupled approximation rather than the \(O(\varepsilon ^0)\) solution

There is clearly some small benefit in using the \(O(\varepsilon ^1)\) approximations for the uncoupled problems. However, there is a significant increase in the computational complexity of then attempting to solve the approximation of the coupled system analytically. Given the motivation behind using this approach in the first instance, we don’t find a significant advantage in using the \(O(\varepsilon ^1)\) approximation despite its minor improvement in accuracy.

Fig. 7
figure 7

Comparisons of the relative errors in: a our approximation of the coupled-\(y_1(t)\) versus the \(O(\varepsilon ^0)\) Lindstedt-Poincaré solution of the uncoupled-\(y_1(t)\); and, b our approximation of the coupled-\(y_2(t)\) versus the \(O(\varepsilon ^0)\) Lindstedt-Poincaré solution of the uncoupled-\(y_2(t)\)

In Fig. 7a and b we illustrate the error growth arising from our approximation in comparison to that arising from the standard Lindstedt-Poincaré solution of the uncoupled Van der Pol oscillator. Notably, our approximation retains higher accuracy than the \(O(\varepsilon ^0)\) uncoupled solution until \(t=10\) for \(y_1(t)\) and around \(t=5\) for \(y_2(t)\). Additionally, this error growth indicates the presence of secular terms in our approximate solution which do not occur in the Lindtedt-Poincaré approach. In further work, we will look to examine a means of accounting for such behaviour appropriately.

2.3 Application to the dynamics of the FutureForge manipulator

2.3.1 Problem specification

The FutureForge manipulator is a large-scale industrial manipulator designed to manoeuvre metallic workpieces in, out, and around a state-of-the-art forging environment. In particular, one of the critical areas of performance for this manipulator should be its ability to place accurately and manoeuvre metallic specimens through treatment in the hydraulic press. The wider scope of our work is to develop a control system for this manipulator (Fig. 8).

Fig. 8
figure 8

A schematic diagram of the FutureForge manipulator with all joints named and generalised coordinates marked. This schematic is also shown previously in [19] and in [18]

Considering the structure of this manipulator, rather than fitting into the traditional categories of either series or parallel manipulators, this is a hybrid structure as a series of parallelograms. The advantage to this is that it has the enhanced workspace reach of a serial manipulator with the rigidity of a parallel manipulator.

Previous work [19] derived the equations of motion of this manipulator as

$$\begin{aligned} \begin{aligned}&\big (a_1 + a_2\cos (2\alpha )\big )\ddot{\alpha } + \big (a_3\cos (\alpha -\beta ) + a_4\cos (\alpha +\beta )\big )\ddot{\beta }\\&\quad + \big (a_5 + a_6\sin (2\alpha )\dot{\alpha }\big )\dot{\alpha } + \big (a_7\sin (\alpha -\beta ) + a_8\\&\quad \times \sin (\alpha +\beta )\big )\dot{\beta }^2+ a_9\cos (\alpha ) + a_{10}\sin (\alpha ) = Q_v \end{aligned} \end{aligned}$$
(2.30)

and

$$\begin{aligned} \begin{aligned}&\big (b_1 + b_2\cos (2\beta )\big )\ddot{\beta } + \big (b_3\cos (\alpha -\beta ) + b_4\cos (\alpha +\beta )\big )\ddot{\alpha }\\&\quad + \big (b_5 + b_6\sin (2\beta )\dot{\beta }\big )\dot{\beta } + \big (b_7\sin (\alpha -\beta ) + b_8\\&\quad \times \sin (\alpha +\beta )\big )\dot{\alpha }^2+ b_9\cos (\beta ) + b_{10}\sin (\beta ) = Q_h. \end{aligned} \end{aligned}$$
(2.31)

in the generalised coordinates, \(\alpha =\alpha (t)\) and \(\beta =\beta (t)\), marked in the schematic diagram Fig 8, and with the applied torques \(Q_v\) and \(Q_h\) from the hydraulic actuators on the base of the manipulator. Note that the \(a_k\) and \(b_k\) (\(k\in \{1,\cdots ,10\}\)) coefficients are all constants determined by the lengths, masses, and moments of inertia of the manipulator components. Conveniently, this system of equations can be written in the matrix form

$$\begin{aligned} M(\Theta )\ddot{\Theta } + P(\Theta ,\dot{\Theta })\dot{\Theta } + G(\Theta ) = Q(t) \end{aligned}$$
(2.32)

where \(\Theta =[\alpha ,\;\beta ]^T\), \(Q(t)=[Q_v,\;Q_h]^T\),

$$\begin{aligned}{} & {} M(\Theta ) = \begin{bmatrix} a_1 + a_2\cos (2\alpha ) &{} a_3\cos (\alpha -\beta ) + a_4\cos (\alpha +\beta ) \\ b_3\cos (\alpha -\beta ) + b_4\cos (\alpha +\beta ) &{} b_1 + b_2\cos (2\beta ) \end{bmatrix}, \end{aligned}$$
(2.33)
$$\begin{aligned}{} & {} P(\Theta ,\dot{\Theta }) = \begin{bmatrix} a_5 + a_6\sin (2\alpha )\dot{\alpha } &{} a_7\sin (\alpha -\beta )\dot{\beta } + a_8\sin (\alpha +\beta )\dot{\beta } \\ b_7\sin (\alpha -\beta )\dot{\alpha } + b_8\sin (\alpha +\beta )\dot{\alpha } &{} b_5 + b_6\sin (2\beta )\dot{\beta } \end{bmatrix}, \end{aligned}$$
(2.34)

and

$$\begin{aligned} G(\Theta ) = \begin{bmatrix} a_9\cos (\alpha ) + a_{10}\sin (\alpha )\\ b_9\cos (\beta ) + b_{10}\sin (\beta ) \end{bmatrix}. \end{aligned}$$
(2.35)
Table 1 Parameters describing simulation scenarios

2.3.2 Solution of the uncoupled system

In [18] the solution of uncoupled actuation scenarios of this manipulator was investigated. Between this and [19], it is shown that the system can be written as

$$\begin{aligned} \begin{aligned}&\begin{bmatrix} a_1 + a_2\cos (2\alpha ) &{} 0 \\ 0 &{} b_1 + b_2\cos (2\alpha ) \end{bmatrix} \begin{Bmatrix} \ddot{\alpha }\\ \ddot{\beta } \end{Bmatrix} \\&\quad + \begin{bmatrix} a_5 + a_6\sin (2\alpha )\dot{\alpha } &{} 0 \\ 0 &{} b_5 + b_6\sin (2\beta )\dot{\beta } \end{bmatrix} \begin{Bmatrix} \dot{\alpha }\\ \dot{\beta } \end{Bmatrix} \\ {}&\quad = \begin{Bmatrix} F_v \\ F_h \end{Bmatrix} \end{aligned} \end{aligned}$$
(2.36)

where \(F_v\) and \(F_h\) are the remainders of the excitation terms when the components counteracting gravitational restoring forces are removed. It was then subsequently shown, in [18], that an approximate analytical solution of this system can be obtained via a perturbation method and introducing a small parameter, \(\varepsilon \), via its nonlinear terms. The \(O(\varepsilon ^0)\) problems for this method were given to be

$$\begin{aligned} a_1\ddot{\alpha _0} + a_5\dot{\alpha _0} = F_v \end{aligned}$$
(2.37)

and

$$\begin{aligned} b_1\ddot{\beta _0} + b_5\dot{\beta _0} = F_h \end{aligned}$$
(2.38)

in which \(\alpha _0\) and \(\beta _0\) are the leading-order terms in the asymptotic approximations of \(\alpha \) and \(\beta \). These can be solved to give the \(O(\varepsilon ^0)\) approximate solutions in the forms

$$\begin{aligned} \alpha \approx K_{v,1} + K_{v,2}e^{-\frac{a_5}{a_1}t} + K_{v,3}t \end{aligned}$$
(2.39)

and

$$\begin{aligned} \beta \approx K_{h,1} + K_{h,2}e^{-\frac{b_5}{b_1}t} + K_{h,3}t \end{aligned}$$
(2.40)

where the K-terms are constants determined by the specific problem parameters. In the general case, these can be written as follows

$$\begin{aligned} K_{v,1}&= u_{v0} + \frac{a_1}{a_5}v_{v0} - \frac{a_1}{a_5^2}F_v \end{aligned}$$
(2.41)
$$\begin{aligned} K_{v,2}&= -\frac{a_1}{a_5}v_{v0} + \frac{a_1}{a_5^2}F_v \end{aligned}$$
(2.42)
$$\begin{aligned} K_{v,3}&= \frac{1}{a_5}F_v \end{aligned}$$
(2.43)
$$\begin{aligned} K_{h,1}&= u_{h0} + \frac{b_1}{b_5}v_{h0} - \frac{b_1}{b_5^2}F_h \end{aligned}$$
(2.44)
$$\begin{aligned} K_{h,2}&= -\frac{b_1}{b_5}v_{h0} + \frac{b_1}{b_5^2}F_h \end{aligned}$$
(2.45)
$$\begin{aligned} K_{h,3}&= \frac{1}{b_5}F_h \end{aligned}$$
(2.46)

where \(u_{v0}\) and \(v_{v0}\) are the initial position and velocity conditions respectively for Eq. (2.30); \(u_{h0}\) and \(v_{h0}\) are the initial position and velocity conditions respectively for Eq. (2.31); and, \(F_v\) and \(F_h\) are the actuating torques in these two problems.

Fig. 9
figure 9

For the simulation of Case 1: a the approximations of \(\alpha (t)\); b the percentage error in the approximation of \(\alpha (t)\); c the approximations of \(\beta (t)\); and, d the percentage error in the approximation of \(\beta (t)\)

Fig. 10
figure 10

For the simulation of Case 1, these figures are closer inspections of the percentage error in the approximations of a \(\alpha (t)\); and, b \(\beta (t)\)

2.3.3 Approximation and solution of the fully-coupled system

To approximate the fully-coupled system, we use a similar approach as in the previous two examples of the Van der Pol and Rayleigh oscillators. In one of the system’s equations,

$$\begin{aligned}{} & {} M_{1,1}(\alpha )\ddot{\alpha } + M_{1,2}(\alpha ,\beta )\ddot{\beta } + P_{1,1}(\alpha ,\dot{\alpha })\dot{\alpha } \nonumber \\{} & {} \quad + P_{1,2}(\alpha ,\beta ,\dot{\alpha },\dot{\beta })\dot{\beta } = F_v, \end{aligned}$$
(2.47)

we substitute \(\beta \) for the approximate uncoupled solution Eq. (2.40); and, for the other equation,

$$\begin{aligned}{} & {} M_{2,1}(\alpha ,\beta )\ddot{\alpha } + M_{2,2}(\beta )\ddot{\beta } + P_{2,1}(\alpha ,\beta ,\dot{\alpha },\dot{\beta })\dot{\alpha } \nonumber \\{} & {} \quad +P_{2,2}(\beta ,\dot{\beta })\dot{\beta } = F_h, \end{aligned}$$
(2.48)

we substitute \(\alpha \) for the approximate uncoupled solution Eq. (2.39). We denote these approximations \(\alpha (t) \approx f(t)\) and \(\beta (t) \approx g(t)\). The system can then be written as

$$\begin{aligned}&M_{1,1}(\alpha )\ddot{\alpha } + P_{1,1}(\alpha ,\dot{\alpha })\dot{\alpha }\nonumber \\&\quad = F_v - M_{1,2}(f,g)\ddot{g} - P_{1,2}(f,g,\dot{f},\dot{g})\dot{g} \end{aligned}$$
(2.49)
$$\begin{aligned}&M_{2,2}(\beta )\ddot{\beta } + P_{2,2}(\beta ,\dot{\beta })\dot{\beta }\nonumber \\&\quad = F_h - M_{2,1}(f,g)\ddot{f} - P_{2,1}(f,g,\dot{f},\dot{g})\dot{f} \end{aligned}$$
(2.50)

which is in a similar form to the uncoupled actuation problem. For readability through the rest of this work, we denote

$$\begin{aligned} \begin{aligned} M_{1,2}(f,g)&= \tilde{M}_{1,2}\\ P_{1,2}(f,g,\dot{f},\dot{g})&= \tilde{P}_{1,2}\\ M_{2,1}(f,g)&= \tilde{M}_{2,1}\\ P_{2,1}(f,g,\dot{f},\dot{g})&= \tilde{P}_{2,1}. \end{aligned} \end{aligned}$$
(2.51)

The key difference between this system and the uncoupled one is the structure of the excitation terms which can present a challenge for analytical solution methods. As a result, we further approximate the system by finding Taylor Series expansions of the excitation terms. With regards to the order of expansions required, we notice that higher-order terms do not significantly increase computational complexity for these cases (merely the number of terms that must be computed) since the difficulty that they allow us to overcome is the integration of the transcendental terms in the excitations of our approximated model. In practice, the order of expansion used here is at the practitioners’ discretion. Through trial and error, we notice an acceptable loss of accuracy when using a \(10^{\text {th}}\)-order Taylor Series approximation in both equations as will be illustrated in the next section. In the following equations, we use the function \(h(\cdot )\) to indicate that \((\cdot )\) has been approximated in this way.

With the system approximated in this manner, we proceed with an analytical solution via the method of variation of parameters. The nonlinear terms occurring on the left-hand sides of Eqs. (2.49) and (2.50), i.e. on the diagonals of M and P, mean we can benefit from reusing a perturbation method as in the uncoupled case. As such, we introduce the small perturbation parameter via \(a_2=\varepsilon \tilde{a}_2\), \(a_6=\varepsilon \tilde{a}_6\), \(b_2=\varepsilon \tilde{b}_2\), and \(b_6=\varepsilon \tilde{b}_6\) to give

$$\begin{aligned}{} & {} a_1\ddot{\alpha } + a_5\dot{\alpha } + \varepsilon \big (\tilde{a}_2\cos (2\alpha )\ddot{\alpha } + \tilde{a}_6\sin (2\alpha )\dot{\alpha }^2\big ) \nonumber \\{} & {} \quad = F_v - h(\tilde{M}_{1,2}\ddot{g} + \tilde{P}_{1,2}\dot{g}) \end{aligned}$$
(2.52)

and

$$\begin{aligned}{} & {} b_1\ddot{\beta } + b_5\dot{\beta } + \varepsilon \big (\tilde{b}_2\cos (2\beta )\ddot{\beta } + \tilde{b}_6\sin (2\beta )\dot{\beta }^2\big ) \nonumber \\{} & {} \quad = F_h - h(\tilde{M}_{2,1}\ddot{f} + \tilde{P}_{2,1}\dot{f}). \end{aligned}$$
(2.53)

As such, when we introduce the generalised asymptotic approximations

$$\begin{aligned} \alpha (t)&\approx \sum _{k=0}^{n}\Big ( \alpha _k(t)\varepsilon ^k \Big ) \end{aligned}$$
(2.54)
$$\begin{aligned} \beta (t)&\approx \sum _{k=0}^{n}\Big ( \beta _k(t)\varepsilon ^k \Big ) \end{aligned}$$
(2.55)

for any positive integer value of n, and substitute them into Eqs. (2.52) and (2.52), we find the following perturbation equations at the generating level.

$$\begin{aligned}&a_1\ddot{\alpha _0} + a_5\dot{\alpha _0} = F_v - h(\tilde{M}_{1,2}\ddot{g} + \tilde{P}_{1,2}\dot{g}) \end{aligned}$$
(2.56)
$$\begin{aligned}&b_1\ddot{\beta _0} + b_5\dot{\beta _0} = F_h - h(\tilde{M}_{2,1}\ddot{f} + \tilde{P}_{2,1}\dot{f}) \end{aligned}$$
(2.57)

Solving these equations analytically is not overly troublesome with determining the particular integral made simple via the method of variation of parameters. Due to the high order of Taylor Series approximation used for h, we refrain from writing the full form of the solution explicitly in this work.

Fig. 11
figure 11

For the simulation of Case 2: a the approximations of \(\alpha (t)\); b the percentage error in the approximation of \(\alpha (t)\); c the approximations of \(\beta (t)\); and, (d) the percentage error in the approximation of \(\beta (t)\)

2.3.4 Implementation and simulation

In testing the algorithm, we undertake a range of manoeuvres as detailed in Table 1. These particular manoeuvres and torques are chosen because they allow us to observe how our approximation performs with different excitations and different initial configurations. For the manoeuvres with durations of \(t=2\) seconds, we will also inspect the shorter timescale performance from the same set of results as necessary.

Throughout this section, we compare our approximate analytical solution to one that is commonly used in the control of manipulators such as this one. This method essentially regards all nonlinearities as disturbances/uncertainties in the system model. So, we can represent it here as the solutions to the uncoupled problem in Eq. (2.36).

For Case 1, Fig. 9a–d, the error of our approach is initially lower than that of the uncoupled approximation before it grows rapidly and extremely high around \(t=1\) second in both the vertical and horizontal case. In Fig. 10a and b, we restrict the displayed time interval as well as the percentage error to highlight the comparative performance over shorter timescales.

Fig. 12
figure 12

A closer inspection of the percentage error in the approximation of \(\beta (t)\) in Case 2

Fig. 13
figure 13

For the simulation of Case 3: a the approximations of \(\alpha (t)\); b the percentage error in the approximation of \(\alpha (t)\); c the approximations of \(\beta (t)\); and, d the percentage error in the approximation of \(\beta (t)\)

Fig. 14
figure 14

For the simulation of Case 4: a the approximations of \(\alpha (t)\); b the percentage error in the approximation of \(\alpha (t)\); c the approximations of \(\beta (t)\); and, d the percentage error in the approximation of \(\beta (t)\)

Fig. 15
figure 15

For the simulation of Case 5: a the approximations of \(\alpha (t)\); b the percentage error in the approximation of \(\alpha (t)\); c the approximations of \(\beta (t)\); and, d the percentage error in the approximation of \(\beta (t)\)

Fig. 16
figure 16

For the simulation of Case 6: a the approximations of \(\alpha (t)\); b the percentage error in the approximation of \(\alpha (t)\); c the approximations of \(\beta (t)\); and, d the percentage error in the approximation of \(\beta (t)\)

Fig. 17
figure 17

For the simulation of Case 7: a the approximations of \(\alpha (t)\); b the percentage error in the approximation of \(\alpha (t)\); c the approximations of \(\beta (t)\); and, d the percentage error in the approximation of \(\beta (t)\)

For Case 2, Fig. 11a–d, we see very similar behaviour to that observed in Case 1. The difference between these scenarios is the value of the excitation torque \(F_h\). With the lower value of \(F_h\) in Case 2, we observe that the rapid growth of error in our approximation of \(\alpha \) is delayed slightly: more notably occurring just after \(t=1\) (comparing Figs. 10a and 11b). Additionally, in this case, the error growth in \(\beta \) seems slower before it eventually surpasses that of the uncoupled approximation at approximately the same time as in the previous case (comparing Figs. 10b and 12).

For Case 3 and those that follow, we default to displaying a restricted interval in the time domain. We do so with the proviso that the rapid growth in error seen in Cases 1 and 2 can also be observed similarly in all cases. The error in this simulation of \(\alpha \) is seen to be lower than in Case 1 and similar to that in Case 2 (over the restricted domain in t). Equally, the error in the Case 3 simulation of \(\beta \) is seen to be lower than in Case 1 and slightly lower than that in Case 2 (Fig. 13).

In Case 4, the errors computed for both \(\alpha \) and \(\beta \) are lower than in Cases 1–3 (Fig. 14).

In Case 5, we see our approach perform more desirably than for Cases 1 and 2. However, it exhibits a significant loss in accuracy in comparison to Case 4 (Figs. 151617).

In the interest of comparing the accuracy of our approach versus the uncoupled approximation in Cases 1–7, we show Fig. 18a and b. The curves on these graphs are found by subtracting the error of our approach from the error of the uncoupled approximation. Therefore, when a curve is greater than 0 on the vertical axis, our approximation is superior at that point.

Fig. 18
figure 18

For Cases 1–7, we compare the percentage errors in our coupled approximation versus the uncoupled approximations for a the vertical actuation coordinate, \(\alpha (t)\); and, b the horizontal actuation coordinate, \(\beta (t)\)

For interest, we highlight that Case 2 is the only simulation (of these seven) that sees our approximation initially produce a less accurate result. The curve for this particular simulation, however, soon surpasses the reference approach.

Fig. 19
figure 19

Comparison of the percentage errors in our coupled approximation versus the uncoupled approximation for \(\alpha (t)\) in Cases 1–7

In Cases 1–7, for \(\alpha (t)\), Case 3 exhibits the greatest improvement in accuracy while Case 4 shows the longest retention of its accuracy. Case 7 appears to show the lowest improvement in the accuracy for this set of simulations. And, Case 6 is the first to become less valuable than the reference approach. For \(\beta (t)\), Case 2 shows the highest improvement in accuracy (although closely followed by Case 1) while Case 7 is the only result in this set of simulations (for either coordinate) to show no improvement by comparison to the reference method. Additionally, for \(\beta (t)\), Case 6 retains superior accuracy for the longest duration by contrast to the aforementioned Case 7.

In Cases 8–7, we see some similarities in comparison to the previous cases. However, there are also some key differences which will be reflected upon in the subsequent section.

Fig. 20
figure 20

For Cases 8–14, we compare the percentage errors in our coupled approximation versus the uncoupled approximations for a the vertical actuation coordinate, \(\alpha (t)\); and, b the horizontal actuation coordinate, \(\beta (t)\)

In this set of simulations, for \(\alpha (t)\), Case 12 shows the greatest improvement in accuracy while Case 14 shows the least. Case 13 retains its superiority for the longest duration, and Case 9 is the first to degrade below the reference method’s accuracy. Note that Case 14 initially dips below the \(0\%\) improvement line, but rises up beyond this and retains its benefit for longer than Cases 9 or 11. Regarding \(\beta (t)\) in Cases 8-14, Case 12 exhibits the greatest improvement in accuracy as Case 13 exhibits the least (showing largely inferior performance to the uncoupled approximation). Additionally, it is also Case 12 that retains its accuracy for the longest duration while Case 13 is also the first to degrade.

2.3.5 Discussion regarding the FutureForge manipulator simulations

In the simulations detailed in Table 1, we have explored the following question. Is the accuracy of our approach affected by changing actuation forces, initial conditions, and/or manoeuvre durations? Clearly, yes. A question remains though as to how precisely these changes impact the accuracy of our approximations.

In the first set of simulations, Cases 1–7, the greatest improvement offered by our approximation was found in Cases 1–4. In these cases, we are varying the excitations applied to the system while maintaining the initial conditions across them. Cases 5–7, in which we varied the initial conditions while maintaining the excitations, generally performed worse than Cases 1–4. That being said, a small improvement in accuracy was still exhibited in these results. In the second set of simulations, Cases 8–14, the improvement offered by our approximation technique was generally lower than in Cases 1–7 although still present. Inevitably, the accuracy of our method will stem from how reasonable it is to use the uncoupled system dynamics to approximate aspects of the coupled system’s behaviour.

Fig. 21
figure 21

A comparison of our approximation method with the uncoupled approximation (used as a measure of success in the FutureForge manipulator example) applied to a the Rayleigh oscillator system and b the Van der Pol oscillator system

In the context of the control of hybrid manipulators such as this, accurate system prediction over short timescales can be arguably more beneficial than accurate prediction over longer durations. In model predictive control systems, the prediction horizon is the parameter specifying how far into the future the prediction model forecasts. If this is less than 1 second, then our approximation technique is superior to the standard uncoupled approximation as it accounts for a higher proportion of model uncertainty. However, for prediction horizons greater than this timescale, preference may still lie in the uncoupled approach.

3 Conclusions

In this work, we have described a novel method for the approximation and resulting analytical solution of coupled, nonlinear dynamic systems. We have also illustrated its application in three different contexts. The first of these was a system of coupled Rayleigh oscillators; the second was a system of coupled Van der Pol oscillators; and, the third was a next-generation industrial hybrid manipulator. In each of these contexts, we showed the application of our approximation technique before showing the advantage offered by this approach.

In the cases of the Rayleigh and Van der Pol systems, our method performs well by comparison to the \(O(\varepsilon ^0)\) solution of the uncoupled problems (see Figs. 4, 7a, b). For the manipulator example, we compared our approach to a widely-used approximation in the context of predictive control systems: considering all nonlinearities and coupling effects as uncertainties. If we compare our approximations of the Rayleigh and Van der Pol systems to this same technique, then we see our method outperforms this reference approach in both cases (see Fig. 21a, b).

By comparison to the uncoupled approximation of the system, we see that our method generally achieves greater accuracy over an initial interval in the time domain before becoming inferior after this interval is exceeded. This seems to be a reasonable trade-off: our method is not a universal cure-all for the approximation and analytical solution of coupled, nonlinear systems. Rather, it offers practitioners (particularly in the field of control) an alternative means of approximation which has enhanced accuracy in the short term. We appreciate that there is much work to be carried out to fully understand the error growth, optimal means of application, and potential pitfalls of this approximation technique.

3.1 Comments for further work

In future work, we will explore the generalisation of this method in two senses. Firstly, we will conduct a parameter study for the Rayleigh and Van der Pol systems described here. This is intended to give an understanding of the parameter space in which our approach is applicable and affords some benefit to the user. Secondly, we will look to extend this—from a parameter study based on the specific problems studied in this paper—to a study of the parameter space of more generalised ordinary differential equations. Additionally, we look to explore the application of this technique in the context of designing a control system for the FutureForge manipulator. However, for now, we hope that this broad presentation of the concept is interesting and finds some utility in the realm of the linearisation of nonlinear systems.