## Abstract

This paper presents the closed-loop experimental framework and dynamic model validation for a 1/12-scale underwater kite design. The pool-based tow testing framework described herein, which involves a fully actuated, closed-loop controlled kite and flexible tether, significantly expands upon the capabilities of any previously developed open-source framework for experimental underwater kite characterization. Specifically, the framework has allowed for the validation of three closed-loop flight control strategies, along with a critical comparison between dynamic model predictions and experimental results. In this paper, we provide a detailed presentation of the experimental tow system and kite setup, describe the control algorithms implemented and tested, and quantify the level of agreement between our multi‐degree-of-freedom kite dynamic model and experimental data. We also present a sensitivity analysis that helps to identify the most influential parameters to kite performance and further explain the remaining mismatches between the model and data.

## 1 Introduction

The investigation of marine hydrokinetic (MHK) energy harvesting methods has grown in recent years, with substantial efforts expended in the modeling and development of MHK kite systems. An MHK kite, as depicted in Fig. 1-left (two example wind energy counterparts are shown in 1-middle and 1-right), leverages its high-lift design to execute high-speed periodic figure-8 or elliptical motions perpendicular to the prevailing flow, termed *cross-current* motions, in order to achieve dramatically higher power-to-mass ratios than a fixed system of the same size. The low mass and high-speed cross-current motion allow kite systems to harness tidal and ocean current resources in regions that are currently uneconomical for traditional fixed-base turbines [4,5], due either to bathymetry or the flow resource (or both).

Marine hydrokinetic kite systems circumvent the structural limitations associated with fixed turbines by replacing massive structural components with thin, axially stiff tethers. As noted above, kites can be flown in high-speed cross-current motions perpendicular to the prevailing current. The achievable flight speed is dictated by the kite's lift-to-drag ratio and can often approach 5–10 times that of the prevailing current velocity, and the resulting energy can be harvested in either of two ways: capturing energy via on-board turbines or spooling out under tether tension and capturing the energy via a ground station generator [6].

Leveraging the work accomplished in airborne wind energy generation, development efforts in MHK kites are underway in both industry and academia. Figure 1 shows industrially developed kite systems from Minesto [1], Windlift [2], and Makani [3] across both marine and airborne applications.

While the results of Minesto's efforts, which have included the deployment of their 0.5 MW DeepGreen system off of Wales, have significantly advanced MHK kite technology, there is a need for open-source kite modeling tools and experimental test beds for other parties to enter into the MHK kite field. In response to this need, several organizations have developed open-source, multi‐degree-of-freedom dynamic models for characterizing kites, both in airborne wind energy and MHK applications. These efforts include those of NC state [7–10], Worcester Polytechnic Institute [11,12], and other academic entities, along with Makani's release of its entire code database [13].

Given the complexity and current technology readiness of these systems, a number of efforts have focused on supplementing numerical modeling efforts with small-scale experimental prototypes. Two of the most noteworthy published experimental configurations are illustrated in Fig. 2, in addition to the new experimental configuration examined in this work.

The first of these is a water channel-based framework, where Sidiqqui et al. showed agreement between an MHK model developed at North Carolina State University and the experimental performance of a 0.15 m wingspan kite operated in a water channel [7]. Three tethers were used to control the kite's pitch, roll, and altitude in order to track periodic roll setpoints. The experimental data were then used to refine the dynamic model and extrapolate performance to a full-scale 10 m wingspan system.

In a second experimental effort, Fredette et al. developed a three degrees-of-freedom delta wing MHK kite with a wing span of 0.382 m, flown at the Alden Research Lab water flume at a flow speed of 0.5 m/s [14] and pictured in Fig. 2 during testing at the Worcester Polytechnic Institute pool. The kite operated on a fixed-length rigid carbon fiber rod (serving the role of the tether) with a fixed orientation relative to the tether, relying on the human-in-the-loop remote control via a joystick interface. The kite was flown in both circular and figure-8 motions, and power generation was compared to scaled predictions from a full-scale 120 kW system.

Both of the aforementioned experimental frameworks significantly advanced kite design and control research efforts. On the other hand, examination of these experimental frameworks reveals several opportunities for enhancement, which can ultimately provide a better mechanism for the validation of kite modeling tools. In particular, the water channel framework of Ref. [7] required several design sacrifices in order to successfully execute experiments within the space constraints. Specifically, it was not possible to equip the kite with control surfaces, and multiple tethers had to be used in their place. Furthermore, the dimensions of the water channel (specifically, the 32-in. width) limited the scale of the kite, tether, and flight paths such that the resulting flight deviated significantly from the targeted flight patterns at full scale. Thus, while the framework of Ref. [7] served a valuable role in model validation and refinement, this validation and refinement were performed under conditions that deviated significantly from full-scale conditions. Turning to the framework of Ref. [14], the most significant design sacrifices pertain to the reduction in number of control surfaces and mechanical degrees-of-freedom relative to a full-scale system. In particular, the kite used in Ref. [14] was actuated solely with a rudder, and the tether was replaced with a carbon tube that was rigidly attached to the kite. Furthermore, the kite used in Ref. [14] relied upon human-in-the-loop control via a joystick, rather than fully automated closed-loop control.

In response to the need for an enhanced experimental framework, this paper describes a pool-based tow system and kite design that achieves three primary improvements over the existing body of literature:

The kite is constrained via a flexible tether which allows six degrees-of-freedom (6DOF) motion of the flight vehicle, analogous to the full-scale system, in contrast to the setup used by Fredette [14], which removed three degrees-of-freedom and focused on a rigid tether.

The kite's control surfaces enable regulation of all three hydrodynamic moments, in contrast to Siddiqui et al. [7], which used variable-length tethers to control pitch and roll only, and Fredette [14], whose pitch and roll angles were fixed by a rigid tether.

The system achieves fully automated closed-loop control, where the only user inputs are control parameters/setpoints and a tow speed profile, which are set before the initiation of an experiment, in contrast to Fredette [14], which relied on human-in-the-loop joystick control of their system.

Put succinctly, this work presents the first open-source experimental implementation of a tethered kite system with a six degrees-of-freedom flight vehicle and automated closed-loop control, whose performance is used to validate and refine a dynamic model.

Figure 3 illustrates the full setup, consisting of a ground control station, winch assembly, towing raft, and kite. Because of the aforementioned enhancements, the experimental setup serves as a critical tool for the validation of the dynamic models and control systems proposed in the literature. This paper focuses specifically on the use of the experimental framework to evaluate the dynamic model and candidate control strategies for one such kite design.

After describing the tow apparatus, kite design, and instrumentation, we describe the dynamic model that we sought to validate with the kite, along with the candidate closed-loop control algorithms that were used in our experimental validation effort. We then proceed to present key results from our tow tests, along with a comparison of our model predictions against the experimental data. This comparison is accompanied by a sensitivity study that helps to identify the most influential parameters on the kite's performance and also helps to identify the likeliest sources of remaining mismatch between the model predictions and experimental data.

## 2 Experimental Apparatus

In this section, we will present a brief overview of the experimental apparatus developed for this work, which is depicted in Fig. 3. Given that the goal of this work is the experimental validation of a dynamic model, and not pure power generation, the scaled system described herein does not generate electricity.

### 2.1 Ground Station.

Full-scale MHK kite systems generate power by flying perpendicular to a prevailing flow, in so-called cross-current motions. Availability of prevailing flows in an experimental environment of sufficient size to allow for tethered flight has cost prohibitive for experimental work of this scale. In order to simulate prevailing flow, experiments were conducted through a customized tow testing setup in the NC State Casey Aquatic Center dive well, which provided an operating envelope with a depth of 3.35 m (11 ft), a length of 22.9 m (75 ft), and a width of 7.4 m (24 ft). In this setup, the kite is suspended in the pool from a catamaran-style raft, via a tether of prescribed length (between 2 and 3 meters from the raft to the kite for the experiments performed in this work). The raft is towed across the pool by a winch located on the pool deck, which is colocated with the system controller. Lateral motion is restrained through a pair of guy-wires tensioned between the sides of the pool, which engage with four guides arranged in a 1 m × 1 m grid about the center of mass of the raft. This system is capable of tow velocities up to 1 m/s.

Communication with the raft is accomplished via two tethers. The first tether, referred to herein as the tow tether, is used to pull the raft across the pool and transmit data from a suite of sensors local to the raft. The second tether, referred to herein as the kite tether, is used to suspend the kite from the raft and transmit data between the kite and the controller, and carry power to the kite. The kite tether passes through a line angle sensor (LAS) suspended from the bottom of the raft, which encodes the instantaneous orientation of the tether.

### 2.2 Pool-Scale Kite.

The kite vehicle is an approximate 1/12 scale replica of the full-scale vehicle described in Ref. [7]. The kite has a wingspan of 0.847 m, a nose-to-tail length of 0.674 m, and a fuselage diameter of 0.0635 m. A computer-aided design (CAD) rendering is shown in Fig. 4, and a photo of the kite can be seen in Fig. 2. Hydrodynamic surface specifications are given in Table 1. SG6040 foils were chosen for the wings in order to mitigate low Reynolds number effects encountered in the cross-current flight regime of the NC State dive well.

Kite control is accomplished via traditional control surfaces actuated by waterproof SAVOX SW1250MG servomotors (Salt Lake City, UT). The kite ailerons are located at the far outboard extent of the wings, each with spans of 0.200 m at 25–18.5% chord, decreasing as the aileron moves outboard. The entirety of the horizontal and vertical stabilizers are pitched by servomotors about the quarter chord location to enable rudder and elevator control.

### 2.3 Instrumentation and Software.

The experimental setup enables the implementation and testing of the controllers described in this work, detailed in Sec. 4. To realize this closed-loop control, the ground station, raft, and kite are all instrumented with controllers and corresponding sensors and communication equipment. The overall system is monitored by operators who interface with a host computer, which in turn issues setpoints and parameter updates to the main target computer, residing in the pool deck electrical enclosure. The system instrumentation and workflow are illustrated in Fig. 5.

The kite is equipped with an inertial measurement unit (IMU), two microcontrollers, and four servomotors (one for each control surface shown in Fig. 4). The communication links are implemented as two half-duplex serial RS-485 links, using a microcontroller that acts as an on-board computer (OBC) for each link. The transmit-always OBC 1, receives the attitude, angular rates, and acceleration data from the IMU, packages, and transmits the serial message to the ground station. On the other hand, the receive-always OBC 2 receives control surface deflection commands from the ground station, unpacks, and relays them to the respective servomotors. The IMU used in this application is a LORD 3DM-CX5-25 (Williston, VT). This sensor features integrated sensor fusion-based filtering via a proprietary complementary filter and extended Kalman filter [15]:

The extended Kalman filter fuses measurements from rate gyros, an accelerometer, and a magnetometer to maintain estimates of the roll, pitch, and yaw Euler angles, along with the body-frame angular rates. The Kalman gain is updated at each time-step to minimize the expected value of the estimation error.

The complementary filter fuses accelerometer-based low-frequency roll and pitch angle inferences (based on the direction of the gravity vector in the body frame) with gyro-based angular rate measurements to maintain estimates of the roll and pitch angles. Because the complementary filter does not rely on the magnetometer, the yaw angle estimate is dead reckoned based on the measured angular rates.

*θ*), and kite body-frame angular rates ($\omega k$) [16] as follows:

_{k}where $\omega y,k$ and $\omega z,k$ are the kite's body-frame angular rates about the *y-* and *z*-axis, respectively. At the advent of each test run, the kite is placed on a launch frame that orients the kite along the towing direction ($\psi k=0)$, and the integrator for *ψ _{k}* is reset. This eliminates integrator windup, while the integration error over a test run (with an average duration of 30 s) remains negligible.

The raft is equipped with a load cell that measures tether tension and the LAS, the encoders on which measure elevation and azimuth angle. The elevation and azimuth, along with the tether length are used to estimate the kite's position (detailed in Sec. 3.4). These two measurements are sent to the distal computer (Speedgoat 2), which packages the data and transmits it to the ground station via a user datagram protocol (UDP) link. In this experimental work, a Speedgoat computer [17] (Natick, MA) was used for the distal computer and the main target computer at the ground station. This acts as a rapid control prototyping platform that allows swift implementation of control algorithms via Simulink Real-time. The approximate round-trip delay associated with ground station-kite communications is 20 ms. This delay was modeled into the controller, and the system was shown to be robust to this delay.

The ground station houses all major components in an electrical enclosure to prevent contact with water during operation. The electrical enclosure houses the main control computer (Speedgoat 1), the motors, motor controllers, and encoders for tow system, as well as power supplies for the Speedgoat, the motors, and the kite.

The operators for a particular experiment interface with the main Speedgoat target computer via a host computer, located several meters from the target and communicating with the target over Ethernet. The operator possesses a wide range of options for setting the parameters for a given tow test via the host computer, all of which are made available through a customized graphical user interface:

The operator(s) can toggle between multiple control architectures for regulating the kite's flight (where the candidate control architectures are described in detail in Sec. 4).

The operator(s) can adjust controller parameters before or during an experiment.

The operator(s) can specify the desired flight trajectory through the specification of Euler angle setpoint profiles that are constant, sinusoidal (parameterized based on frequency, amplitude, and phase shift between roll and yaw), or specified as an arbitrary curve. A targeted flight path can also be defined spatially.

The operator(s) can trigger the initiation of figure-8 cross-current flight (corresponding to a switch from roll and yaw angle setpoints of zero to the parameterized setpoint profiles described above) based on a threshold on time, kite elevation, the position of the raft along the tow length, or kite speed.

The operator(s) can prescribe tow speeds up to 1 m/s. Unsteady flow can be emulated by superimposing a periodic curve on the specified tow speed [18].

## 3 Dynamic Model

Following our earlier work in Ref. [19], the MHK kite is modeled as a combination of a rigid lifting body subject to the forces and moments from lift, drag, buoyancy, and gravity, and a lumped mass tether model whose links are characterized as noncompressive spring-damper systems, as in Ref. [10]. The dynamics of the kite in this paper are reformulated using the method prescribed by Ref. [20] to allow for the inclusion of added mass terms.

This work expands upon our previous work in Ref. [21] with the inclusion of a three degrees-of-freedom towing raft from which the kite is deployed, along with a characterization of the line angle sensor's dynamics.

In Fig. 5, the components of the overall model are shown, along with the signals exchanged between them. In the figure, $\omega k,vk,rk/o,\mu k$, and *l _{T}* correspond, respectively, to the kite's body-frame angular velocity, body-frame linear velocity, ground-frame position, orientation, and tether length. The variables $\omega r,vr,rr/o$, and $\mu r$ correspond, respectively, to the raft's angular velocity, velocity, position, and orientation. Additionally, $[\delta a,\delta e,\delta r]T$ corresponding to the aileron, elevator, and rudder deflections,

*u*corresponds to the spooling speed commanded to the winch (which is inside of the block labeled “kite”), $vf(t,rk/o+rai)$ represent the flow vectors at the hydrodynamic surfaces of the kite, and $vf(t,rr/o)$ is the flow vector at the center of mass of the raft.

_{T}### 3.1 Lifting Body (Kite) Model.

*u*,

_{f}*v*, and

_{f}*w*are the components of kite velocity and flow velocity, respectively, expressed in the body fixed

_{f}*k*frame. Additionally,

*p*,

*q*, and

*r*are the rotational rates about the kite's body axes and are calculated by

The collection of Tait-Bryan angles describing this system are $\mu k\u225c[\u2009\varphi k\u2003\theta k\u2003\psi k\u2009]T$. This is the vector of roll ($\varphi k$), pitch (*θ _{k}*), and yaw (

*ψ*) Euler angles.

_{k}where $FNet,k\u2208\mathbb{R}3$ is the vector containing the external forces on the kite, and $MNet,k\u2208\mathbb{R}3$ is the vector containing the external moments on the kite. These include fluid dynamic forces and moments, which depend on $vr$, gravitational/buoyant forces (and associated moments), and the external force (and associated moment) from the tether. Additionally, $C(vr)\u2208\mathbb{R}6\xd76$ is the matrix accounting for the Coriolis and centripetal terms arising from the rigid body and added mass effects.

Finally, the matrix $Mk\u2208\mathbb{R}6\xd76$ is the mass matrix of the kite, which is a combination of mass and inertia terms, coupling terms associated with the displacement between the kite's center of mass and the body-fixed frame origin, and added mass terms calculated based on the kite's geometry. Readers are referred to Ref. [20] for further details regarding the calculation of the matrices $Mk$ and $C(vr)$.

where $Fthr$ is the tether tension exerted on the kite, the second term describes the net buoyant force where *V* is the volume of the kite, *ρ* is the fluid density, *m* is the mass of the kite, and *g* is the acceleration due to gravity. The last term describes the fluid dynamic forces, where *S* is the reference area of the kite, given as the planform area of the wings, $vai$ is the apparent velocity at each hydrodynamic surface, and where $CL,i$ and $CD,i$ are the coefficients of lift and drag for each hydrodynamic surface, respectively, referenced to the wing planform area.

where $rta$ is the vector from the tether attachment point to the leading edge of the wing, $rcb$ is the vector from the center of buoyancy to the leading edge of the wing, and $rcg$ is the vector from the center of gravity to the leading edge of the wing.

*i*refers to each of the five aforementioned surfaces. The force on each surface depends on the apparent flow at the hydrodynamic center of that particular surface, which is calculated as

*α*) and associated control surface deflections (

_{i}*δ*) as

_{i}where *N _{c}* is the number of control points used in the AVL analysis, $yj,i$ is the spanwise location of the $jth$ control point of surface

*i*, and $Clmax(yj,i)$ is the maximum hydrofoil lift coefficient at the $jth$ control point of surface

*i*.

where the components of the drag direction vector are given by the dot product with the appropriate unit vector of the kite coordinate system, $uD,i(\xb7)=uD,i\xb7(\xb7)k$. Note that *i *=* *5 refers to the vertical stabilizer, requiring the case structure of (13) due to its vertical orientation.

Using this methodology, the kite hydrodynamic model can capture the differences in flow velocities experienced by each of the hydrodynamic surfaces (wings, horizontal stabilizer, fuselage, and vertical stabilizer) caused by spatially varying flow disturbances.

### 3.2 Kite Tether Model.

*c*is used to denote the individual lumped mass where $c=1,2,\u2026,Nc$, and

*N*is the total number of lumped masses per tether. The net force acting on each lumped mass is calculated by

_{c}where $Ey,c$ is the Young's modulus, *ζ _{c}* is the nondimensional damping ratio,

*m*is the damping mass, and $rc$ is the vector from the origin to each lumped mass.

_{c}### 3.3 Raft Model.

where $x\u02d9r$ is the velocity in the $xr$ direction, $y\xa8r$ is the acceleration in the $yr$ directions, and $\psi \xa8r$ is the angular acceleration about the $zr$ direction. The variable *V*_{tow} is the velocity at which the raft is towed, $Fy,r$ is the force the raft experiences in the $yr,\u2009Mz,r$ is the moment experienced about the $zr$ direction, *m _{r}* is the mass of the raft, and

*J*is the moment of inertia of the raft.

_{r}*f*and

_{p}*f*are the reaction forces due to the port and starboard guy-wires,

_{s}*T*is the magnitude of the tension from the kite tether,

*θ*is the elevation angle of the tether with respect to the raft, and $\varphi $ is the azimuth angle with respect to the raft. The remainder of the derivation ascribes the subscripts

*p*,

*s*,

*f*, and

*a*to port, starboard, forward, and aft, respectively. The forces

*f*and

_{p}*f*are given by

_{s}*T*

_{pre}is the pretension magnitude of the raft guy-wires,

*L*

_{pool}is the length of the pool, and

*k*

_{line}is the Hooke's law stiffness of the guy-wires. The variables $Lp,t$ and $Ls,t$ are given by

*d*is the guy-wire's $xr$ distance from the raft's center of mass. The variables $Lp,f,\u2009Lp,a,\u2009Ls,f$, and $Ls,a$ are given by

*w*is the guy-wire's $yr$ distance from the raft's center of mass. The variables $xp,f,\u2009xp,a,\u2009xs,f,\u2009xs,a,\u2009yp,f,\u2009yp,a,\u2009ys,f$, and $ys,a$ are given by

### 3.4 Line Angle Sensor Model.

The LAS is modeled as a two degrees-of-freedom pendulum attached to a noninertial frame of reference, subject to gravity, buoyancy, drag, and tether tension as shown in Fig. 7. The equations of motion for the LAS were derived using a Lagrangian formulation, where the two generalized coordinates are the LAS azimuth and elevation angles, ($\varphi $ and *θ*, respectively).

where the drag force is discretized into *j* separate forces to account for the change in velocity across the length of the boom. *ρ* is the fluid density, $vappi$ is the local apparent velocity, $CDLAS$ is the experimentally measured drag coefficient for the LAS, and $ALASi$ is the reference area for each discretization.

where *l*_{CB} and *l*_{CM} are the axial distances from the pendulum origin to the LAS rod center of buoyancy and center of mass, respectively. *I _{xx}*,

*I*, and

_{yy}*I*represent the principal axes moments of inertia for the LAS,

_{zz}*V*

_{LAS}is the volume of the LAS, $x\xa8r$ and $y\xa8r$ are the linear accelerations of the raft in the $xr$ and $yr$ directions, $\omega zr$ is the raft's angular velocity about the $zr$ direction, and

*ψ*is the yaw angle of the raft.

_{r}where *l*_{thr} is the tether length.

It should be noted that the validity of the straight tether approximation for position estimation is dependent on the length of the tether. In particular, longer tethers result in more curvature and reduce the accuracy of this approximation. With the tether length of 2.6 m that was used in the experiments within this work, tether curvature remained small. Specifically, simulation results show less than a 5% position difference between the kite's actual position (based on the aforementioned multilink tether model) and the position inferred from the straight tether assumption.

## 4 Candidate Control Architectures

The candidate control strategies considered in this work rely on a hierarchical flight control structure depicted in Fig. 8. This controller consists of two layers: a specification of desired control moments at an upper layer and a control allocation module at a lower layer. Ultimately, the output of the control allocation module is a vector of aileron and rudder deflection commands, denoted by *δ _{a}* and

*δ*, respectively. The elevator deflection,

_{r}*δ*, is held at a fixed value, as informed by simulations, over the course of cross-current flight. The distinguishing features between the controllers tested in the pool-scale setup lie in the particulars of how the desired moments are specified and how the control allocation is performed. Control surface actuation is limited to ±30 deg by the physical constraints imposed by the mechanical design of the plant. In order to prevent over-extension of the control surfaces, the deflections commanded by the proportional-integral-derivative (PID) controllers are saturated in software to ±30 deg.

_{e}The control structure of Fig. 8 that has been employed in the pool represents a truncated version of a four-layer hierarchical controller depicted in Fig. 9 and described in detail in Refs. [21] and [24]. The benefit of using the truncated controller in the pool setup lies in the relative ease of tuning, along with the ability for the kite to quickly lock onto roll and yaw setpoint profiles (as opposed to locking onto a spatially defined path) and settle into steady periodic operation. This is critical for the pool environment, given the short 25-yard tow length. Future testing efforts, which will take place in an open-water environment, will be used to evaluate the full four-layer controller.

While the truncated controller of Fig. 8 serves as the active controller for all of the experimental results presented in this work, simulation results from the four-layer controller have been used to determine appropriate parameters for the roll and yaw setpoint profiles (which are specified through the vector $\mu k,des)$.

### 4.1 Defining Desired Roll and Yaw Angle Setpoint Profiles.

where $\varphi k,sp(t)$ and $\psi k,sp(t)$ are the roll and yaw Euler angle setpoints, respectively, $C\varphi $ and $C\psi $ are the setpoint amplitudes for the roll and yaw setpoints, *T _{s}* is the period of the roll and yaw sinusoidal trajectories, and $\epsilon \varphi $ and $\epsilon \psi $ are the phase offsets of the roll and yaw sinusoidal trajectories. The incorporation of phase shifts in both setpoints allows the roll and yaw setpoint profiles to be shifted with respect to each other and with respect to absolute tow time.

To determine the parameters $C\varphi ,\u2009C\psi $, *T _{s}*, $\epsilon \varphi $, and $\epsilon \psi $, simulations from the four-layer hierarchical controller shown in Ref. [19] were used for guidance. The four layers of this controller are:

A

*path following controller*, which receives a path geometry $\Gamma (s)$, where $\Gamma (s)$ is defined using the Lemniscate of Booth and parameterized by the spatially evolving parameter*s*. This layer calculates the closest point to the path using a golden section search optimization, and at that point, calculates a perpendicular and parallel vector to the path. These vectors are then weighted to determine a desired velocity heading direction, which is called the desired velocity angle, $\gamma c(vdes)$, as defined in Ref. [25].A

*tangent roll angle controller*, which receives the desired and actual velocity angles, $\gamma c(vdes)$ and $\gamma c(v)$, and outputs a desired tangent roll angle,*ξ*, which is the angle between $yk$ and the plane tangent to the surface of the sphere defined by $||rk/r||$ at the kite's position. This tangent plane is shown in Fig. 10. This angle dictates the amount of hydrodynamic lift that can contribute to turning._{des}A

*desired moment controller*, which receives the desired and actual tangent roll angles,*ξ*_{des}and*ξ*, as well as the hydrodynamic sideslip angle of the kite, and outputs a vector of desired moments, $Mdes$, to drive the tangent roll angle,*ξ*, to*ξ*_{des}and the sideslip angle to zero.A

*control allocation module*, which receives the desired moment vector, $Mdes$, and computes aileron and rudder deflections to be implemented by the plant.

Using this four-layer hierarchical controller, the pool-scale kite was simulated in cross-current figure-eight flight. The resulting roll and yaw Euler angle trajectories of the kite in the simulation were then used to fit sine-waves, defined by the parameters $C\varphi ,\u2009C\psi $, *T _{s}*, $\epsilon \varphi $, and $\epsilon \psi $. An example of these sinusoidal approximations overlaid on top of the simulation results, can be seen in Fig. 11. The path which was used to create Fig. 11 was chosen heuristically to maximize the kite's velocity augmentation ratio and had an elevation sweep of 25 deg and an azimuth sweep of 100 deg.

### 4.2 Desired Moment Vector Controller.

*ψ*rather than the tangent roll angle or the side-slip angle), the structure of this control layer is equivalent. The desired pitching moment is not commanded, and the elevator remains statically fixed during cross-current flight. This elevator angle was tuned heuristically to increase flight velocity. The desired moment vector set within the flight controller is given in the Laplace domain by

_{k}*τ*is the filter time constant, and

Two variations of this controller were used. The first variant used only the roll moment controller as the first step for control gain tuning and electronics debugging when flying cross-current patterns. The second variant used both the roll and yaw moment controllers to improve flight performance over that achieved with the roll-only controller.

#### 4.2.1 Control Allocation Module.

*b*

_{11},

*b*

_{12},

*b*

_{21}, and

*b*

_{22}are the control effectiveness coefficients from the ailerons and rudder to the roll and yaw moments, and

*L*and

*N*are the desired roll and yaw moments. We used two different methods of calculating

*b*

_{11},

*b*

_{12},

*b*

_{21}, and

*b*

_{22}in pool experimentation. The first set the off-diagonal elements

*b*

_{12}and

*b*

_{21}equal to zero, which represents a decoupling assumption, neglecting the effect the ailerons have on the yaw moment (adverse yaw), and the effect the rudder has on the roll moment (rudder roll coupling). The second variation assumes full coupling and therefore consists of nonzero entries for

*b*

_{11},

*b*

_{12},

*b*

_{21}, and

*b*

_{22}. To calculate

*b*

_{11},

*b*

_{12},

*b*

_{21}, and

*b*

_{22}, a dynamic inversion of the equation

**B**

_{eff}characterize the additional roll and yaw moment gained for a set of aileron and rudder deflections. Since

**B**

_{eff}characterizes the imparted moment per degree of control surface deflection, the differing physics of the rudder and ailerons guarantee that the rows of

**B**

_{eff}will be linearly independent (linearly dependent rows would imply that the ailerons function in the same way as the rudder, with the possible exception of a constant scaling factor), rendering the matrix invertible. The matrix

*B*

_{eff}was calculated as

**B**

_{eff}results in the control effectiveness coefficients shown below by

**B**

_{eff}were computed in simulation, as shown in Fig. 12, it was found that scaling the entries by the apparent velocity squared resulted in relatively constant values, which can be seen in the left plot of Fig. 12. Because of this, we elected to use the inverse of the matrix formed by the constant values ($B\xafeff$) shown in the left plot of Fig. 12 scaled by the apparent velocity squared to compute

*b*

_{11},

*b*

_{12},

*b*

_{21}, and

*b*

_{22}, shown by

## 5 Results

In this section, we will show results that (i) demonstrate the performance of the experimental MHK system operating under three different control schemes, (ii) compare the experimental results to the results generated by our dynamic model performing the same tasks as the kite in experimentation, and (iii) characterize the sensitivity of the performance to key control parameters. The parameters that defined the experiments are given in Table 2.

### 5.1 Performance Assessment.

In this section, we examine the flight performance and projected mechanical power generation based on our experimental results. In performing this assessment, we examine three variants of the truncated hierarchical control structure of Fig. 8:

*Roll control only:*Here, the rudder deflection,*δ*, is set to zero and only the roll angle is controlled to a sinusoidal profile. Because of the limited extent of the cross-current flight made available through the actuation of the ailerons alone, the roll setpoints were limited to amplitudes no larger than 30 deg._{r}*Combined roll and yaw control with diagonal control allocation:*Here, phase-shifted sinusoidal roll and yaw angle setpoints were prescribed, with individual amplitudes for each. Roll and yaw setpoints with amplitudes up to 60 and 80 deg, respectively, were experimentally characterized. As noted in Sec. 4, the setpoint amplitudes and phase shift were determined based on simulations of the four-layer hierarchical controller of Fig. 9. In these experiments, only the diagonal elements of the control allocation matrix were retained, restricting the ailerons to be used for roll only and the rudder to be used for yaw control only.*Combined roll and yaw control with full control allocation:*As with combined roll and yaw control with a diagonal control allocation matrix, phase-shifted sinusoidal roll and yaw angle setpoints were prescribed, with roll and yaw setpoint amplitudes up to 60 and 80 deg, respectively. However, these experiments utilized the full control allocation matrix detailed in Sec. 4.

Experimental results presented in Fig. 13 show setpoint tracking achieved by the three control schemes. Figure 14 shows the paths traced by the kite in terms of azimuth and elevation angles. Velocity and power augmentation under the aforementioned controller variants are given in Fig. 15, where velocity augmentation, given by $vkitevtow$, refers to the ratio of the kite's velocity to the tow speed. This acts as a measure of the flight performance of the kite. The *cube* of velocity augmentation, which we refer to as *power augmentation*, represents the ratio of power that would be generated via on-board rotors under cross-current flight to that which would be generated with the same sized rotors under stationary operation.

The experimental results demonstrate a dramatic performance improvement, in terms of the ability to execute larger motions and the ability to achieve larger velocity augmentation ratios when simultaneous roll and yaw control is performed based on setpoints that are informed by simulations from the four-layer hierarchical controller. In particular, roll amplitudes were limited to no more than 30 deg under roll control alone, which resulted in extremely modest velocity and power augmentation ratios (velocity augmentation never exceeding 2 and power augmentation never exceeding 8). This is likely due to the lack of authority of the system to induce appropriate yawing moments during cornering maneuvers. Incorporation of diagonal control allocation, where both roll and yaw setpoints were tracked simultaneously, enabled the system to track much larger setpoints, up to a maximum amplitude of 60 and 80 deg in roll and yaw, respectively, as shown in Fig. 13. The use of full control allocation resulted in a degraded setpoint tracking, wherein achieved roll and yaw setpoint tracking was diminished as shown in the bottom plot of Fig. 13. However, vehicle roll and yaw were approximately in phase with the roll setpoint.

Comparison of the three operational modes reveals increasing peak velocity and power augmentation factors with increasing controller complexity, as shown in Fig. 15. This result can be qualitatively confirmed by examining the azimuth and elevation traces in Fig. 14, which show increased sweep when simultaneous roll and yaw tracking is used. However, while the allocated control structure achieved higher peak performance, the average velocity and power augmentation factors seen during the last full lap were only 93% and 95% of the parallel controller, respectively, as shown in Table 3.

### 5.2 Open-Water Power Projections.

*k*is a coefficient given by a least-squares fit of the experimental results. The mechanical power produced or demanded by the system under spool in and spool out operations are given by

where *v*_{spool} is the tether spooling speed. Projections were made based on both the average and peak tensions observed during cross-current flight, noting that the average tension in an open water environment with fewer space constraints is in fact expected to lie between these two values.

It is instructive and also relevant to the kite design community to examine how the results of Fig. 16 will translate to power generation under spool-out/spool-in operation at different spooling speeds. Figure 16 gives power curves verus tow speed for power estimates generated from the peak and lap-averaged tether tensions. Power generation is concave with respect to *γ*, with a maximum at $\gamma =0.21$ for mean power projections, and $\gamma =0.23$ for peak power projections, both of which deviate from $\gamma =0.33$ as predicted by Loyd [3], due to system inefficiencies as shown in Fig. 17.

### 5.3 Model Versus Data Comparison.

For experimental comparison, simulations were run using the full dynamic model (which included the kite, the tether, the raft, and the line angle sensor) for the three control architectures in a simulink [26] environment utilizing the ode23tb solver with a maximum step size of 0.1 s. To achieve a direct comparison, in terms of matching the 100 Hz sampled experimental time-steps to simulation time-steps, the variable time-step simulations were resampled such that they too had a 100 Hz sampling time.

*x*defines the variable in question,

*i*denotes each sample (where one sample was taken every time-step), and

*N*denotes the total sample size. This gives a sample-averaged comparison between the model and simulation for the key variables azimuth, elevation, velocity augmentation, and power augmentation. Additionally, this is the discrete-time equivalent to taking a time-averaged RMSE error. All results were sampled from

*t*= 7.5 s to allow for startup transients to dissipate. Additional “aggregate” metrics were also computed, given by

*n*is the number of peaks. The use of the peaks allows for the easy identification of the setpoint period when comparing three different control strategies that do not necessarily share the same setpoint period. Finally, the sample-averaged velocity augmentation

_{p}were computed. Equations (70) and (71) provide sample-averaged velocity and power augmentation similar to the time-averaged power computed in Ref. [27]. Figure 18 shows the comparison between experiments and simulations for several uncontrolled flight variables. Table 3 gives the resulting metrics defined in Eqs. (68)–(71). There is generally good agreement between the model and data. Nevertheless, it is noteworthy that some of the peaks in velocity and power augmentation are inconsistent, in terms of magnitude and timing, between the simulations and experiments in Fig. 18.

To further examine possible sources of residual mismatches, a sensitivity study was performed. The study focused specifically on sensitivity to the elevator deflection and the tow speed. The elevator deflection dictates the angle of attack of the kite, and uncertainty in the elevator deflection can arise from the servolinkage to the control surface and the fact that the servomust manually be rezeroed during kite assembly and maintenance. The tow speed is influential in the magnitude of the hydrodynamic forces seen by the kite, causing small variations in tow speed to influence flight performance. To perform this analysis, small variations were applied to the elevator deflection and tow speed so that the effect on velocity augmentation, a key performance metric, can be observed. The results of the sensitivity analysis are shown in Fig. 19. The sensitivities of the average velocity augmentation to elevator deflection and tow speed are 0.085 $(deg\u22121)$ and 1.42 (s/m), respectively. The figure shows that the flight performance is indeed sensitive to the parameters considered, and some of the model mismatches can be attributed to these less certain parameters.

## 6 Conclusions

In this work, we have shown an experimental hardware framework, controller suite, and corresponding experimental results for a closed-loop controlled MHK kite prototype at 1/12th scale. Three controllers were implemented and validated in the experiment, generating the first known experimental cross-current flight of a fixed-wing kite in the open-source community. The experimental kite achieved velocity augmentation of greater than 2.5× the apparent flow and was able to navigate a figure-eight path within the constraints of the NC State dive well. The experimental results were used to validate our dynamic model and forecast the potential mechanical power output of the system during an open water testing campaign. A numerical sensitivity study was conducted to understand the dependence of experimental results on flight parameters subject to the highest uncertainty. Future work includes plans to incorporate the experimental apparatus onto a 28-foot test vessel for characterizing the kite in a lake-based environment. This will enable substantially longer tether lengths and continuous-duration tests exceeding an hour. Additionally, this apparatus will incorporate a power takeoff system and battery, which will enable regenerative spooling and the generation of net positive electrical energy. Efforts will be undertaken to further refine the model using component-level force and moment testing, along with the integration of an estimator in order to improve the position estimation accuracy, which will, in turn, enable the implementation of a hierarchical path-following controller.

## Funding Data

US Department of Energy (Award No. DE-EE0008635; Funder ID: 10.13039/100000015).

Coastal Studies Institute.

DARPA under the Manta Ray Program.

## Nomenclature

*A*=area

*A*=_{s}control sensitivity matrix

*A*=_{x}aggregate metrics of variable

*x**B*_{eff}=control effectiveness matrix

*b*=_{ij}control effectiveness coefficient

*C*=control setpoint amplitude

*C*=_{D}coefficient of drag

*C*=_{L}coefficient of lift

- $C(vr)vr$ =
Coriolis terms of 6DOF kite

*d*=raft

*x*-axis distance from guy-wires to raft CM- $Ey,c$ =
tether Young's modulus

- $F$ =
general force

*f*=_{p}port side raft reaction force

*f*=_{s}starboard side raft reaction force

*J*=_{r}raft inertia

*k*=_{L}roll moment controller gains

*k*_{line}=Hooke's law stiffness of guy-wires

*k*=_{N}yaw moment controller gains

*l*=length

*L*=roll moment

*L*_{pool}=length of the pool

*m*=mass

- $M$ =
inertial matrix $\u2208\mathbb{R}6\xd76$

- $M$ =
general moment

- $M0$ =
moment vector at zero control surface deflection

*N*=yaw moment

*N*=_{c}number of tether lumped masses

*p*,*q*,*r*=rotational rate about kite

*x*-,*y*-,*z*-axes*P*_{net}=mechanical power

*Q*=_{k}generalize forces of line angle sensor

- $r$ =
position vector

*r*_{thr}=tether radius

*R*=_{x}RMSE error of variable

*x*between experiment and simulation*S*=kite reference area

*t*=time

*T*=magnitude of tension from the kite's tether

*T*_{est}=extrapolated tension across range of tow speeds

*T*_{pre}=pretension magnitude of the guy-wires

*T*=_{s}period of sinusoidal setpoints

*u*,*v*,*w*=velocity along body

*x*-,*y*-,*z*-axes- $uD,i$ =
unit vector describing the direction of the drag force for each hydrodynamic surface

- $uL,i$ =
unit vector describing the direction of the lift force for each hydrodynamic surface

*u*=_{T}tether spooling speed

*V*=kite volume

- $v$ =
linear velocity

- $vr$ =
relative velocities of the kite

- $vf(r)$ =
flow vector at a given position

*v*_{spool}=tether spooling speed

*V*_{tow}=towing velocity

*w*=raft y-axis distance from guy-wires to raft CM

*α*=angle of attack

*γ*=norm of the ratio of spool speed to tow speed

*γ*=_{c}velocity angle

*γ*_{des}=desired velocity angle

- $\Gamma (s)$ =
path geometry

*δ*=control surface deflection

*ε*=setpoint phase offset

*θ*=_{o}elevation angle of the tether

- $\mu $ =
vector formed from Euler angles

*μ*=_{x}lap averaged of variable

*x**ξ*_{des}=desired tangent roll angle

*ρ*=density (no subscript implies water)

- $\tau (vr)$ =
forces and moments for 6DOF kite

- $\varphi ,\theta ,\psi $ =
roll, pitch, yaw

- $\varphi o$ =
azimuth angle of the tether

- $\omega $ =
angular velocity

*a*=aileron

- app =
apparent

*B*=buoyancy

*c*=tether lumped mass index

- CB =
center of buoyancy

- CM =
center of gravity

*e*=elevator

*f*=fluid flow

*G*=gravity

*k*=body-fixed frame of reference or kite property

*o*=inertial frame-of-reference

*p*=projected

*r*=raft frame of reference or raft property

- sp =
setpoint

- surf =
hydrodynamic surface

- thr =
tether

*x*,*y*,*z*=component of given reference frame

*x*/*y*=*x*relative to*y*