### Floating structure

The float used for the jellyfish movement characterization task is a 3-inch cylinder to which we attach a hydrophone to decode depth change commands; a pressure sensor to monitor the depth of the float; salinity and temperature sensors to assess the speed of sound in water; a thruster for the ascent of the float; the weights to balance the float must be negative 100 g in the water; and an acoustic label. See the illustration in Fig. 7A. The thruster control is an Arduino board that turns the thruster on and off, depending on the depth of the float. In particular, to maintain the float around a target depth *d*the thruster is activated once a lower limit, \(d+\Delta ^{\text{l}}\)is reached, and deactivated as soon as an upper limit is reached, \(d-\Delta ^{\text{u}}\). In our tests, we managed to keep the float traveling 0.5 m around the designated depth. This is facilitated by a flexible fabric attached to the float tube which, like an umbrella, opens on the descent using the drag force of the water and closes on the ascent. This fabric is used to cut the thruster activation time by more than half, thereby reducing energy consumption. Recovery of the float is accomplished by programming it to surface after a designated time. A safety weight drop mechanism, based on a dissolved metal ring, ensures recovery in the event of a breakdown. The float is designed to be approximately Lagrangian, that is, to float in the water current with minimal drag. A series of in situ experiments have proven this characteristic^{27}. A photo of the float during operation is shown in Fig. 7b.

The hydrophone attached to the float is sampled by a TLV320ADC6140 sound card connected to a Raspberry-Pi 3 controller. The controller continuously runs a decoder for possible messages transmitted acoustically by the deploying vessel. These messages are interpreted by the float as a change of mission, for example a change in depth or a rise to the surface. In jellyfish tracking, this underwater acoustic communication is used to match the depth of the float to that of the jellyfish, ensuring that the float and jellyfish experience the same water current. In particular, based on the jellyfish beacon signaling, the vessel operator can acoustically direct the float to reach the same depth. Underwater acoustic communication is based on the Janus standard^{38} for the transmission of short messages.

### Acoustic localization of the jellyfish and float

#### Reception by at least 3 receivers

The acoustic localization of the tags is carried out on the basis of the ToA measurements detected by a subset of the \(R=6\) receptors. These are merged into TDoA measurements by the intersection of at least two isolines in a 2D plane. For its broadcast at the instance of time *t*designates the 2D UTM position of the beacon *I* as \(\textbf{s}^i_{{\text{tag}}}

(1)

Or *vs* is the speed of sound in water and \(e_{n,k}\) is a measurement noise of \(\tau _{n,k}\).

For all receiver pairs *not*, *k* detect the same tag emission *I*we minimize a utility function,

$$\begin{aligned} \hat{\textbf{s}}^i_{{\text{tag}}}=\underset{\textbf{s}^i_{{\text{tag}}}}{{ \text{argmin}}} \sum _n\sum _k|\textbf{d}_{\text{n,k}}-\textbf{s}^{\text{i}}_{{\text{tag }}}|. \end{aligned}$$

(2)

Finding the intersection of iso-lines is a nonlinear optimization problem^{39}. Furthermore, due to uncertainties in the receiver positions and measurement noise, the intersection of the isolines is not likely to converge to a single point.^{40}. It is therefore important to use the additional information available when more than three receivers detect the transmission of the same beacon. In particular, we use the ordinary least squares (OLS) approach.

We start by defining one of the receivers as a reference receiver, whose 2D UTM position is fixed at \(\textbf{s}^0_{{\text{rec}}}=(x^{0}_{{\text{rec}}}, y^{0}_{{\text{rec}} })\). Considering the TDOA between the \(not\)the receiver and the reference receiver, \(\tau _{\text{0,n}}\)we obtain

$$\begin{aligned} \tau _{\text{0,n}} = \frac{1}{c}\left( |\textbf{s}^{\text{i}}_{{\text {tag}}} – \textbf{s}_0| – |\textbf{s}^{\text{i}}_{{\text{tag}}} – \textbf{s}_{\text{n }}| \right) = \frac{1}{c}\left( \textbf{d}_{\text{0}} -\textbf{d}_{\text{n}}\right) . \end{aligned}$$

(3)

Let the difference in arrival distance for the *not*the receiver is

$$\begin{aligned} \textbf{D}_{\text{0,n}} = \tau _{\text{0,n}} \cdot c = \textbf{d}_{\text{0 }} -\textbf{d}_{\text{n}}, \end{aligned}$$

(4)

such as

$$\begin{aligned} \textbf{d}_\text{0}^2 -\textbf{d}_\text{n}^2 = |\textbf{s} – \textbf{s}_0|^ 2 – |\textbf{s} – \textbf{s}_\text{n}|^2 = 2\textbf{d}_0 \textbf{D}_\text{0,n} – \textbf{D} _\text{0,n}^2. \end{aligned}$$

(5)

Denote

$$\begin{aligned} b_\text{n} = \frac{1}{2}\left( (x^0_{\text{rec}})^2+(x^n_{\text{rec} })^2+ (y^0_{\text{rec}})^2+(y^n_{\text{rec}})^2+\textbf{D}_\text{0,n}^2 \right) , \end{aligned}$$

(6)

which, after rearrangement, becomes

$$\begin{aligned} b_\text{n}=(x^0_{\text{rec}}-x^n_{\text{rec}})x + (y^0_{\text{rec}} -y^0_{\text{rec}})y + \textbf{D}_\text{0,n}{} \textbf{d}_0. \end{aligned}$$

(7)

This is a linear model for the unknown position of the beacon *X*, *Yes* and the range \(\textbf{D}_0\). In matrix form, for *NOT* receivers detecting the emission of the same tag, we obtain

$$\begin{aligned} \textbf{A}{} \textbf{X} = \textbf{b}, \end{aligned}$$

(8)

Or

$$\begin{aligned} \textbf{A} = \left( \begin{array}{ccc} x^0_{\text{rec}} – x^1_{\text{rec}} &{} y^ 0_{\text{rec}}-y^1_{\text{rec}} &{} \textbf{D}_{0,1} \\ x^0_{\text{rec}} – x^2_{ \text{rec}} &{} y^0_{\text{rec}}-y^2_{\text{rec}} &{} \textbf{D}_{0,2} \\ &{} \ vdots &{} \\ x^0_{\text{rec}} – x^N_{\text{rec}} &{} y^0_{\text{rec}}-x^N_{\text{rec} } &{} \textbf{D}_\text{0,N} \end{array} \right) , \end{aligned}$$

(9)

\(\textbf{X}=\left( x^i_{\text{tag}},y^i_{\text{rec}},\textbf{d}_0\right) ^\text{T}\)And \(\textbf{b}=\left( b_0,\ldots , b_n\right) ^\text{T}\). The OLS solution for (8) is obtained by

$$\begin{aligned} \textbf{X}_\text{ols} = \left( \textbf{A}^\text{T}{} \textbf{A}\right) ^{-1}{} \textbf{A}^\text{T}{} \textbf{b}. \end{aligned}$$

(ten)

#### Reception by less than 3 receivers

In the underclassified case, where the tag’s broadcasts are decoded by fewer than three receivers, the above procedure generates ambiguities. To solve these problems, we rely on the constant TI between the emissions of each tag as well as the assumption that the jellyfish and the float move at a fixed (unknown) speed, \(v_x,v_y\).

For example *t*the time of flight (ToF) is

$$\begin{aligned} \rho ^i_n

(11)

Designates the fixed interval between emissions of each tag *I* as \(\text{TI}^i\). For the same tag *I* and the receiver *not*consider the ToA of the consecutive measurements collected at the time *t* And \(t+\text{TI}^i\), \(\text{ToA}^i_n

(12)

We consider the state space \(S

(13)