1 Introduction

Ocean waves contain tremendous energy potential. There is a wide variety of wave energy extraction concepts depending on the mechanism of absorbing energy from the waves, the water depth, and the location (shoreline, near-shore, offshore). The energy extraction concepts can be categorized into three categories (Falcao 2010): oscillating water column devices, oscillating body systems, and overtopping converters. The class of oscillating body systems includes single-body heaving buoys, two-body heaving systems, fully submerged heaving systems, and pitching devices. In a typical heaving buoy (point absorber) system, the energy extraction results from the oscillating movement of a single body reacting against a fixed frame of reference (the sea bottom or a bottom-fixed structure). In one typical configuration, hydraulic cylinders are attached to the floating body. When the float moves due to heave, the hydraulic cylinders drive hydraulic motors which in turn drive a generator (Falnes 2007b). A strongly simplified model for this point absorber is the mass–spring–damper system shown in Fig. 1.

Fig. 1
figure 1

A typical WEC model

A typical mathematical model for this point absorber wave energy converter (WEC) can take the state space form (Li et al. 2012):

$$\begin{aligned} \dot{\mathbf {x}}= [A] \mathbf {x} + [B_w]w + [B_u]u, \end{aligned}$$
(1)

where u is the input piston force, w is the wave vertical velocity, \(\mathbf {x}\) is the state vector that includes the float vertical velocity and the buoyancy force, and the matrices [A], \([B_w]\), and \([B_u]\) are time-invariant matrices that are functions of the device properties. The above mathematical model has been used in several studies for control system design, with the control objective of maximizing the heave energy extraction. Some control strategies assume that no prediction for the wave w is available; others assume its availability.

Reference Ringwood et al. (2014) presents a comprehensive study for the methods of control for wave energy conversion; a brief is here presented. Using a linear dynamic model, the frequency domain analysis leads to the well-known complex-conjugate conditions that provide a means to compute the optimal float velocity that guarantees maximum energy extraction, regardless of the spectral distribution of the excitation force (Bacelli 2014; Falnes 2002). This complex-conjugate control, however, requires having the complex bidirectional energy flow mechanisms in the system. There are also practical constraints on the amplitude of maximum heave excursion and float velocity that limit the maximum extracted energy to bounds lower than the ideal complex-conjugate bound (Evans 1981; Falnes 2007a). Moreover, the complex-conjugate solution is not causal, which means a prediction for the wave elevation or the excitation force is needed for real-time implementation. Several control concepts are suggested in the literature. A feedforward control can be implemented assuming the availability of the excitation force (wave) model to compute the control force (Naito and Nakamura 1986). Also a feedback approach can be implemented through computing the control force using both the measurements and the wave prediction data (Korde et al. 2001; Korde 1999). Another way to implement the complex-conjugate control is to use a velocity-tracking control where the estimates of the excitation force are used to compute the optimal float velocity (through the feedforward loop) which is imposed on the WEC through a feedback loop (Maisondieu and Clement 1993).

An intuitive way of looking at the WEC control problem is to consider it as a maximization of energy extraction over a finite future horizon H, subject to constraints on the allowed motions and forces. Specifically, the energy functional, E(t), is maximized at each time:

$$\begin{aligned} \mathrm{max} \, E(t) = \int _t^{t+H} \tau _u(\tau )v_f(\tau ) \mathrm{d}\tau \end{aligned}$$
(2)

subject to constraints on the system states and controls, where \(\tau _u(t)\) is the control force and \(v_f(t)\) is the float velocity. The maximization of E(t) can be carried out over the velocity or the forces, even though the latter may cause numerical issues (Fusco 2012). To that end, several algorithms have been presented that utilize gradient-based algorithms (Hals et al. 2011), dynamic programming (Li et al. 2012), and pseudospectral methods (Bacelli et al. 2011) for optimization. Reference Li (2015) presents a nonlinear model predictive control that is a combination of Psuedospectral method and differential flatness and it demonstrates a significant improvement over using Psuedospectral method alone in terms of computational efficiency, since it only parameterizes one state variable. It can also handle nonlinearity very well. Recently, a novel objective function is adopted that can trade off the energy extraction, the energy consumed by the actuator and safe operation (Li and Belmont 2014).

This paper presents a shape-based (SB) approach to solve the WEC optimal control problem. The SB approach has its roots in the space trajectory optimal control problem. When sending a spacecraft on an interplanetary mission, the problem of controlling the spacecraft thrust magnitude and direction, in an optimal sense, is a complex optimization problem. One category of methods to solve this problem in a computationally efficient way is the SB methods, in which the shape of the space trajectory is assumed to be known. References Petropoulos and Longuski (2004), Petropoulos (2001), Paulino (2008), for instance, assume that the trajectory of the spacecraft takes a spiral shape and use that to limit the search space to spiral trajectories. In a broader view, reference De Pascale and Vasile (2006) presents an SB method that approximates the states using two shaping functions suitable for solar and nuclear electric propulsion systems. References Wall and Conway (2009) and Wall (2008) developed a seven-parameter inverse polynomial shape for low-thrust rendezvous trajectories. Recently, reference Taheri and Abdelkhalik (2012) presented an SB method that does not assume a specific shape for the states; rather it assumes a series representation of some/all of the states and use it to satisfy any problem specific constraint and boundary conditions. This SB approach is suitable for the WEC optimal control problem as detailed in Sect. 4. The SB approach assumes a shape for the float velocity history over a finite future horizon using a finite Fourier series. The initial guess for coefficients in the Fourier series is obtained using the available estimates about the wave in the future horizon. These Fourier coefficients are then tuned during the search for the optimal solution. The main difference between this SB approach and other pseudospectral methods is the significant savings in terms of computational cost which makes the SB approach suitable for real-time implementation. The savings in computational cost is due to the fact that pseudospectral methods approximate all the states and the control as functions of basis functions, while the SB method approximates only one state in terms of a finite Fourier series.

Several references present the dynamic models for different types of wave energy converters in detail (Fusco 2012). The proposed SB approach is tested on two different models, both are single degree-of-freedom; yet one of them is a simplified reduced-order model that does not have dynamic states representing the radiation force. This paper is organized as follows. Sections 2 and 3 describe the two dynamic models used in this paper. Section 4 describes the SB approach and its implementation in the WEC optimal control problem. The results of SB approach are presented in Sect. 6, along with comparisons between the SB approach and each of the dynamic programming, pseudospectral, resistive loading, and model predictive control approaches.

2 Performance model

A dynamic model is implemented at Sandia National Labs, called performance model, and is detailed in reference Coe and Bull (2014, 2015). This section is a brief for the theory and its implementation.

Fig. 2
figure 2

Vertical degree of freedom for wave energy converter dynamics model

A time-domain model was developed using the integro-differential formulation introduced by Cummins (1962). For a single vertical degree of freedom system, as depicted in Fig. 2, the time-domain equation of motion can be given as

$$\begin{aligned} \left[ m {+} A_{\infty } \right] \ddot{\xi } {+} \int _0^t K_r (t {-} \lambda ) \dot{\xi } \left( \lambda \right) \, \mathrm{d} \lambda + B_v \dot{\xi } + G \xi = \tau _e + \tau _{u}.\nonumber \\ \end{aligned}$$
(3)

Here, m is the device’s rigid-body mass, and \(\tau _e\) and \(\tau _u\) are the excitation and control input, respectively. The infinite added mass (i.e., the added mass asymptote at an infinite frequency) is \(A_{\infty }\). Viscous damping effects are represented by the linear product \(B_v \dot{\xi }\). The hydrostatic–gravitational couple, which is zero when the body is at its equilibrium position, is given by \(G\xi \).

The most common method used to lessen the numerical cost of evaluating a convolution integral is to replace it by a linear ordinary differential equation (ODE), written as a state–space model (SSM).

$$\begin{aligned} \left( \mu (t) = {\int _{0}}^{t} \mathbf {K}_r \left( t {-} \lambda \right) {\dot{\xi }} \left( \lambda \right) \, \mathrm{d} \lambda \right) \Leftrightarrow \left( \begin{array}{l} {\dot{\mathbf {x}}}_r = \mathbf {A_r} {\mathbf {x}}_r {+} \mathbf {B_r} {\dot{\xi }}(t) \\ \overline{\mu }(t) = \mathbf {C_r} {\mathbf {x}}_r \end{array} \right) , \end{aligned}$$
(4)

where \(\mathbf {x}_r \in R^{n \times 1}\), \(\mathbf {A_r} \in R^{n \times n}\), \(\mathbf {B_r} \in R^{n \times 1}\), \(\mathbf {C_r} \in R^{1 \times n}.\)

The order of system, n, is usually within \(3 \le n \le 8\). The matrices \(\mathbf {A_r}\), \(\mathbf {B_r}\) and \(\mathbf {C_r}\) must be chosen to produce a vector \(\overline{\mu }\) to mimic \(\mu \).

It is convenient to define the states of the model as follows:

$$\begin{aligned} x_{\mathrm{sys}} = \begin{bmatrix} \mathbf {x}_1 \\ -- \\ {x}_2 \\ -- \\ {x}_3 \end{bmatrix} = \begin{bmatrix} x_{r|1} \\ \vdots \\ x_{r|N} \\ -- \\ \xi \\ -- \\ \dot{\xi } \\ \end{bmatrix}. \end{aligned}$$
(5)

A system of differential equations for this state vector can be written as

$$\begin{aligned} \begin{array}{ll} \dot{\mathbf {x}}_1 =&{} A_r \mathbf {x}_1 + B_r x_3 \\ \dot{x}_2 =&{} x_3 \\ \dot{x}_3 =&{} (m + A_{\infty })[\tau _e + \tau _u - (C_r \mathbf {x}_1 + B_v x_3 + G x_2)] . \\ \end{array} \end{aligned}$$
(6)

For an arbitrary excitation, \(\tau _e\), (6) can be advanced in time via numerical integration.

3 Simplified dynamic model

It is possible to work with a reduced-order model that assumes no dynamic states for the radiation force. There are several references that use this simplified model for preliminary analysis; in this paper, the model in reference Li et al. (2012) is used and the obtained results of the SB control approach is compared to the results obtained using a dynamic programming approach in reference Li et al. (2012). In this model, the point absorber WEC is modeled as a mass–spring–damper system as shown in Fig. 1. The float mass is acted upon by the spring and damper forces. The hydrodynamic damping (damper in Fig. 1) acting on the float includes the added (radiation) damping due to the float movement. To simplify the analysis, the hydraulic damping is assumed to be independent of the frequency. The spring force represents the hydrostatic (buoyancy) force, which is computed from the geometry of the float. The piston force is the force applied through the hydraulic cylinders attached to the buoy; this is the control force. The mathematical model in Eq. (1) can then be rewritten as (Li et al. 2012):

(7)

where m is the mass of the float including the radiation (added) mass, \(D_h\) is the hydrodynamic damping of the float, \(D_f\) is the coefficient of friction force acting on the float, K is the stiffness of the buoyancy force, the state \(x_1\) represents the spring force (buoyancy force), the state \(x_2\) represents the vertical velocity of the float, \(v_{w}\) is the vertical velocity of the wave, and \(\tau _u\) is the control force in the piston. The distance between the float and the water surface (D) impacts the linearity of the above model. When this distance D exceeds some limit, the buoyancy force gets smaller, due to the smaller cross section of the buoy at the water level (Li et al. 2012). Hence, the above model is appended by:

$$\begin{aligned} x_1 = \left\{ \begin{array}{lll} \frac{K}{k}(D_{\mathrm{max}}(k-1) + D) &{} \quad \mathrm{if } &{} D > D_{\mathrm{max}} \\ KD &{} \quad \mathrm{if } &{} |D| \le D_{\mathrm{max}} \\ \frac{K}{k}(D_{\mathrm{max}}(1-k) + D) &{} \quad \mathrm{if } &{} D < -D_{\mathrm{max,}} \end{array} \right\} \end{aligned}$$
(8)

Where k is a nonlinearity coefficient, \(D_{\mathrm{max}}\) is the maximum allowable displacement and is set as a given constraint, and D is computed as:

$$\begin{aligned} D(t) = \int _0^t \left( v_{w}(\tau )-v_f(\tau )\right) \mathrm{d}\tau , \end{aligned}$$
(9)

where \(v_f\) is the second state \(x_2\). The nonlinearity effect in Eq. (8) is used in the plant model, but is not used in the control.

4 Shape-based approach for simplified-model WEC optimal control

The SB concept is first explained here for the simplified dynamic model presented in Sect. 3. The implementation of the SB on the higher-order model WEC model is described in Sect. 5. The shape-based (SB) approach assumes a Fourier series representation for the buoy velocity (\(v_f \equiv x_2 \)) with unknown Fourier coefficients.

$$\begin{aligned}&v_f(t,a_0,\ldots ,a_N,b_1,\ldots ,b_N) \nonumber \\&\quad = \frac{a_0}{2} + \mathop {\Sigma }\limits _{n=1}^N\left( a_n \cos \left( \frac{n \pi }{H}t\right) + b_n \sin \left( \frac{n \pi }{H}t\right) \right) , \end{aligned}$$
(10)

where H is the time interval over which the objective function will be optimized, and it is assumed that we have a model for the wave velocity over this horizon H, N is the number of Fourier terms and it is a design parameter. The SB approach seeks to optimize the Fourier coefficients so that the extracted energy of the horizon H is maximum. The frequencies in the Fourier expansion in Eq. (10) can be extracted from the predicted excitation force, so that the frequencies in the velocity Fourier expansion match the frequencies in the predicted excitation force, \(\Omega _n\), \(n=1,\ldots ,N\). Hence, the velocity can be written as:

$$\begin{aligned}&v_f(t,a_0,\ldots ,a_N,b_1,\ldots ,b_N)\nonumber \\&\quad = \frac{a_0}{2} + \mathop {\Sigma }\limits _{n=1}^N \left( a_n \cos \left( \Omega _n t\right) + b_n \sin \left( \Omega _n t\right) \right) . \end{aligned}$$
(11)

For a given buoy velocity representation, the derivative of the velocity \(\dot{v}_f(t)\) can be evaluated analytically. Given a model for the wave vertical velocity, \(v_{w}(t)\), the vertical displacement between the float and the water surface can be computed using Eq. (9). The first state, representing the buoyancy force which is modeled as a spring force, can then be computed using Eq. (8) (Li et al. 2012). Also, the control input force associated with the above two states can be computed as a function of the Fourier coefficients using Eq. (1):

$$\begin{aligned}&\tau _u(t,a_0,\ldots ,a_N,b_1,\ldots ,b_N)\nonumber \\&\quad = x_1(t) -(D_h + D_f) v_f(t) + D_h v_{w}(t) - m \dot{v}_f(t). \end{aligned}$$
(12)

The optimal control problem can then be formulated as follows:

Max E(t) defined in Eq. (2), subject to:

  1. 1.

    \(|\tau _u| \le \tau _{\mathrm{umax}}\),

  2. 2.

    \(|D| \le D_{\mathrm{max}}\),

  3. 3.

    the equations of motion defined in Eq. (7).

The design variables are the Fourier coefficients \(a_0\), \(a_n,\) and \(b_n\), \(\forall \, n = 1 \ldots N\). The optimization algorithm used to solve this optimization problem is the interior point method (Forsgren et al. 2002). The optimization process requires an initial guess for the coefficients. A good initial guess for the coefficients is one that is close to the optimal solution so that the computational cost of the optimization process is small. A good initial guess can be obtained using the available wave predication; the Fourier coefficients are initialized such that the velocity matches the wave vertical velocity. To do that, the predicted wave velocity is expanded using Fourier series as follows:

$$\begin{aligned} v_{w}(t) = \frac{c_0}{2} + \mathop {\Sigma }\limits _{n=1}^N \left( c_n \cos \left( \frac{n \pi }{T}t\right) + \mathrm{d}_n \sin \left( \frac{n \pi }{T}t\right) \right) . \end{aligned}$$
(13)

In Eq. (13), the coefficients \(c_0\), \(c_n\), and \(\mathrm{d}_n\) can be computed given the prediction for \(v_{w}(t)\). These coefficients are used as initial guess for the coefficients \(a_0\), \(a_n\), and \(b_n\), respectively, \(\forall \, n = 1 \ldots N\).

5 Shape-based approach for higher-order model WEC optimal control

For the performance model described in Sect. 2, the SB approach also approximates the buoy velocity using Fourier series as described in Sect. 4. The optimization design variables are still the Fourier coefficients in the velocity Fourier expansion. For a given shape of the velocity (given set of the design variables), the control force and objective function (extracted energy) are evaluated as follows. The vector of radiation states \({\mathbf {x}}_1\) can be propagated in time over the horizon H using the velocity profile, as can been from the first of Eq. (6) (the propagation of the radiation states requires only the history of the velocity over H). The history of the radiation states is then used along with the history of the velocity over H to compute the control force using the third of Eq. (6) as follows:

$$\begin{aligned} \tau _u = \frac{\dot{x}_3}{m + A_{\infty }} - \tau _e + (Cr\mathbf {x}_1 + B_vx_3 + Gx_2). \end{aligned}$$
(14)

Note that \(x_3\) in the higher-order model is the velocity \(v_f\), and \(\dot{x}_3\) is the derivative of the velocity which can be computed analytically by taking the derivative for the velocity Fourier expansion. Once the input control \(\tau _u\) is computed over the horizon H,  it is used to propagate the whole system over the horizon H using Eq. (6), and the corresponding extracted energy is computed using Eq. 2. This completes the evaluation of the control and the corresponding energy at any time step; this process is repeated as the simulation marches in time.

As a way to save on the computational cost, it is possible to take advantage of the fact that at each time a control command is needed, we compute the control over a horizon H starting at that time. In other words, at a given time step, the SB approach computes the required control at each time step over H. This control history is stored and used to save on the computational time. This control history is used at subsequent time steps without updating the control. This saving on the computational effort reduces the optimality of the solution since a control predicted at a previous time step is suboptimal. To implement this concept, we define the number of time steps in which new control calculations are not needed as the integer parameter CtrlInteg. The following parameters are also defined:

  • \(N_H\) an integer that represents the horizon length in units of wave period,

  • \(N_{\mathrm{cw}}\) an integer that determines the number of control updates in one wave period,

  • \(N_{\mathrm{FFT}}\) the number of fourier terms.

Figure 3 is an illustration that shows these parameters. Algorithm 1 shows an outline for the SB algorithm. The variable t is the time, and Tend is the end of simulation time. As can be seen from the above presentation, the SB method can be considered as a particular form of the model predictive control with different parameterizations than the standard piecewise constant input trajectory used in the literature (Bacelli and Ringwood 2015).

Fig. 3
figure 3

SB parameter definition

figure a

6 Numerical results

Two categories of results are presented in this paper. First, Sect. 6.1 presents the SB results when the simplified dynamic model described in Sect. 2 is used. The results obtained using SB are compared to those obtained using a Pseudospectral optimal control approach and a dynamic programming control optimization approach. Section 6.2 presents the SB results obtained when using the performance model described in Sect. 3. Comparison between the SB, a model predictive control approach, and a resistive loading approach are presented.

It is assumed in this study that a wave prediction over a future time horizon at all times is available. The length of the foreknowledge horizon ranges from 1 to 3 wave peak periods. For all the simulations presented in this paper, an Intel Sandy Bridge processor is used at 2.60 GHz.

6.1 Numerical results using simplified dynamic model

The simplified dynamic model presented in Sect. 2 is used. In this study, the simulation time is selected to be 45 seconds. Reference Li et al. (2012) presents a dynamic programming approach to solve the WEC optimal control problem. For comparison purposes, the same case study presented in reference Li et al. (2012) is investigated in this paper. In this case study, the float has a diameter of 9 m, a mass of \(10^{4}\) kg, and the added mass is \(7 \times 10^{4}\) kg. The height of the float is 2.4 m. The damping coefficient is \(D = 2 \times 10^4 ~\mathrm{N\,s}/\mathrm{m}\). The stiffness is \(K = 6.39 \times 10^{5}\) N/m. The friction damping ratio is \(D_f = 2 \times 10^{4}\) N s/m. The nonlinearity coefficient is \(k = 4\). The maximum control input is \(\tau _{\mathrm{umax}} = 3 \times 10^{5}~N\). Let \(\phi \) be the difference between the sea level and the float hight. The constraint on the float hight is \(\phi \le 1.2\) m. The seawater density is \(1025~\mathrm{kg}/\mathrm{m}^{3}\). The gravity constant is 9.8 N/kg.

In this study, the simulation time is selected to be 45 s, and the optimal control is computed using the SB method. Both the extracted energy over time and the required control are computed. In the finite Fourier series representation, the higher the number of Fourier terms, the higher is the accuracy of the captured dynamics and hence the more effective is the control. However, the computational time increases with more Fourier terms. To find the minimum number of Fourier terms that reasonably captures the problem dynamics, the problem is solved several times with different numbers of Fourier terms. Figure 4 shows the extract energy for different values of the number of Fourier terms N. Figure 4 shows that \(N = 11\) provides sufficient accuracy. Figure 5 shows the obtained control history for the case of \(N = 20\).

Fig. 4
figure 4

Energy extracted using the SB approach for different values of N

Fig. 5
figure 5

Control input using SB approach

6.1.1 Comparisons and discussions

This section presents the comparisons between the results of implementing the SB approach and the results of implementing each of the dynamic programming (DP) and the pseudospectral (PS) approaches, in controlling a point absorber WEC. Comparison is made based on the extracted energy, the smoothness of the obtained control, and the computational time.

Reference Li et al. (2012) presents a thorough explanation for the DP approach and its implementation to the WEC control problem. The DP approach in Li et al. (2012) is reproduced and the results are compared to the SB results. A fundamental step in implementing the DP approach is the discretization, in which the ranges of each of the states and the time are discretized into nodes. This way, the infinite continuous domain is converted into a finite discrete domain. The number of nodes impacts the obtained numerical results. As the number of nodes increases, the obtained solution is more accurate. However, the computational cost is higher. It is possible to show that in the limit, the DP approach finds the optimal solution. The computational cost limitation, however, is significant since, in a real-time implementation, all the computations should be carried out in less than the control time step which is \(1/u_{rate}\) s. If a coarse space grid is used, the DP algorithm might generate suboptimal solutions, and hence the extracted energy could be less than that of the optimal solution of the problem.

To compare the DP to the SB approach, it is important to note that the SB approach is suboptimal, since it is based on representing one of the states by a finite number of Fourier series. DP on the other hand searches for the optimal solution. The implementation, however, may alter this advantageous situation of the DP. As discussed above, the computational time of the DP increases as we increase the number of nodes. Also, increasing the number of states in higher-order models significantly increases the computational costs. In the SB approach, on the other hand, the dynamics of the problem can be captured reasonably with as few as \(11 \times 2 + 1 = 23\) Fourier terms.

Figure 6 shows the extracted energy for both the SB approach (with \(N = 11\)) and the DP approach (with \(N = 50\)). For the results in Fig. 6, the average computational cost for the DP is 0.025 s for each control solution, while the computational cost for the SB is 0.03 s for each control solution. The computational cost of the DP is slightly lower in this two-state simplified dynamic model. The number of nodes used in this case for DP is \(50\,\times \,50\) as that in reference Li et al. (2012). If we increase the number of nodes, it is possible for the DP to obtain the same solution as that of the SB method with about the same computational cost of the SB method. For the higher-order model results presented in Sect. 6.2, the computational cost of the DP is significantly higher than that of the SB method. Other SB results for different values of Fourier terms are also shown in Fig. 6 for comparison. The control profile obtained using the SB approach is more smooth compared to the DP approach. Figure 7 shows the control profile for both the SB and the DP approaches. Both controls are almost discrete; however, the switching frequency between the two control extremes in the DP approach is much higher than that of the SB approach. This high switching frequency is undesirable and hence the smooth control of the SB is preferred. The DP high-frequency control can be filtered to smooth out the control without losing much energy. The reason of the smoother control of the SB approach can be attributed to using the wave model to initialize the float vertical velocity state. Specifically, the SB approach makes use of all the available wave information (45 s of data in this case study). The DP approach on the other hand benefits only from the wave data in a horizon of 1 s in this case study. If we choose to increase the DP horizon, the computational cost and the required memory will significantly increase.

Fig. 6
figure 6

Comparison between the energy extracted using the SB approach and the DP approach

Fig. 7
figure 7

Comparison of the required control between the DP method and the shape-based method for \(N = 11\)

Recently, reference Bacelli and Ringwood (2015) implemented the Fourier–Galerkin direct transcription method which has the advantage of having a convex problem formulation when compared to other model predictive control strategies. It can also handle constraints on both the device displacement and velocity (Bacelli and Ringwood 2015). The Gauss Pseudospectral approach for control design approximates all the states and the control using a suitable set of basis functions. The GPOPS (Rao et al. 2010) software package uses Gauss Pseudospectral method to solve multiple-phase optimal control problems. In GPOPS, the higher the number of nodes used to approximate the states and control, the more accurate is the solution. However, the computational cost increases. GPOPS is used in the case study presented in this paper. Figure 8 shows the extracted energy for three different values of the number of nodes. The extracted energy is almost the same when the number of nodes is 100 and 200, and it matches with that obtained using the SB approach with \(N =11\). The computational cost of the Gauss Pseudospectral approach is significantly higher than that of the SB approach for this problem. This is because the Gauss Pseudospectral approach approximates all the states and the control using a set of basis functions, while the SB approach approximates only one state. Hence, the number of unknown variables in the SB approach is much less than that of the Gauss Pseudospectral approach. Also, the fact that, in SB, we search for the optimal coefficients of the state series expansion rather than the optimal control enhances the convergence speed. Figure 9 shows the control computed using the Gauss Pseudospectral approach for two values of the number of nodes. The obtained control is also a smooth control and is comparable to that obtained using the SB approach. Figure 10 shows the energy extracted using the SB, using the Gauss pseudospectral method and the DP approach. From Fig. 10, we can conclude that the SB method can provide solutions that are as good as the Gauss Pseudospectral method in terms of the energy extraction, yet the computational cost needed by the SB is significantly lower than that of the Gauss Pseudospectral method. For comparison purpose, Fig. 10 also shows the level of energy extraction that we would get if we did not assume the availability of wave energy data (Li et al. 2012).

Fig. 8
figure 8

Energy extracted using Gauss pseudospectral for different numbers of domain discretization nodes

Fig. 9
figure 9

Control input using Gauss pseudospectral for two values of domain discretization nodes

Fig. 10
figure 10

Energy extracted using Gauss pseudospectral, SB, DP methods

6.2 Numerical results using the performance model

The SB approach is used to compute the control using the Sandia performance model. The device, shown in Fig.  11, has a mass of 858.4 kg, a volume of 0.8578 m\(^3\), and a diagonal inertia matrix of [83.9320, 83.9320, 137.5252] kg m\(^2\).

Fig. 11
figure 11

Schematic of the Sandia experimental WEC

Several sea states are studied; these sea states are listed in Table  1 where Tp is the peak time, Hs is the maximum wave hight, and the Duration is the simulation time.

Table 1 Tested sea states characteristics and simulation times

The optimal selection for the SB parameters varies depending on the sea state being solved. Table 2 shows the parameters’ values for some of the tested sea states.

Table 2 Selected SB parameters for some of the tested sea states

Detailed results are presented for one case study which is RS10. Figure 12 shows the extracted power versus time using the shape-based control for case RS10. The negative portions of the curve indicates reactive power portions, which is power given by the power conversion chain to water. The total energy extracted over the 300 s of simulations is 3.53 e5 joules. The computed control in this case is shown in Fig. 13. In this current study, no constraint is added on the control force to maintain a linear model. The resulting heave motion of the buoy is shown in Fig. 14. As can be seen from Fig. 14, the heave displacement is within about \(\pm 0.5\) m.

Fig. 12
figure 12

Extracted energy for case RS10

Fig. 13
figure 13

Control input force for case RS10

Fig. 14
figure 14

Position of the buoy for case RS10

Figure 15 shows the aggregated results for all the tested sea states where the average power is shown for each sea state. The average power is computed over the simulation duration of each sea state. A comparison is made of the resulting average power from the SB control versus a resistive loading control and a model predictive control (Cretel et al. 2011). Plotted also in Fig. 15 is the trend line of the SB solutions. As can be seen from Fig. 15, the SB solution is close to that obtained by the model predictive control and is much better than the resistive loading control, in terms of the extracted energy.

Regarding the computational cost of the SB method using this higher-order model (10 states), the computational time needed for all of the 300 s of simulations in the RS10 sea state above is 380.1 s. This corresponds to an average of 1.27 s of computational time per one second of simulations. As discussed in Sect. 4, the SB algorithm does not require computing a new control value at each time step; rather, it requires new control calculations every CtrlInteg time steps. In this test case, \(CtrlInteg = 15\) time steps. The time step in this case is 0.22 s, and hence a new control calculation is needed every \(15 \times 0.22 = 3.3\) s. For this higher-order model, the computational cost of the SB approach is significantly lower than that of the DP approach. For comparison, the computational time required by the DP approach for the RS10 sea state discussed here is 4.6097 h of computational time over the 300 s of simulations; this is obviously very high. The average power obtained using the DP approach for this case is \(1.5311 \times 10^3\) W as opposed to \(1.176 \times 10^3\) W of average power obtained using the SB approach. The average power obtained using the DP approach in this case is higher than that of the SB approach, yet the computational cost is significantly high.

Fig. 15
figure 15

Average power extracted using three different methods for the tested sea states

7 Conclusion

This paper presents a shape-based approach that searches for the optimal control of a one degree-of-freedom wave energy point absorber. Two linear dynamic models are used representing two levels of complexity. Wave prediction is assumed to be available. The shape-based approach assumes a series expansion for one of the states and conducts a search for the optimal shape of the state so that the energy extracted is optimized. A key point in this approach is the use of the wave prediction data to initialize the search for the optimal shape of the state. As a result, the speed of convergence is fast, enabling a real-time implementation for the shape-based approach. Another feature about the shape-based approach is the use of all the available wave data to initialize the optimization of the states (compared to the dynamic programming that uses only a shorter time horizon of data for computational cost reasons). This feature results in a smoother control; i.e., a lower switching frequency between the two control extremes. The obtained solution using shape-based approach is very comparable to that obtained using the pseudspectral approach, dynamic programming, or model predictive control. The shape-based approach is faster than the pseudospectral and dynamic programming methods when higher-order models are used. The shape-based method can be applied to a nonlinear dynamic model witch is the future plan of work.