*Article* **Predictive Control for a Wave-Energy Converter Array Based on an Interconnected Model**

**Bo Zhang 1,2 , Haixu Zhang 1,2 , Sheng Yang 1,2, Shiyu Chen 1,2, Xiaoshan Bai 1,2,\* and Awais Khan 1,2**


**Abstract:** This paper proposes a model predictive control (MPC) method based on an interconnected model to maximize the ocean wave energy extracted by a wave-energy converter (WEC) array. In the proposed method, a formally uniform interconnected model is applied to represent the dynamics of an array consisting of an arbitrary quantity of WECs, simultaneously considering the hydrodynamic interaction among all the WEC devices. First, the WEC devices and their hydrodynamic interaction are represented in an interconnected model that describes the networked dynamics of a variety of WEC arrays with distinct spatial geometry layout of the WEC devices deployed in the sea field. Second, based on the presented model, an MPC method is applied to achieve the coordinated control of the WEC array to improve its energy conversion efficiency under the constraints of buoy position and control force. Third, a hardware-in-the-loop (HIL) platform is developed to simulate the WEC array's physical operating conditions, and the proposed method is implemented on the platform to test its performance. The test results show that the proposed MPC method using the interconnected model has a higher energy harvesting efficiency than the classic MPC method.

**Keywords:** wave-energy converter array; interconnected model; model predictive control; hardware-in-the-loop

#### **1. Introduction**

Using ocean wave energy is a novel approach to solving the problem of resource depletion and environmental damage associated with traditional energy sources. However, the exploitation of ocean wave energy is not as well commercialized as other sustainable energy sources, such as solar and wind energy. One of the key reasons is that ocean wave energy is distributed homogeneously on the ocean surface, which makes it difficult for any wave-energy converter (WEC) to harvest a great deal of wave energy by operating a single machine over a small range. Using an array system composed of multiple point-absorbertype WECs can expand the range of wave energy harvesting options. Another advantage of WEC arrays is that they effectively reduce and eliminate power fluctuations, so that a smoother and more stable power supply for power grids and power consumers can be provided [1]. In recent years, WEC arrays have been intensively investigated due to their advantages [2].

The existence of hydrodynamic interactions among WEC devices has a significant impact on the performance of a WEC array. In [3], a wave interaction theory, including the diffraction interaction of evanescent waves, was presented to enable the calculation of the wave hydrodynamics of a multimember structure with arbitrary configurations and spacings. The effect of interactions within basic two-unit WEC arrays with different separating distances was studied in [4]. Subsequently, the influence of interactions among bodies on the overall yearly energy production of an array was assessed [5]. A CFD motion

**Citation:** Zhang, B.; Zhang, H.; Yang, S.; Chen, S.; Bai, X.; Khan, A. Predictive Control for a Wave-Energy Converter Array Based on an Interconnected Model. *J. Mar. Sci. Eng.* **2022**, *10*, 1033. https:// doi.org/10.3390/jmse10081033

Academic Editors: Liliana Rusu and Vicky Stratigaki

Received: 9 June 2022 Accepted: 22 July 2022 Published: 27 July 2022

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

solver based on a coupled model was developed in [6] to analyze the interactions ocurring in a WEC array. Due to diffracted and radiated waves, interactions among the WECs can occur which may be constructive or destructive [7]. If such hydrodynamic interactions are effectively utilized, they have the potential to increase the energy production efficiency dramatically.

Optimizing the geometry layout allows for the effective use of constructive interaction effects. A topological method was presented in [7] to enable the design of an optimized single-row wave power plant established by a triangle array unit. An improved differential evolution algorithm was proposed in [8] to optimize the layout of a WEC array for faster speed of convergence and improved accuracy. A genetic algorithm that included a cost model was proposed in [9] to enable consideration of economic factors. For the example introduced in the paper, the distance between the devices is reduced as much as possible to diminish the maintenance cost. However, to be more efficient for wave energy harvesting in particular sea environments, it is necessary to specify an optimized spatial geometry layout of a WEC array corresponding to the ocean wave features and conditions in the area in which it is located. Therefore, a uniform modeling approach that can represent arbitrary layouts of WEC arrays is crucial for the layout optimization of WEC arrays.

To maximize the wave energy harvesting of wave energy by a WEC, efficient control of the array is necessary. A comparison between MPC and causal control was made from the perspective of performance and constraint handling in [10], with MPC being found to have significant advantages over optimal causal control. Since MPC has shown remarkable control performance when dealing with the constraints in realistic control processes, it has received increasing attention in recent years [11]. In the early literature, researchers focused mainly on the application of MPC in the control of a single WEC. A real-time non-linear model predictive controller (NMPC) was utilized to increase the WEC efficiency of a two-degrees-of-freedom WEC with highly non-linear power take-off (PTO) characteristics in [12]. An economic model predictive control (EMPC) strategy with a general economic cost function that directly reflects the economic objective of the system was proposed in [13] to maximize the energy extracted from ocean waves and to minimize the operational cost. Two MPC control strategies for a two-body point absorber were designed to extract the maximum energy from waves through unidirectional power flow in [14]. A non-quadratic piecewise discontinuous functional was applied as a cost index of NMPC to maximize the energy produced by a WEC in [15]. Various MPC strategies based on a single-unit model were successfully applied to maximize the wave energy harvested by WECs [16]. MPC methods based on WEC arrays have also attracted the attention of researchers. A model predictive control method was developed in [17], where each MPC effectively optimizes the energy absorption of its own WEC under state constraints. Nevertheless, because of the non-negligible interference generated by the movement of unit buoys, if the WEC units in the WEC array are closely spaced, implementing an MPC with an isolated unit model can result in degraded MPC control performance caused by model mismatch. Therefore, the proposed model not only takes into account the individual devices, but also the complex coupling relationships between the WEC devices, represented as hydrodynamic interactions among each pair of WEC devices. Centralized MPCs were described in [18] which led to a potential 10% improvement in converted energy. These studies investigated the impact of interference between WECs operating close to each other, which can increase wave energy harvesting efficiency. The majority of the studies reported derive sets of equations representing interference relationships directly from a particular geometry (e.g., equilateral triangles) [19]. It is challenging to directly extend the methods discussed to the modeling of WEC arrays with diverse spatial geometry layouts.

Since hydrodynamic interactions vary with local wave conditions in the ocean, it is unrealistic for a fixed model to maintain accuracy all the time. Therefore, in future commercial systems, not only does the system's layout need to be regularly adjusted, but the model also needs to be regularly modified and adjusted to ensure the performance of MPC. This paper proposes a modeling method to rapidly adapt to arbitrary geometric layouts of

a WEC array by considering a WEC array with coupled interconnection relationships. The model can be broken down into two parts: the dynamics of the WEC unit and the dynamics of the interfering effects of the coupled interconnection relationships. Generalization of the model for the WEC array can thus be addressed through the modeling method. This method reduces modeling difficulty and improves MPC survival adaptability for practical applications. We design an MPC strategy to control a WEC array to yield a globally optimal wave energy capture efficiency despite interference effects occurring between the WEC units.

There are two key contributions of this paper: First, the WEC array is depicted as an interconnected system model, i.e., a network model with dynamic edges, in which the node dynamics are the dynamics of the WEC units and the edge dynamics are the dynamics of the interfering waves formed between neighboring units. Second, underpinned by an interconnected system model, an MPC method is developed to control each WEC unit in a WEC array to maximize wave energy harvesting.

After reviewing related research in Section 1, an interconnected system model for WEC arrays is developed in Section 2. An MPC strategy for a generalized network model is presented in Section 3. In Section 4, simulations and experiments conducted are described for validating the proposed modeling and MPC methods, respectively. The results are evaluated and discussed in Section 4.2. The conclusions are presented in Section 5.

#### **2. Model of WEC Array**

#### *2.1. Model of WEC Unit*

A point-absorber-type WEC is primarily composed of a buoy and a PTO unit, as shown in Figure 1a. The WEC array is represented as an interconnected system model in which the topology structure describes the interfering relationship between all WEC units, as shown in Figure 1b. The symbol *∂* in Figure 1b is the angle of the wave propagation direction, and `1, . . . , `<sup>6</sup> denote the directed interfering relationship between each pair of the three units, Unit 1, Unit 2 and Unit 3. Buoys are used to harvest the kinetic energy of ocean waves, and PTO converts the kinetic energy of the buoy into electric energy. Meanwhile, PTO produces electric power and a damping force, which affects the motion of the buoy simultaneously excited by ocean waves.

**Figure 1.** Point absorption WEC array: (**a**) the structure of the point-absorber-type WEC; (**b**) the interfering relationship between three units.

The dynamics of a point-absorber WEC are expressed as

$$m\_f \ddot{z}(t) = F\_w(t) + F\_m(t),\tag{1}$$

where *m<sup>f</sup>* is the mass of the buoy, *z*(*t*) is the vertical displacement of the buoy, *Fw*(*t*) is the hydrodynamic force, and *Fm*(*t*) is the mechanical force.

The variables *Fw*(*t*) and *Fm*(*t*) satisfy

$$\begin{cases} \, \, F\_{\mathcal{w}}(t) = F\_{\mathcal{l}}(t) + F\_{\mathcal{r}}(t) + F\_{\mathcal{e}}(t), \\\, \, F\_{\mathcal{m}}(t) = F\_{\mathcal{o}}(t) + F\_{\mathcal{u}}(t), \end{cases} \tag{2}$$

where *F<sup>h</sup>* (*t*), *Fr*(*t*), *Fe*(*t*), *Fo*(*t*) and *Fu*(*t*) are the buoyancy, radiation force, excitation force, friction force of the mechanical device, and reaction force, respectively. The buoyancy *Fh* (*t*) is

$$F\_h(t) = \mathcal{S}\_h[\mathbf{w}(t) - z(t)],\tag{3}$$

where w(*t*) and *S<sup>h</sup>* are the vertical height of the incident wave and constant buoyancy coefficient, respectively. The radiation force *Fr*(*t*) is

$$F\_r(t) = F\_D(t) - m\_\infty \sharp(t),\tag{4}$$

where *m*<sup>∞</sup> denotes the additional mass related to the quantity of the water being moved and is used as the coefficient of the linear term of the radiation force in the case of infinite frequency. Inspired by [20], the convolution term *FD*(*t*) is approximated as *D* ·(w˙ (*t*) − *z*˙(*t*)), where *D* is a constant damping coefficient to roughly approximate the Fourier transform *D*b(*jw*) of *FD*(*t*). *D*b(*jw*) can be regarded as a frequency-dependent damping coefficient.

The excitation force *Fe*(*t*) is a non-causal force that is approximated by a fifth-order state-space representation of the relationship between the wave height and excitation force [21]. Since the influence of *Fo*(*t*) is relatively slight, we assume *Fo*(*t*) = 0 [22]. The proposed control algorithm calculates the reaction force *Fu*(*t*).

Let *m* = *m<sup>f</sup>* + *m*<sup>∞</sup> and *ξ*(*t*) = [*F<sup>h</sup>* (*t*), *z*˙(*t*)] *T* . Then, the WEC unit model is achieved as

$$\begin{aligned} \dot{\xi}(t) &= A\xi(t) + B\_w \dot{\mathbf{w}}(t) + B \left[ F\_{\mu}(t) + F\_{\varepsilon}(t) \right], \\ y(t) &= \mathbf{C}\xi(t), \\ y\_z(t) &= \mathbf{C}\_z \xi(t), \end{aligned} \tag{5}$$

where

$$A = \begin{bmatrix} 0 & -S\_h \\ -\frac{1}{m} & -\frac{D}{m} \end{bmatrix}, B\_w = \begin{bmatrix} S\_h \\ \frac{D}{m} \end{bmatrix}, B = \begin{bmatrix} 0 \\ \frac{1}{m} \end{bmatrix}, \mathbf{C} = \begin{bmatrix} 0 & 1 \end{bmatrix}, \text{and } \mathbf{C}\_z = \begin{bmatrix} 1 & 0 \end{bmatrix}.$$

**Remark 1.** *According to (5), it holds that y*(*t*) = *z*˙(*t*)*, and yz*(*t*) = *F<sup>h</sup>* (*t*)*.*

#### *2.2. WEC Array*

### 2.2.1. WEC Units in Array

When the WEC units are close together, their interactions are enhanced, thus affecting the movement of the buoys more significantly. Radiation waves are the main source of interactions and therefore cannot be ignored. Considering the interaction effect, the *i*-th (*i* = 1, . . . , *N*) WEC unit receives the cumulative effect of the radiation wave velocity w˙ *ij* generated by the other *j*-th (*j* = 1, . . . , *N* − 1, *j* 6= *i*) WEC units, in addition to the effect of the incident wave velocity w˙ *<sup>i</sup>*(*t*) [23]. The model of the *i*-th WEC unit is formulated as follows,

$$\begin{aligned} \dot{\xi}\_i(t) &= A\_i \tilde{\xi}\_i(t) + B\_{wi} \left[ \dot{\mathbf{w}}\_i(t) + \sum\_{j \neq i}^{N-1} \dot{\mathbf{w}}\_{ij}(t) \right] + B\_i (\mathbf{F}\_{ui}(t) + \mathbf{F}\_{\acute{e}i}(t)),\\ y\_i(t) &= \mathbf{C}\_i \tilde{\xi}\_i(t),\\ y\_{zi}(t) &= \mathbf{C}\_{zi} \tilde{\xi}\_i(t), \end{aligned} \tag{6}$$

where *ξi*(*t*) = [*Fhi*(*t*), *z*˙ *<sup>i</sup>*(*t*)]*<sup>T</sup>* is the state of the *i*-th WEC unit, *Fhi*(*t*) is the buoyancy of the *i*-th unit, *z*˙ *<sup>i</sup>*(*t*) is the velocity of the *i*-th buoy. In this model, the input to the WEC unit is

the total of the velocity of the incident wave and the radiated waves generated by the other WEC units.

Moreover, the array composed of *N* WEC units is considered as a continuous interconnected system modeled as follows:

$$\begin{aligned} \dot{\xi}(t) &= \mathbb{A}\_{\mathbf{c}} \tilde{\xi}(t) + \mathbb{B}\_{\text{uc}} \dot{\mathbf{w}}(t) + \mathbb{B}\_{\text{uc}} \dot{\mathbf{w}}\_{\text{ij}}(t) + \mathbb{B}\_{\mathbf{c}} \left[ \tilde{\mathbf{f}}\_{\text{u}}(t) + \tilde{\mathbf{f}}\_{\text{c}}(t) \right], \\ \dot{\mathbf{y}}(t) &= \mathbb{C}\_{\mathbf{c}} \tilde{\xi}(t), \\ \tilde{y}\_{\text{z}}(t) &= \mathbb{C}\_{\mathbf{c}} \tilde{\xi}(t), \end{aligned} \tag{7}$$

where

$$
\begin{aligned}
\tilde{\xi}(t) &= \begin{bmatrix}
\tilde{\xi}\_1 \\
\tilde{\xi}\_2 \\
\vdots \\
\tilde{\xi}\_N
\end{bmatrix}, \check{\mathbf{w}}(t) = \begin{bmatrix}
\dot{\mathbf{w}}\_1 \\
\dot{\mathbf{w}}\_2 \\
\vdots \\
\dot{\mathbf{w}}\_N
\end{bmatrix}, \dot{\mathbf{w}}\_{\tilde{\mathbf{u}}} = \begin{bmatrix}
\sum\_{j=1}^{N-1} \dot{\mathbf{w}}\_{1j} \\
\sum\_{j=2}^{N-1} \dot{\mathbf{w}}\_{2j} \\
\vdots \\
\sum\_{j=N}^{N-1} \dot{\mathbf{w}}\_{Nj}
\end{bmatrix}, \tilde{f}\_u(t) = \begin{bmatrix}
F\_{u1} \\
F\_{u2} \\
\vdots \\
F\_{uN}
\end{bmatrix}, \\
\tilde{F}\_\varepsilon(t) &= \begin{bmatrix}
F\_{\varepsilon 1} \\
F\_{\varepsilon 2} \\
\vdots \\
F\_{\varepsilon N}
\end{bmatrix}, \tilde{g}(t) = \begin{bmatrix}
y\_1 \\
\vdots \\
y\_2 \\
\vdots \\
y\_N
\end{bmatrix}, \tilde{g}\_z(t) = \begin{bmatrix}
y\_{z1} \\
y\_{z2} \\
\vdots \\
y\_{zN}
\end{bmatrix}, \\
\mathbf{A}\_c &= \mathbb{I}\_N \otimes A\_c \; \mathbb{B}\_{\mathrm{uc}} = \mathbb{I}\_N \otimes \mathbb{B}\_{\mathrm{uc}}, \mathbb{B}\_c = \mathbb{I}\_N \otimes \mathbb{B}\_{\prime \prime}
\mathbb{C}\_{\mathrm{uc}} = \mathbb{I}\_N \otimes \mathbb{C}\_{\prime \prime}
\end{aligned}
$$

and the subscript *c* indicates the term of continuous system. I is an identity matrix.

**Remark 2.** *In this paper, a system connecting several independent WEC units with a particular network structure is called an interconnected system, where the WEC units are coupled with each other after being connected by the network. The primary distinction between the network of an interconnected system and a typical network is that the former processes dynamical edges, which can obtain system inputs based on node outputs and transmit outputs to the inputs of other nodes [24].*

#### 2.2.2. Interactions among WEC Units

According to Equation (6), w˙ *ij*(*t*) indicates a variation in the vertical displacement of WEC unit *i* excited by the interference wave generated by WEC unit *j*. w˙ *ij*(*t*) is associated to the locations of WEC unit *i* and *j*, and the heave motion *z*˙ *<sup>j</sup>*(*t*) of WEC unit *j*. Using experimental data, and ignoring the non-linearity relationship between w˙ *ij*(*t*) and *z*˙ *<sup>j</sup>*(*t*), this transfer function H*ij*(*s*) of a linear dynamic system with *z*˙ *<sup>j</sup>*(*t*) and w˙ *ij*(*t*) as input and output, respectively, can be derived by standard linear system identification techniques [23]. In addition to being an edge with dynamic properties in the network topology of the interconnected system, this linear dynamical model can be expressed simultaneously as a frequency characteristics model H*ij*(j*ω*) (simplified as H*ij*) as follows:

$$
\psi\_{\vec{\imath}\vec{\jmath}}(\omega) = \mathbb{H}\_{\vec{\imath}\vec{\jmath}}\dot{z}\_{\vec{\jmath}}(\omega),\tag{8}
$$

$$\mathbf{H}\_{ij} = \mathbf{j}\omega \sqrt{\frac{\pi |\omega|^4}{8g^3}} a^2 \frac{1}{\sqrt{d\_{ij}}} e^{-\mathbf{j}\left\{\frac{\omega^2}{8} d\_{ij} + \frac{3\pi}{4}\right\}}\,,\tag{9}$$

where *z*˙ *<sup>j</sup>*(*ω*) and *w*˙ *ij*(*ω*) are defined as the Fourier transform of *z*˙ *<sup>j</sup>*(*t*) and w˙ *ij*(*t*); *g*, *a* and *dij* are the gravity constant, the diameter of the buoy, and the distance between the *i*-th WEC unit and the *j*-th WEC unit, respectively; *ω* is the frequency and j is the imaginary number. For *ω* > 0, the frequency characteristics model Equation (8) is equivalently formulated as [25]:

$$\mathbf{H}\_{\mathrm{i}\dagger} = \mathbf{A}(\omega)e^{-\mathrm{j}\phi(\omega)}\tag{10}$$

where A(*ω*) = *ω*<sup>3</sup> *a* 2 q *π* 8*g* <sup>3</sup>*dij* and *<sup>φ</sup>*(*ω*) = *<sup>d</sup>ijω*<sup>2</sup> *<sup>g</sup>* + *<sup>π</sup>* 4 . The frequency characteristics model Equation (10) as a linear system is rewritten as a state-space formula as follows:

$$\begin{aligned} \mathcal{L}\_\ell(t) &= \mathcal{E}\_\ell \mathcal{L}\_\ell(t) + \mathcal{F}\_\ell u\_\ell(t), \\ v\_\ell(t) &= \mathcal{H}\_\ell \mathcal{L}\_\ell(t), \end{aligned} \tag{11}$$

where <sup>E</sup>` <sup>∈</sup> <sup>R</sup>(5×5) , <sup>F</sup>` <sup>∈</sup> <sup>R</sup>(5×1) , <sup>H</sup>` <sup>∈</sup> <sup>R</sup>(1×5) , *ζ*` (*t*) <sup>∈</sup> <sup>R</sup>(5×1) are the system matrix, input matrix, output matrix and state, respectively; *u*` (*t*) and *v*` (*t*) are the input and output of the `-th interaction state-space model, respectively. Equation (11) denotes the `-th (` = 1, . . . , 2*M*, *M* = *N*(*N*−1) 2 ) directed interaction effect between any two WEC units. This interaction effect is the weight of the corresponding edge of the interconnected system, as shown in Figure 1b.

In the WEC array, the integrated interaction model is expressed as

$$\begin{aligned} \dot{\tilde{\xi}}\_{\ell}(t) &= \mathbb{E}\_{\mathfrak{c}} \tilde{\xi}\_{\ell}(t) + \mathbb{F}\_{\mathfrak{c}} \mathfrak{n}\_{\ell}(t), \\ \mathfrak{v}\_{\ell}(t) &= \mathbb{H}\_{\mathfrak{c}} \tilde{\xi}\_{\ell}(t), \end{aligned} \tag{12}$$

where E*<sup>c</sup>* = I2*<sup>M</sup>* ⊗ E` , F*<sup>c</sup>* = I2*<sup>M</sup>* ⊗ F` , H*<sup>c</sup>* = I2*<sup>M</sup>* ⊗ H` , and

$$
\widetilde{\zeta}\_{\ell}(t) = \begin{bmatrix} \widetilde{\zeta}\_{1} \\ \widetilde{\zeta}\_{2} \\ \vdots \\ \widetilde{\zeta}\_{2M} \end{bmatrix}, \mathfrak{d}\_{\ell}(t) = \begin{bmatrix} u\_{1} \\ u\_{2} \\ \vdots \\ u\_{2M} \end{bmatrix}, \mathfrak{d}\_{\ell}(t) = \begin{bmatrix} v\_{1} \\ v\_{2} \\ \vdots \\ \vdots \\ v\_{2M} \end{bmatrix}.
$$

#### 2.2.3. WEC Array System

Since a WEC array is an interconnected system, it can be represented as a graph G. The incidence matrix D of the graph G is applied to denote the interconnected system with *N* nodes and 2*M* directed edges. The element located at the *i*-th row and `-th column of D is defined as

$$\mathcal{D}\_{i\ell} = \begin{cases} +1, & \text{node } i \text{ is the head of edge } \ell, \\\ -1, & \text{node } i \text{ is the tail of edge } \ell, \\\ 0, & \text{otherwise.} \end{cases} \tag{13}$$

The incidence matrix D describes the connection relationship between the edges and nodes in graph G, and is used to determine the edge on which the output of the node is located and the node at which the input of the edge arrives. From the perspective of the node inputs and outputs, the incidence matrix satisfies

$$\mathcal{D} = \mathbb{D}\_{\mathcal{O}} - \mathbb{D}\_{\mathcal{I}}^{\mathsf{T}},\tag{14}$$

where D<sup>O</sup> and D<sup>I</sup> are the input and output matrices of the nodes, respectively, as

$$\mathbb{D}\_{\mathrm{Oi}\ell} = \begin{cases} 1, & \text{edge } \ell \text{ is the input of node } i, \\ 0, & \text{otherwise.} \end{cases}, \\ \mathbb{D}\_{\mathrm{Ili}} = \begin{cases} 1, & \text{edge } \ell \text{ is the output of node } i, \\ 0, & \text{otherwise.} \end{cases}$$

Furthermore, considering Equations (6), (11) and (13), ∑ *N*−1 *<sup>j</sup>*6=*<sup>i</sup>* w˙ *ij*(*t*) in Equation (6) and *u*` (*t*) in Equation (11) are denoted as

$$\begin{cases} \sum\_{j \neq i}^{N-1} \dot{\mathbf{w}}\_{ij}(t) = \sum\_{\ell=1}^{M} \mathbb{D}\_{\text{Oi}\ell} v\_{\ell}(t), \quad i = 1, 2, \dots, N, \\\ u\_{\ell}(t) = \sum\_{i=1}^{N} \mathbb{D}\_{\text{I}\ell i} y\_{i}(t), \quad \ell = 1, 2, \dots, 2M. \end{cases} \tag{15}$$

Moreover, Equation (15) can be written in matrix form as follows

$$\begin{cases} \quad \mathring{\mathbf{w}}\_{\overline{\mathbb{I}}}(t) = \mathbb{D}\_{\mathbf{O}} \widetilde{v}\_{\ell}(t),\\ \quad \widetilde{u}\_{\ell}(t) = \mathbb{D}\_{\mathbf{I}} \widetilde{y}(t). \end{cases} \tag{16}$$

For example, for the three-unit WEC array interconnected system shown in Figure 1b, the incidence matrix D is

$$\mathcal{D} = \begin{bmatrix} 1 & 0 & -1 & -1 & 0 & 1 \\ -1 & 1 & 0 & 1 & -1 & 0 \\ 0 & -1 & 1 & 0 & 1 & -1 \end{bmatrix}. \tag{17}$$

Considering Equation (14), the incidence matrix D is decomposed into D<sup>O</sup> and D<sup>I</sup> . According to Equations (15) and (16), we can obtain

$$
\hat{\mathbf{w}}\_{\vec{\mathbf{u}}}(t) = \begin{bmatrix} \sum\_{j \neq 1}^{N-1} \dot{\mathbf{w}}\_{1j}(t) \\ \sum\_{j \neq 2}^{N-1} \dot{\mathbf{w}}\_{2j}(t) \\ \sum\_{j \neq 3}^{N-1} \dot{\mathbf{w}}\_{3j}(t) \end{bmatrix} = \begin{bmatrix} v\_1 + v\_6 \\ v\_2 + v\_4 \\ v\_3 + v\_5 \end{bmatrix},
\
\hat{u}\_\ell(t) = \begin{bmatrix} u\_1 \\ u\_2 \\ u\_3 \\ u\_4 \\ u\_5 \\ u\_6 \end{bmatrix} = \begin{bmatrix} y\_2 \\ y\_3 \\ y\_1 \\ y\_2 \\ y\_3 \end{bmatrix}. \tag{18}
$$

By substituting Equation (16) into Equations (7) and (12), the model of a three-unit WEC array as an interconnected system is obtained. More generally, a formally uniform state-space model is achieved to express a WEC array system with *N* units as

$$
\begin{bmatrix}
\begin{array}{cc}
\boldsymbol{\xi}(t) \\
\boldsymbol{\xi}\_{\ell}(t)
\end{array}
\end{bmatrix} = \begin{bmatrix}
\mathsf{A}\_{\text{c}} & \mathsf{B}\_{\text{wc}}\mathsf{D}\_{\text{0}}\mathsf{H}\_{\text{c}} \\
\mathsf{F}\_{\ell}\mathsf{D}\_{\text{I}}\mathsf{C}\_{\text{c}}
\end{bmatrix} \begin{bmatrix}
\boldsymbol{\xi}(t) \\
\boldsymbol{\xi}\_{\ell}(t)
\end{bmatrix} + \begin{bmatrix}
\mathsf{B}\_{\text{wc}} \\
\mathbf{0}
\end{bmatrix} \boldsymbol{\psi}(t) + \begin{bmatrix}
\mathsf{B}\_{\text{c}} \\
\mathbf{0}
\end{bmatrix} (\boldsymbol{\tilde{\xi}}\_{\ell}(t) + \boldsymbol{\tilde{\xi}}\_{\ell}(t)),
$$

$$
\boldsymbol{\mathcal{g}}(t) = [\mathsf{C}\_{\text{c}}, \mathsf{O}] \begin{bmatrix}
\boldsymbol{\tilde{\xi}}(t) \\
\boldsymbol{\tilde{\xi}}\_{\ell}(t)
\end{bmatrix},
\tag{19}
$$

$$
\boldsymbol{\mathcal{g}}\_{z}(t) = [\mathsf{C}\_{\text{z}c}, \mathsf{O}] \begin{bmatrix}
\boldsymbol{\tilde{\xi}}(t) \\
\boldsymbol{\tilde{\xi}}\_{\ell}(t)
\end{bmatrix},
$$

where ˙*w*˜(*t*) = ˙w˜ (*t*) + ˙w˜ ij(*t*).

#### **3. MPC Algorithm Design**

*3.1. Control Problem Statement*

Equation (19) is discretized by a zero-order hold method as

" ˙˜*ξ*(*<sup>k</sup>* + <sup>1</sup>) ˜*ζ*` (*k* + 1) # = A B*w*DOH FDIC E ˜*ξ*(*k*) ˜*ζ*` (*k*) + B*w* **0** ˙w˜ (*k*) + B **0** *F*˜ *<sup>u</sup>*(*k*) + *F*˜ *<sup>e</sup>*(*k*) , *y*˜(*k*) = [C, **0**] ˜*ξ*(*k*) ˜*ζ*` (*k*) , *y*˜*z*(*k*) = [C*z*, **0**] ˜*ξ*(*k*) ˜*ζ*` (*k*) , (20)

where

$$\begin{aligned} \mathbb{A} &= \varepsilon^{\mathbb{A}\_{\mathsf{c}}\mathsf{T}}, \,\,\mathbb{B} = \int\_{0}^{T} e^{\mathsf{A}\_{\mathsf{c}}\mathsf{T}} d\mathsf{r} \mathbb{B}\_{\mathsf{c}\prime} \,\,\mathbb{B}\_{\mathsf{w}} = \int\_{0}^{T} e^{\mathsf{A}\_{\mathsf{c}}\mathsf{T}} d\mathsf{r} \mathbb{B}\_{\mathsf{w}\prime\prime} \,\,\mathbb{C} = \mathbb{C}\_{\mathsf{c}\prime} \,\,\mathbb{C}\_{\mathsf{z}} = \mathbb{C}\_{\mathsf{z}\prime} \,\,\mathbb{C} = \varepsilon^{\boxplus \mathsf{T}},\\ \mathbb{F} &= \int\_{0}^{T} e^{\mathsf{E}\_{\mathsf{c}}\mathsf{T}} d\mathsf{r} \mathbb{F}\_{\mathsf{c}\prime} \,\,\mathbb{H} = \mathbb{H}\_{\mathsf{c}\prime} \end{aligned}$$

$$
\begin{aligned}
\boldsymbol{\mathring{\mathbf{w}}}(k) &= \begin{bmatrix} \dot{\mathbf{w}}\_{1}(k) \\ \dot{\mathbf{w}}\_{2}(k) \\ \vdots \\ \dot{\mathbf{w}}\_{N}(k) \end{bmatrix}, \boldsymbol{\tilde{\mathbf{f}}}\_{\mathbf{u}}(k) = \begin{bmatrix} F\_{\mathsf{u}1}(k) \\ F\_{\mathsf{u}2}(k) \\ \vdots \\ F\_{\mathsf{u}N}(k) \end{bmatrix}, \boldsymbol{\tilde{\mathbf{f}}}\_{\mathbf{c}}(k) = \begin{bmatrix} F\_{\mathsf{c}1}(k) \\ F\_{\mathsf{c}2}(k) \\ \vdots \\ F\_{\mathsf{c}N}(k) \end{bmatrix}, \boldsymbol{\tilde{\mathbf{y}}}(k) = \begin{bmatrix} \boldsymbol{y}\_{1}(k) \\ \boldsymbol{y}\_{2}(k) \\ \vdots \\ \boldsymbol{y}\_{N}(k) \end{bmatrix}, \boldsymbol{\tilde{\mathbf{y}}}\_{\mathbf{c}}(k) = \begin{bmatrix} \boldsymbol{y}\_{z1}(k) \\ \boldsymbol{y}\_{2}(k) \\ \vdots \\ \boldsymbol{y}\_{N}(k) \end{bmatrix}.
\end{aligned}
$$

In Equation (20), ˜*ξ*(*k*) <sup>∈</sup> <sup>R</sup>(*α*×*N*)×<sup>1</sup> is the states set of all the WEC units at instant *<sup>k</sup>*, where *<sup>α</sup>* is the model order of each WEC unit. In addition, ˜*ζ*`(*k*) <sup>∈</sup> <sup>R</sup>(*β*×2*M*)×<sup>1</sup> is the states set of all interactions at time instant *k*, where *β* is the model order of each interaction. The wave excitation force and wave velocity are assumed to be predictable in this paper.

The MPC method controls the WEC array to maximize the harvesting of wave energy and convert it into electrical energy while satisfying the constraints. Since the buoy of the point-absorbing WEC is directly connected to PTO, the inner product of the buoy velocity and the corresponding reaction force is equal to the total power of the wave energy captured by the WEC array. As the velocity of the buoy is opposite to the positive direction of the reaction force, it holds that

$$P(k) = -\tilde{F}\_{\mu}^{\text{T}}(k)\tilde{y}(k),\tag{21}$$

and

$$\max\_{\substack{\mathbf{f}\_{\text{uk}}^{k+N\_{\text{p}}} \\ \mathbf{f}\_{\text{uk}}^{k+N\_{\text{p}}}}} \sum\_{T=0}^{N\_{\text{p}}} P(k+T) = \min\_{\substack{\mathbf{f}\_{\text{uk}}^{k+N\_{\text{p}}} \\ \mathbf{f}\_{\text{uk}}^{k+N\_{\text{p}}}}} \sum\_{T=0}^{N\_{\text{p}}} \tilde{F}\_{\text{ul}}^{\top}(k+T) \mathfrak{F}(k+T),\tag{22}$$

where *N<sup>p</sup>* is the predicted time domain, and *T* is the time step. To ensure the convexity of the optimization problem, Equation (22) is modified as the cost function

$$J = \sum\_{T=0}^{N\_p} \left[ \tilde{F}\_{\mu}^{\mathrm{T}}(k+T)\tilde{y}(k+T) + r\tilde{F}\_{\mu}^{\mathrm{T}}(k+T)\tilde{F}\_{\mu}(k+T) + q\tilde{y}\_z^{\mathrm{T}}(k+T)\tilde{y}\_z(k+T) \right],\tag{23}$$

where *r* and *q* are two artificially determined weighting factors. The first part of the cost function Equation (23) is the wave energy harvesting power in Equation (22). The second part of Equation (23) represents a soft constraint on the control force, primarily to guarantee that the solution of the MPC is to solve a convex optimization problem and the control force is within the PTO's operating range. The third part represents the penalty term of the relative displacement of the buoy and the wave surface, ensuring the PTO operates within an effective operating range. To guarantee the safe operation of the WEC array and reduce the loss and maintenance cost, it is necessary to restrict the amplitude of the reaction force. Moreover, the buoy needs to be constrained to keep the proportional displacement between the midpoint of the buoy and the wave surface within a safe range. These constraints are formulated as follows,

$$\begin{aligned} |F\_{\mu}(k+T)| &\le F\_{\nu,\max}, \text{ for } T = 0, 1, \dots, N\_{p\prime} \\ |y\_z(k+T)| &\le y\_{z,\max}, \text{ for } T = 0, 1, \dots, N\_{p\prime} \end{aligned} \tag{24}$$

where *Fu*,*max* and *yz*,*max* are the maximum amplitude of the control force and buoyancy, respectively.

The MPC aims to solve the optimal control input sequence that minimizes the cost function Equation (23) in the prediction time domain *Np*, under the premise that the constraint Equation (24) is satisfied.

**Remark 3.** *The weighting factors r and q in Equation (23) are specified as two specific values independently to ensure that the MPC is a convex optimization problem.*

### *3.2. Prediction Model*

The cost function Equation (23) can be expressed in matrix form as

$$J = \left(\tilde{\mathcal{U}}\_k^{k+N\_p}\right)^\mathrm{T} \tilde{\mathcal{Y}}\_k^{k+N\_p} + \left(\tilde{\mathcal{U}}\_k^{k+N\_p}\right)^\mathrm{T} \mathcal{R}\tilde{\mathcal{U}}\_k^{k+N\_p} + \left(\tilde{\mathcal{Y}}\_{zk}^{k+N\_p}\right)^\mathrm{T} \mathcal{Q}\tilde{\mathcal{Y}}\_{zk}^{k+N\_p} \tag{25}$$

where *<sup>R</sup>* = *<sup>r</sup>* × *<sup>I</sup>N*×(*NP*+1) , *<sup>Q</sup>* = *<sup>q</sup>* × *<sup>I</sup>N*×(*NP*+1) ,

$$
\boldsymbol{\tilde{U}}\_{k}^{k+N\_{p}} = \begin{bmatrix} \boldsymbol{\tilde{F}}\_{\boldsymbol{u}}(k) \\ \boldsymbol{\tilde{F}}\_{\boldsymbol{u}}(k+1) \\ \vdots \\ \boldsymbol{\tilde{F}}\_{\boldsymbol{u}}(k+N\_{p}) \end{bmatrix}, \boldsymbol{\tilde{Y}}\_{k}^{k+N\_{p}} = \begin{bmatrix} \boldsymbol{\tilde{y}}(k) \\ \boldsymbol{\tilde{y}}(k+1) \\ \vdots \\ \boldsymbol{\tilde{y}}(k+N\_{p}) \end{bmatrix}, \boldsymbol{\tilde{Y}}\_{zk}^{k+N\_{p}} = \begin{bmatrix} \boldsymbol{\tilde{y}}\_{\boldsymbol{z}}(k) \\ \boldsymbol{\tilde{y}}\_{\boldsymbol{z}}(k+1) \\ \vdots \\ \boldsymbol{\tilde{y}}\_{\boldsymbol{z}}(k+N\_{p}) \end{bmatrix},
$$

and *I* is a unit diagonal matrix.

In the cost function, it is necessary to know the buoy velocity and buoyancy of each unit in the predicted time domain. By the discrete model of the interconnected system, we derive a prediction model from *k* to *k* + *N<sup>p</sup>* as follows:

$$\begin{aligned} \boldsymbol{Y}\_{k}^{k+N\_{p}} &= \boldsymbol{\Lambda}\boldsymbol{X}(k) + \boldsymbol{\Phi}\_{\boldsymbol{u}} \left( \boldsymbol{\mathcal{U}}\_{k}^{k+N\_{p}} + \boldsymbol{\mathcal{F}}\_{\boldsymbol{ek}}^{k+N\_{p}} \right) + \boldsymbol{\Phi}\_{\boldsymbol{w}} \dot{\boldsymbol{W}}\_{k}^{k+N\_{p}} \\ \boldsymbol{\tilde{Y}}\_{\boldsymbol{z}k}^{k+N\_{p}} &= \boldsymbol{\Lambda}\_{\boldsymbol{z}}\boldsymbol{X}(k) + \boldsymbol{\Phi}\_{\boldsymbol{uz}} \left( \boldsymbol{\tilde{U}}\_{k}^{k+N\_{p}} + \boldsymbol{\tilde{F}}\_{\boldsymbol{ek}}^{k+N\_{p}} \right) + \boldsymbol{\Phi}\_{\boldsymbol{w}\boldsymbol{z}} \boldsymbol{\tilde{W}}\_{k}^{k+N\_{p}} \end{aligned} \tag{26}$$

where

$$\mathbf{X}(k) = \begin{bmatrix} \tilde{\xi}(k) \\ \tilde{\xi}\_{\ell}(k) \end{bmatrix}, \mathbf{f}\_{\mathrm{ek}}^{\mathsf{F}+N\_{p}} = \begin{bmatrix} \tilde{\mathsf{F}}\_{\ell}(k) \\ \tilde{\mathsf{F}}\_{\ell}(k+1) \\ \vdots \\ \tilde{\mathsf{F}}\_{\ell}(k+N\_{p}) \end{bmatrix}, \mathbf{\mathring{\mathsf{W}}}\_{k}^{\mathsf{k}+N\_{p}} = \begin{bmatrix} \boldsymbol{\upphi}(k) \\ \boldsymbol{\upphi}(k+1) \\ \vdots \\ \boldsymbol{\upphi}(k+N\_{p}) \end{bmatrix}, \boldsymbol{\Lambda} = \begin{bmatrix} \mathcal{C} \\ \mathcal{C}\mathcal{A} \\ \mathcal{C}\mathcal{A}^{2} \\ \vdots \\ \mathcal{C}\mathcal{A}^{N\_{p}} \end{bmatrix}.$$

$$\begin{aligned} \boldsymbol{\Phi}\_{u} &= \begin{bmatrix} \mathbf{0} & & & & \\ & \mathcal{C}\mathcal{B}\_{u} & & & \\ & \mathcal{C}\mathcal{A}\mathcal{B}\_{u} & & \mathcal{C}\mathcal{B}\_{u} & & \\ & \vdots & \vdots & \ddots & \ddots & \\ \mathcal{C}\mathcal{A}^{N\_{p}-1}\mathcal{B}\_{u} & \mathcal{C}\mathcal{A}^{N\_{p}-2}\mathcal{B}\_{u} & \cdots & \mathcal{C}\mathcal{B}\_{u} & \mathbf{0} \end{bmatrix}, \\ \boldsymbol{\Phi}\_{w} &= \begin{bmatrix} \mathbf{0} & & & & \\ & \mathcal{C}\mathcal{B}\_{w} & \mathbf{0} & & & \\ & \mathcal{C}\mathcal{A}\mathcal{B}\_{w} & \mathcal{C}\mathcal{B}\_{w} & \mathbf{0} & & \\ & \vdots & \vdots & \ddots & \ddots & & \\ \mathcal{C}\mathcal{A}^{N\_{p}-1}\mathcal{B}\_{w} & \mathcal{C}\mathcal{A}^{N\_{p}-2}\mathcal{B}\_{w} & \cdots & \mathcal{C}\mathcal{B}\_{w} & \mathbf{0} \end{bmatrix}, \\ \boldsymbol{\Lambda} &\in \mathbb{R}^{\left(N\times\left(N\_{p}+1\right)\right)\times\left(\alpha N + 2\beta M\right)}, \boldsymbol{\Phi}\_{w} \in \mathbb{R}^{\left(N\times\left(N\_{p}+1\right)\right)\times\left(N\times\left(N\_{p}+1\right)\right)}, \end{aligned}$$

with

$$\mathcal{A} = \left[ \begin{array}{c} \mathbb{A} \\ \text{F} \text{D}\_{\ell i} \mathbb{C} \end{array} \begin{array}{c} \mathbb{B}\_{w} \text{D}\_{i \ell} \text{H} \\ \text{E} \end{array} \right], \mathcal{B}\_{u} = \left[ \begin{array}{c} \mathbb{B} \\ \mathbf{0} \end{array} \right], \mathcal{B}\_{w} = \left[ \begin{array}{c} \mathbb{B}\_{w} \\ \mathbf{0} \end{array} \right], \mathcal{C} = \left[ \begin{array}{c} \mathbb{B}\_{r} \mathbf{0} \end{array} \right], \mathcal{C} = \left[ \mathbb{C} \textsf{.} \mathbf{0} \right], \mathcal{C}\_{z} = \left[ \mathbb{C} \textsf{.} \mathbf{0} \right].$$

Similarly, Λ*z*, Φ*uz* and Φ*wz* need to replace C in the corresponding matrix element by C*z*. Using prediction models Equation (24) to represent their constraints in the predicted time domain achieves

$$\begin{aligned} \left| \dot{\mathcal{U}}\_{k}^{k+N\_{p}} \right| &\leq \mathcal{U}\_{\text{max}} \\ \left| \Lambda\_{z} \mathbf{x}(k) + \Phi\_{\text{uz}} \left( \tilde{\mathcal{U}}\_{k}^{k+N\_{p}} + \tilde{\mathcal{F}}\_{\text{ek}}^{k+N\_{p}} \right) + \Phi\_{\text{uz}} \dot{\mathcal{W}}\_{k}^{k+N\_{p}} \right| &\leq \mathcal{Y}\_{\text{z},\text{max}} \end{aligned} \tag{27}$$

with

$$\mathcal{U}\_{\max} = \begin{bmatrix} F\_{\boldsymbol{\mu}, \max} \\ F\_{\boldsymbol{\mu}, \max} \\ \vdots \\ F\_{\boldsymbol{\mu}, \max} \end{bmatrix} \in \mathbb{R} \begin{pmatrix} \mathbf{N} \times \mathbf{N}\_p \end{pmatrix} \times \mathbf{1},\\\mathbf{Y}\_{\text{z}, \max} = \begin{bmatrix} \mathcal{Y}\_{\text{z}, \max} \\ \mathcal{Y}\_{\text{z}, \max} \\ \vdots \\ \mathcal{Y}\_{\text{z}, \max} \end{bmatrix} \in \mathbb{R} \begin{pmatrix} \mathcal{Y} \times \mathcal{N}\_p \end{pmatrix} \times \mathbf{1}.$$

#### *3.3. Quadratic Programming Problem*

We need to solve the optimal reaction force sequence so that the cost function *J* can obtain the minimum value as

$$\hat{\mathcal{U}}\_k^{\*k+N\_p} = \arg\min\_{\mathcal{U}\_k^{k+N\_p}} J. \tag{28}$$

Equation (25) is reorganized into a general form to utilize the standard QP solver. Substituting the prediction model Equation (26) into the cost function Equation (25), and ignoring terms unrelated to *U*˜ *k*+*Np k* , leads to

$$J = \frac{1}{2} \left( \tilde{\mathcal{U}}\_k^{k+N\_p} \right)^\mathrm{T} \mathcal{H} \tilde{\mathcal{U}}\_k^{k+N\_p} + \mathcal{F}^\mathrm{T} \tilde{\mathcal{U}}\_k^{k+N\_p} \,. \tag{29}$$

where

$$\mathcal{H} = \boldsymbol{\Phi}\_{\boldsymbol{u}} + \boldsymbol{\Phi}\_{\boldsymbol{u}}^{\mathrm{T}} + 2\mathcal{R} + 2\boldsymbol{\Phi}\_{\boldsymbol{u}\boldsymbol{z}}^{\mathrm{T}}\boldsymbol{Q}\boldsymbol{\Phi}\_{\boldsymbol{u}\boldsymbol{z}}.\tag{30}$$

$$\mathcal{F} = \left(\boldsymbol{\Lambda} + 2\boldsymbol{\Phi}\_{\boldsymbol{u}\boldsymbol{z}}^{\mathrm{T}}\boldsymbol{Q}\boldsymbol{\Lambda}\_{\boldsymbol{z}}\right)\boldsymbol{\mathcal{X}}(\boldsymbol{k}) + \left(\boldsymbol{\Phi}\_{\boldsymbol{w}} + 2\boldsymbol{\Phi}\_{\boldsymbol{u}\boldsymbol{z}}^{\mathrm{T}}\boldsymbol{Q}\boldsymbol{\Phi}\_{\boldsymbol{w}\boldsymbol{z}}\right)\boldsymbol{\mathcal{W}}\_{\boldsymbol{k}}^{\mathrm{k}+N\_{\mathrm{p}}} + \left(\boldsymbol{\Phi}\_{\boldsymbol{u}} + 2\boldsymbol{\Phi}\_{\boldsymbol{u}\boldsymbol{z}}^{\mathrm{T}}\boldsymbol{Q}\boldsymbol{\Phi}\_{\boldsymbol{u}\boldsymbol{z}}\right)\boldsymbol{\mathcal{F}}\_{\boldsymbol{ek}}^{\mathrm{k}+N\_{\mathrm{p}}}.\tag{30}$$

The constraints Equation (27) are reorganized into

$$\mathcal{S}\tilde{\mathcal{U}}\_{k}^{k+N\_{p}} \leq b\_{\mathsf{u}\prime} \tag{31}$$

$$\begin{aligned} \text{where } \mathcal{S} = \begin{bmatrix} I \\ -I \\ \Phi\_{\textit{uz}} \\ -\Phi\_{\textit{uz}} \end{bmatrix} \text{ and } b\_{\textit{u}} = \begin{bmatrix} \mathcal{U}\_{\textit{max}} \\ \mathcal{U}\_{\textit{max}} \\ \mathcal{Y}\_{\textit{z},\textit{max}} - \Lambda\_{\textit{xz}}\mathbf{x}(k) - \Phi\_{\textit{uz}}\mathring{\mathcal{W}}\_{\textit{k}}^{k+N\_{\textit{p}}} - \Phi\_{\textit{uz}}\mathbf{f}\_{\textit{ek}}^{k+N\_{\textit{p}}} \\ \mathcal{Y}\_{\textit{z},\textit{max}} + \Lambda\_{\textit{xz}}\mathbf{x}(k) + \Phi\_{\textit{uz}}\mathring{\mathcal{W}}\_{\textit{k}}^{k+N\_{\textit{p}}} + \Phi\_{\textit{uz}}\mathbf{f}\_{\textit{ek}}^{k+N\_{\textit{p}}} \end{bmatrix}. \end{aligned}$$

Finally, the general form of the QP problem is summarized as

$$\begin{split} \tilde{\mathcal{U}}^{\*} = \arg\min\_{\mathcal{U}\_{0}^{k}} \frac{1}{2} \left( \tilde{\mathcal{U}}\_{k}^{k+N\_{p}} \right)^{\mathrm{T}} \mathcal{H} \tilde{\mathcal{U}}\_{k}^{k+N\_{p}} + \mathcal{F}^{\mathrm{T}} \tilde{\mathcal{U}}\_{k}^{k+N\_{p}}, \\ \text{S.t. } \mathcal{S} \tilde{\mathcal{U}}\_{k}^{k+N\_{p}} \le b\_{u}. \end{split} \tag{32}$$

In each control horizon, the first term *U*˜ *k*+1 *k* in the sequence of optimal control forces *U*˜ ∗*k*+*N<sup>p</sup> k* is adopted as the optimal control force at time *k*.

### **4. Experimental Results and Discussion**

#### *4.1. Simulation of Wave Energy Harvesting*

We designed a semi-physical hardware-in-the-loop (HIL) experiment to simulate the wave energy capture more realistically than the digital simulation, and to reduce the high cost and complexity of the real ocean or large pool environment. The semi-physical experimental platform consisted of a front-end part and a back-end part as shown in Figure 2a. The front-end part comprised a desktop computer running MATLAB<sup>r</sup> and an RT-LAB simulator (a rapid control prototyping (RCP) platform from OPAL-RT Technologies Canada), as shown in the upper part of Figure 2a. The front-end part was mainly dedicated to simulating realistic sea conditions to implement a fully digital simulation of the WEC array to validate the established interconnected system model and the MPC control strategy mapped to the back-end part for the physical experiment bench operation.

The back-end part was a physical experiment bench as shown in the lower part of Figure 2a,b. The rotating motor was controlled by a commercial drive (Copley Controls ADP-090-36) and was used to imitate the rippling motion of the WEC buoys in the array under the effect of wave force. As the PTO device of the WEC, the linear generator (see Table 1 for the specific parameters) was dragged by a belt to convert the motion of the simulated buoy into an AC power output. The AC power generated by three PTO devices was converted to DC power using an AC-DC converter and rectifier (modules 6 and 7 in Figure 2b) developed in our laboratory and fed to the DC bus and electronic loads.

**Figure 2.** Experimental bench: (**a**) Framework; (**b**) Hardware: 1. Rotating motor; 2. Linear motor; 3. Driver; 4. DC power; 5. Switch; 6. Rectifier; 7. Acquisition board; 8. Electronic load; 9. DC power; 10. Computer; 11. RT-LAB.


**Table 1.** Specifications for wave energy linear generators.

The purpose of constructing the above experimental system was to perform the following procedures:


#### *4.2. Simulation Parameter Setting*

We built a three-unit WEC array in the front end with reference to the PB3 device described in [26,27] developed by Ocean Power Technologies Inc. All the parameters are shown in Table 2. The three WEC units were arranged in an equilateral triangle with a distance of 25 m from each other.

**Table 2.** Simulation parameters.


The JONSWAP function generated the incident wave [28]; the wave significant height was 2 m, and the peak period was 3 s. The wave velocity and the corresponding wave excitation force *F<sup>e</sup>* are shown in Figure 3. To investigate the effect that the angle *∂* of wave propagation direction waves had on the WEC array, three sets of experiments with different wave propagation directions *∂* = 30◦ , 45◦ , 60◦ were set up.

**Figure 3.** Excitation force and wave velocity.

#### *4.3. Results and Discussion*

The prediction horizon and the control horizon were both 10 s, the sampling time was 0.02 s, and the simulation time was 50 s. The weight value *<sup>r</sup>* was set to 2.5 <sup>×</sup> <sup>10</sup>−<sup>6</sup> to ensure that the Hermitian matrix was a positive definite matrix, and *<sup>Q</sup>* was also set to 2.5 <sup>×</sup> <sup>10</sup>−<sup>6</sup> . When the radius of the buoy was 5 × *a* m and the distance *dij* was 25 m, the matrices of the state-space representation of the edge model were

$$\mathcal{E}\_{\ell} = \begin{bmatrix} -1.3192 & -2.6404 & -1.8147 & -1.3222 & -0.2090 \\ 1 & & & & \\ & 1 & & & \\ & & 1 & & & \\ & & & 1 & & \\ \end{bmatrix},$$

$$\mathcal{F}\_{\ell} = \begin{bmatrix} 1 & 0 & 0 & 0 & 0 \end{bmatrix}^{\mathrm{T}}, \text{and } \mathcal{H}\_{\ell} = \begin{bmatrix} 0.1470 & -0.1931 & -0.1043 & -0.0100 & -0.0053 \end{bmatrix}.$$

Figure 4 shows the velocity of each unit's radiation wave in the three layout cases. In particular, when *∂* = 30◦ , Units 2 and 3 were affected by the same interference. This was because of the symmetrical structure of the equilateral triangle, and the propagation direction of the incident wave overlapping the symmetric axis, so that the waveform of the incident wave received by Units 2 and 3 was synchronized, and the identical edge model caused the same interference. Figure 5 shows that, under the control of the MPC algorithm, the control force of each WEC unit was limited to a range of <sup>±</sup><sup>1</sup> <sup>×</sup> <sup>10</sup><sup>5</sup> N, which satisfies the input constraint in Table 1.

**Figure 4.** Interaction of radiation wave velocities received by each unit.

**Figure 5.** Reaction force controlled by the MPC algorithm.

In Figure 6, the waveform of each buoy velocity is almost the same as that of the corresponding incident wave velocity, and resonance is almost realized between the buoy motion and the wave motion. Due to the existence of other terms in the cost function, the execution delay, and the limitation of the control force and displacement, the resonance between the buoy and the incident wave is not fully realized. However, the wave energy capture efficiency is optimized by the control of the MPC algorithm.

**Figure 6.** Buoy velocity and incident wave velocity.

To show the impact of interactions in the interconnected system, three units of isolated systems were set up as baseline cases. The isolated system had no interaction among the three WEC units. Thus, the radiation waves caused by the oscillating motion of units did not affect the neighborhood units. In the mathematical model Equation (20), the induction matrix D is an all-0 matrix. Because the interaction exists in the WEC array, the buoy's motion velocity is different between the interconnected and isolated systems without interaction. Furthermore, to adapt to the existence of the interaction, the MPC algorithm solves the optimal reaction force to make the units coordinate with each other to achieve the global optimal efficiency.

Figure 7 shows the variation in the total power generated by the corresponding three WEC units between the interconnected and the isolated system when the wave incidence angle *∂* = 45◦ . Each curve in Figure 7 illustrates the difference in wave energy captured by a unit, taking into account the impact of interfering waves between units compared with those not taking into account interfering waves. The energy error curves for the three units in Figure 7 highlight the various effects of interactions within the array on the energy harvesting of each unit. Figure 8 shows the waveform of the radiation wave and the incident wave when the incident wave angle *∂* = 45◦ . Note that in Figure 7, Unit 2 of the interconnected system harvests more wave energy than Unit 2 of the isolated system. In Figure 8, the waveforms of the incident wave received by Unit 2 are nearly the same as those of the radiation wave generated by the other units. The wave energy harvested by Units 1 and 3 of the interconnected system is not as high as the corresponding unit in the isolated system, and the waveforms of the incident wave and the radiation wave are significantly asynchronous.

When the waveform of the radiation wave received by the WEC unit is close to that of the incident wave, the unit can generate more energy. When their phase error is close to zero, so that the radiation wave synchronizes with the incident wave, just as when the buoy motion synchronizes with the wave motion, the efficiency of the wave energy captured by the WEC is optimized. At this time, the radiation wave also enables maximum optimization of the wave energy captured by the corresponding unit of the interconnected system.

**Figure 7.** Variation in the wave energy harvested by each WEC unit between the interconnected and isolated systems.

**Figure 8.** Wave velocity of the interacting radiation wave and the incident wave.

To show the influence of the interaction in different cases, we define the index *\$* as

$$\varrho = \frac{P\_{\text{array},i}}{\sum\_{j=1}^{N} P\_{\text{isolute},i}^{j}} \,\tag{33}$$

where *P*array,*<sup>i</sup>* and *P j* isolate,*i* are the power of the WEC array as an interconnected system and the power of each isolated unit at *t* = *i*, respectively.

In the three cases, the interaction of the interconnected system had a positive or negative effect at different instances within 50 s. The interaction in the first and second cases had more positive than negative effects, and *\$* > 1 was satisfied, respectively, 62.72% and 52.08% of the total time. In the third case, the negative effect was more than the positive effect, and *\$* > 1 was satisfied only 29.08% of the total time.

The results in Figure 9 show that in the first and second cases, the interconnected system controlled by the MPC algorithm had higher wave energy harvesting efficiency than the isolated system. In the third case, the interconnected system harvested less wave energy than the isolated system. In addition, when the incident waves had different propagation directions, the increase in the wave energy harvesting efficiency of the WEC interconnected system changed accordingly.

**Figure 9.** Electrical energy generated by the WEC array and WEC array without interaction.

#### **5. Conclusions**

In this paper, we proposed an interconnected system model of a WEC array which graphically integrates a WEC unit model and an interference model. The proposed model with wave interference dynamics describes the WEC array system more accurately. Each part of the interconnected system model has a well-defined structure that can better reflect uniformity when the array configuration changes. The interconnected model accurately describes the wave energy harvesting process under the influence of wave interference. The MPC algorithm based on the interconnected system model is applied to enable the WEC array to achieve optimal global performance of wave energy capture control, subject to several constraints. Through experimental tests, it was found that the phase error between the radiation and incident waves significantly affected the wave energy capture efficiency, and the wave energy capture efficiency was effectively improved as the error decreased. The experimental results show that the MPC with the interconnected system model had a higher wave energy capture efficiency compared with the isolated system model. However, the performance of the MPC relies on accurate and sufficient information on wave excitation forecasts. Future research will concentrate on more realistic hydrodynamics of the buoys and their coupling in the ocean environment, as well as inaccurate or insufficient wave excitation forecasts. Strengthening the robustness and adaptability of the MPC controller by combining intelligent control techniques is another promising direction.

**Author Contributions:** All authors contributed to the study conception and design. Administrative support and provision of study materials were provided by B.Z., X.B. and A.K.; collection and assembly of data were undertaken by H.Z., S.Y.; data analysis and interpretation were performed by B.Z., S.C., X.B. and A.K. All authors have read and agreed to the published version of the manuscript.

**Funding:** This work is supported in part by the National Natural Science Foundation of China under Grants 62173234 and 62003217.

**Institutional Review Board Statement:** Not applicable.

**Informed Consent Statement:** Not applicable.

**Data Availability Statement:** All data generated or analysed during the study of this manuscript are included in the article.

**Conflicts of Interest:** With respect to the content of this paper, all the authors have no conflict of interest to declare.

#### **References**

