## Abstract

This paper solves the inverse dynamics of a tethered kite analytically. Specifically, the paper presents a procedure for determining the angle of attack, induced roll angle, and tether tension magnitude needed to achieve a desired combination of translational kite position, velocity, and acceleration. The focus of the paper is on energy harvesting kites. However, the underlying approach is applicable to other kite systems, such as kites for propulsion (e.g., SkySails, Hamburg, Germany). Solving inverse kite dynamics analytically is valuable for trajectory optimization, online state estimation, and the analysis of fundamental limitations on kite maneuvers. Previous work in the literature presents several models of kite dynamics, with varying degrees of fidelity and complexity. However, the nonlinearity of these models often makes them difficult to use for optimization, estimation, and control. The paper shows that, under reasonable assumptions, inverse kite dynamics can be solved in terms of the roots of a fourth-order polynomial function of angle of attack. This function has a geometric interpretation, providing insight into the multiplicity of resulting solutions. Moreover, for special cases including a kite with noncambered wings, these solutions can be computed analytically. A simulation validates the success of the proposed approach in computing inverse kite dynamics for a cross-current trajectory.

## 1 Introduction

*v*, the reference area of the kite,

_{w}*A*

_{ref}, lift coefficient,

*C*, fluid density,

_{L}*ρ*, and a multiplicative factor,

*F*, representing the energy harvesting benefits of the specific kite configuration and trajectory [1].

For energy production, kites are typically attached to a platform using a tether, and the generator can either be positioned on the kite (drag mode), or on the platform (*pulsing mode*). This paper deals with pulsing mode tethered kites, and Fig. 1 shows a marine tethered kite. In this configuration, a motor/generator periodically reels the kite out in high tension, and then reels it in at lower tension levels.

There is a rich existing literature on the modeling, optimization, and control of tethered kites. This literature spans both marine hydrokinetic (MHK) and airborne wind energy system (AWES) applications. The models have various levels of fidelity and complexity. For example, previous research by Li et al. modeled a tethered kite as a six degrees-of-freedom (DOF) aircraft that incorporated rotational pitch, roll, and yaw dynamics, and utilized a Lyapunov-based controller for the translational and rotational motion [4,5]. Later work incorporated added mass effects to accurately capture fluid–structure interactions [6]. Vermillion et al. also presented a 6DOF model that was validated experimentally both in air and in water-channel experiments [7,8]. Denlinger et al. later used the water channel experiment data to develop a 2DOF model of the tethered kite, whose trajectory was optimized online through extremum seeking control [9]. Taking into account the kite's added mass and inertia, Cobb et al. built a “unifoil” model of a MHK kite, which was later extended to a 6DOF model [10,11]. Canale et al. introduced a model of a pulsing mode kite and used it to optimize the kite's trajectory through model predictive control [12–14]. Numerical optimization via a direct multiple shooting method was used by Houska and Diehl for both a power generating and a towing kite [15,16]. Estimating the velocity vector orientation using a target switching strategy, Wood et al. built a tracking controller for an autonomous kite [17,18]. Rapp et al. Designed a cascaded controller complete with an aircraft, tether, and ground station model [19,20]. Finally, Reed et al. explored the problem of building a hierarchical controller for a marine tethered kite in a turbulent flow environemnt [21,22]. This hierarchical control work reflects the growing realization in the research community of the importance of different feedback control methods for ensuring the robust management of tethered energy-harvesting kite flight, particularly given the importance of such robustness for ultimate commercial deployment. Hierarchical feedback control is also valuable for ensuring that the true physical control inputs for a given kite system (e.g., aileron, elevator, and rudder actuation angles) are manipulated in a manner that tracks desired trajectories of higher-level variables (e.g., angle of attack, induced roll angle, etc.). This, in turn, makes it possible to focus higher-level trajectory optimization research on simplified problem settings with higher-level actuation commands: an approach we adopt in this paper by treating the kite's induced roll angle, angle of attack, and tether tension as the kite's “control inputs.” Finally, in recent years, there has been a push to commercialize energy harvesting kites by companies including Minesto, WindLift, and Makani [23–25].

The above literature focuses on characterizing and solving the forward kite dynamics, often with the goal of optimizing these dynamics (e.g., by optimizing the kite trajectory). Given a kite's position, velocity, and actuation inputs, the equations governing its forward dynamics furnish its accelerations. Solving the corresponding inverse dynamics, in the sense of being able to map a desired combination of kite position, velocity, and acceleration onto the corresponding actuation inputs, is equally important for multiple reasons. First, knowledge of a kite's inverse dynamics enables easy vetting of any prescribed trajectories, i.e., determination of whether the trajectories are feasible. Moreover, if the trajectories are not feasible, the inverse dynamics can provide insights into why they are infeasible. Second, the solution to the inverse kite dynamics problem is not necessarily unique, which means that solving these inverse dynamics analytically provides insight into the multiplicity of possible solution arcs. Third, an analytic solution to the inverse dynamics problem can be quite valuable for solving trajectory optimization, online estimation, and tracking control problems, both exactly and in a computationally tractable manner. Previous work by the authors examined the problem of optimizing energy harvesting kite trajectories using direct transcription methods [26]. In the absence of the analytic inverse dynamics solution approach presented here, such optimization may require the approximate solution of inverse kite dynamics. Such an approximate inverse dynamics solution can be obtained using tools such as the DASSL solver in Openmodelica [27] but adds to the computational complexity of the optimization approach. The approach presented in this paper improves computational tractability and accuracy by solving the inverse kite dynamics exactly in terms of the roots of a fourth-order polynomial. To the best of the authors' knowledge, the problem of obtaining an analytic solution to the inverse kite dynamics problem remains relatively unexplored. The goal of this paper is to solve this inverse dynamics problem, under reasonable modeling assumptions, for translational kite motion.

The remainder of the paper is organized as follows: Sec. 2 describes the 3DOF point mass model serving as a foundation for this work. Section 3 provides a detailed description of the inverse dynamics solution. Section 4 shows results from a simulation study where the kite follows a prescribed trajectory. Section 5 concludes the paper.

## 2 Equations of Motion

This section presents a model of the translational forward dynamics of the tethered kite, largely building on earlier work by the Alvarez et al. [27]. The intent of the model is to provide a foundation for the paper's main contribution, namely, the solution of the inverse kite dynamics. The model computes the kite's translational accelerations given its position vector, velocity vector, angle of attack, induced roll angle, tether tip orientation, and tether tip tension. The main assumptions made in this model are that (i) the kite can be represented by a point mass model, (ii) there are no side forces acting on the kite, (iii) the kite's tether can be represented as a straight-line kinematic constraint, and (iv) the kite's lift and drag coefficients are affine and quadratic functions of its angle of attack, respectively. The model also assumes that the kite acts as a “weathercock,” in the sense that it neglects hydrodynamic side forces. However, the structure of the model can accommodate other key effects, such as non-neutral kite buoyancy, tether curvature, added mass, and tether drag when solving the kite's inverse dynamics—assuming models of these effects to be known a priori.

*x*(

*t*),

*y*(

*t*), and

*z*(

*t*), respectively. Then the kite's position and velocity vector, $r(t)$ and $V(t)$ are, respectively, given by

^{−1}in the base frame

*x*-direction

*x*-direction in the wind frame, $x\u0302w$, by normalizing this relative velocity: a well-posed definition provided $Vrel$ is nonzero [27]. The

*z*-direction in the wind frame, $z\u0302w$, is then chosen to be perpendicular to both $x\u0302w$ and $e\u0302r$. This definition is also well-posed as long as the kite's apparent velocity, $Vrel$, is not perfectly aligned with the tether's tip orientation vector, $e\u0302r$. Finally, the unit vector $y\u0302w$ in the wind frame is chosen to be orthogonal to both $x\u0302w$ and $z\u0302w$. This leads to the following mathematical definitions [27]

In the above equations, *ρ* denotes the density of the fluid surrounding the kite. The symbols *C _{L}* and

*C*represent the kite's lift and drag coefficients, respectively. Both of these coefficients are functions of the kite's angle of attack,

_{D}*α*. The symbol $\varphi $ refers to the kite's induced roll angle, and the symbol

*A*represents its effective area. Finally, the magnitude of the tether tension force experienced by the kite is denoted by

*T*.

*α*, respectively

where the symbol $E$ denotes other forces acting on the kite, beyond lift, drag, and tether tension. Effects that can potentially be encompassed by $E$ include non-neutral buoyancy, and added/entrained mass effects. The main assumption in this paper with regard to these effects is that knowledge of the position $r$, velocity $V$, and acceleration $V$ of the kite versus time, together with knowledge of the freestream fluid velocity versus time, suffices for the model-based computation of $E$, a priori.

Symbol | Description | Value | Unit |
---|---|---|---|

m | Mass | 1,000 | kg |

A | Area | 10 | m^{2} |

$\rho $ | Density | 1,000 | kg m^{−3} |

a | Lift parameter | $3.123\xd710\u22122$ | /deg |

b | Lift parameter | $6.675\xd710\u22122$ | — |

$p1$ | Drag parameter | $1.221\xd710\u22124$ | /deg^{2} |

$p2$ | Drag parameter | $5.309\xd710\u22124$ | /deg |

$p3$ | Drag parameter | 0.01 | — |

Symbol | Description | Value | Unit |
---|---|---|---|

m | Mass | 1,000 | kg |

A | Area | 10 | m^{2} |

$\rho $ | Density | 1,000 | kg m^{−3} |

a | Lift parameter | $3.123\xd710\u22122$ | /deg |

b | Lift parameter | $6.675\xd710\u22122$ | — |

$p1$ | Drag parameter | $1.221\xd710\u22124$ | /deg^{2} |

$p2$ | Drag parameter | $5.309\xd710\u22124$ | /deg |

$p3$ | Drag parameter | 0.01 | — |

This equation summarizes the kite's translational forward dynamics, leading to the inverse dynamics solution presented in Sec. 3.

## 3 Analytic Solution to Inverse Dynamics

*μ*and

*γ*can be defined as

*f*

_{0},

*f*

_{1}, and

*f*

_{2}below

*β*is equal to twice the fluid's dynamic pressure times the effective area,

*A*, as shown below

*T*, it can be eliminated, and the resulting equation can be squared in order to obtain an expression for $cos2(\varphi )$

Equation (29) can finally be solved for *α*. The values can then be substituted in Eq. (22) to solve for *T*. Moreover, Eqs. (23) and (24) can be used to solve for $cos(\varphi )$ and $sin(\varphi )$, respectively, which makes it possible to uniquely determine $\varphi $.

The above procedure makes it possible to solve the kite's inverse dynamics analytically in terms of the roots of a fourth-order polynomial in *α*. The existence of four potential solutions for the kite's inverse dynamics is an interesting outcome of this work. This multiplicity of solutions can be explained as follows. First, the ratio of *L*/*D* represents a particular force direction, and because the lift and drag coefficients are affine and quadratic functions of *α*, respectively, a particular ratio of *L*/*D* can be achieved using either a relatively high or relatively low combination of values of lift, drag, and *α*. Second, each solution for *α* has a symmetric counterpart where the kite flies “upside down”, rolling by 180 deg and simultaneously switching to a new value of *α* that recovers the original lift and drag forces. Therefore, there are two causes of multiplicity of inverse dynamics solutions (high/low angle of attack multiplicity and symmetry), with each cause creating a multiplicity of 2, and with both causes combined therefore creating a multiplicity of 4.

Once the solution to the above inverse dynamics is obtained, one can easily compute other quantities, including the orientation of the kite's body coordinate frame. To show this, we first note that when the angle of attack is zero, the three coordinate axes of the kite's body frame will be parallel to the relative wind velocity direction, $x\u0302w$, the lift force direction, $cos(\varphi )y\u0302w+sin(\varphi )z\u0302w$, and the cross product of these two directions, $\u2212sin(\varphi )y\u0302w+cos(\varphi )z\u0302w$, respectively. Given an angle of attack *α* plus the fact that our earlier assumption of “weathercocking” translates to a sideslip angle of zero, the three coordinate vectors describing the kite's body frame must therefore equal:

A vector $x\u0302w\u2009cos(\alpha )+sin(\alpha )[cos(\varphi )y\u0302w+sin(\varphi )z\u0302w]$, pointing in the aft-forward direction.

A vector $\u2212x\u0302w\u2009sin(\alpha )+cos(\alpha )[cos(\varphi )y\u0302w+sin(\varphi )z\u0302w]$, pointing upwards from the kite's body.

A third vector, $\u2212sin(\varphi )y\u0302w+cos(\varphi )z\u0302w$, pointing in the port-starboard direction.

Together, the above three directions define the kite's body coordinate frame, and make it possible to compute additional variables such as the kite's Euler angles using standard formulas from the literature [28].

### 3.1 Geometric Force Balance.

*L*and

*D*represent the scalar values of the lift and drag forces, respectively. This leads to the following definitions:

*L*, can be either positive or negative depending on the value of

*α*. The scalar value of the drag force,

*D*, is a positive quantity, but it acts along the $\u2212x\u0302w$ direction vector. The tether force

*T*acts along the unit vector $\u2212e\u0302r$, which has projections

*μ*and

*γ*onto the

*x*and

_{w}*y*axes, respectively. The lift force

_{w}*L*acts in the $ywzw$ plane. Its $z\u0302w$ component is

*f*

_{2}in Eq. (24), and the remaining component is $Lcos(\varphi )$ along $y\u0302w$ as in Eq. (10). Once we consider the added forces

*f*

_{1}and

*f*

_{2}, we can study the force balances.

The tension force *T* must balance the other forces on the kite. So the projection of the tension onto the *x* axis $T\mu $ must match $\u2212D\u2212f0$, as shown in Eq. (31), which matches Eq. (22). Similarly, the tension projected onto the *y _{w}* axis $T\gamma $ must match the $Lcos(\varphi )$ component of lift minus

*f*

_{1}as shown in Eq. (32), which is Eq. (23). Finally, the

*z*component of lift must match

_{w}*f*

_{2}Eq. (33). which matches Eq. (24).

Based on the above two equations, one can construct a right-angle “lift force triangle”, where the sides of the triangle represent *L*, $Lsin(\varphi )$, and $Lcos(\varphi )$, as shown below.

In the lift force triangle (Fig. 4), the length of the opposite edge, *f*_{2}, is not a function of *α*. However, the lengths of the adjacent edge and hypotenuse are both depend on *α*. Equation (29) essentially states Pythagoras' theorem for this triangle. Because of the quadratic dependence of *D* on *α*, two fundamentally distinct groups of solutions can arise for angle of attack, as discussed above: a low-*α* solution pair and a high-*α* solution pair. The remainder of this section examines three special cases of the above lift force triangle that help shed more light on the multiplicity of solutions for *α*.

### 3.2 Special Case #1: Zero Force Requirements.

The above equation can be interpreted as projecting the lift and drag forces onto an axis normal to the tether, and requiring the net force along this axis to be zero. Moreover, this equation can be interpreted as requiring a specific value for the lift-to-drag ratio. Figure 5 plots the kite's lift-to-drag ratio versus angle of attack. A unique value of *α* corresponds to the peak (positive or negative) lift-to-drag ratio. For all lift-to-drag ratios smaller in magnitude than this peak, it is mathematically possible to find two values of *α* satisfying Eq. (36). Moreover, for each of these pairs of *L* and *D*, a symmetric counterpart exists where the kite flies “upside down” by switching between $\varphi =0$ and $\varphi =180$ deg. This explains the potential for four solutions for *α*. For this inverted flight the *L* and *C _{L}* values are symmetric, but the corresponding

*α*values are not except in the special case of a noncambered airfoil.

### 3.3 Special Case #2.

*f*

_{2}equals zero, but

*f*

_{0}and

*f*

_{1}can be nonzero. We assume $f2=0$ implies $\varphi =0$ via Eq. (33). Note that $\varphi $ = ±180 deg is also a plausible scenario but would change the sign of lift. In this case, the lift force triangle collapses to a straight line where the hypotenuse and adjacent lengths must be equal, i.e.,

Equation (37) has an interesting geometric interpretation. The terms $L\u2212f1$ and $D+f0$ represent the components of the lift and drag forces that remain once the required values of *f*_{1} and *f*_{0} have been achieved, respectively. Once again, these components must add up to a force that aligns with the kite's tether, similar to special case # 1. Once again, this leads to a quadratic equation in terms of angle of attack, *α*, with up to two potentially distinct solutions. Moreover, symmetric inverted counterparts exist to these solutions, corresponding to $|\varphi |\u226590$ deg.

*α*via the quadratic formula by substituting for

*L*and

*D*with Eq. (30) into Eq. (37). This yields a quadratic in

*α*which can potentially furnish as many as two real solutions,

### 3.4 Special Case # 3.

*b*=

*0 in Eq. (29) [29]. Moreover, one can reasonably assume that drag is minimum at zero lift, meaning that $p2=0$ in the above equation [29]. The fourth-order equation for*

*α*then simplifies to

This is a quadratic equation in terms of $\alpha 2$, meaning that for every value of *α*, there is indeed a symmetric counterpart solution where the sign of the angle of attack is flipped. Moreover, at least for some kite maneuvers, there will exist a solution with a higher angle of attack and a solution with a lower angle of attack, which explains the multiplicity of solutions for *α*.

## 4 Simulation Example

This section presents a simulation example highlighting the proposed inverse dynamics approach. The example builds on lessons learned in previous work by the authors, focusing on energy harvesting using tethered MHK kites [26]. One lesson from this previous work is that MHK kites can harvest significant amounts of energy by flying cross-current in circular patterns while reeling in and out at low and high tension levels, respectively. This lesson represents an alternative to the more common approach in the literature, where cross-current flight trajectories often have figure-8 shapes.

*x*-direction of the base frame. The kite flies in perfect circular cross-current patterns in the base frame's

*yz*-plane, while reeling in and out periodically along the base frame's

*x*axis. The trajectory has a 125-s time period, and is described by the equations below

The above equations translate into the three-dimensional trajectory shape shown in Fig. 6.

Following the procedure outlined in this paper, four inverse dynamics solutions were obtained for the above trajectory. Each solution is characterized by a different set of trajectories for angle of attack, *α*, induced roll angle, $\varphi $, and tether tension, *T*. Figure 7 shows the four solution trajectories for the angle of attack, *α*. These trajectories are all mathematically plausible. Moreover, all of these solution arcs satisfy the required values for the forces *f*_{0}, *f*_{1}, and *f*_{2} at every instant in time, as shown in Fig. 8. The errors between the required and solved *f*_{0}, *f*_{1}, and *f*_{2} are very close to 0 (within numerical noise), given that the inverse dynamics is being solved exactly. Interestingly, the solution trajectories in Fig. 7 are symmetric around $\alpha =\u2212b/a$, the angle of attack corresponding to zero lift. However, not all of these trajectories are physically reasonable. For instance, the large-*α* solutions are likely to result in kite stall. Moreover, the solutions corresponding to negative values of *α* represent an “upside down” kite flight configuration. With this in mind, the remainder of this section focuses on the smallest positive solution trajectory for *α*, shown in Fig. 7(b).

Figure 9(a) shows the four solutions for roll angle, $\varphi $ corresponding to the four solutions for *α*. Both angles are plotted in degrees. Two of the solutions correspond to an upside-down kite configuration, but the solution associated with the selected trajectory for *α* is associated with small positive roll angles, as shown in Fig. 9(b). Interestingly, only a small roll angle magnitude is required versus time, reflecting the degree to which fast cross-current flight enables the achievement of significant flight path curvatures with only a small need for banking, or roll.

Figure 10 shows the four solution histories for tether tension versus time, corresponding to the four solutions for *α*. The inverse dynamics solution approach presented in this paper does not preclude negative tension solutions. However, such solutions would automatically imply trajectory infeasibility for tethered kite systems. All four solution arcs correspond to positive tension histories, implying that all four arcs are feasible in this case, at least from a tethered systems perspective. The solution arc corresponding to the selected history of *α* is shown in Fig. 10(b). Interestingly, this solution achieves high values of tension toward the beginning and end of the time period, when the kite is being reeled out in the *x*-direction. This is desirable from an energy harvesting perspective, and it also points to the following important insight. Optimizing the translational trajectory of the kite, as represented by *x*(*t*), *y*(*t*), and *z*(*t*), may not be sufficient for optimal energy harvesting. One should also optimize the choice of control input solution arc that generates maximum power for this given trajectory.

## 5 Conclusions

While the modeling, control, and optimization of tethered kites have been explored in great detail, this paper presents the first analytic solution of the inverse dynamics of the underlying kites. The analytic solution of kite inverse dynamics is useful for gaining fundamental insights and facilitating tractability in trajectory optimization, tracking, estimation, and control. Future work will include the use of the inverse dynamics solution for precise trajectory optimization and kite control. Finally, the framework presented in this paper can be extended to account for important effects such as tether curvature, provided models of those effects are available.