1 Introduction

We are interested in the development of collaborative control strategies for distributed sensing and tracking of coherent structures and manifolds in flows using teams of autonomous underwater and surface vehicles (AUVs and ASVs). Specifically, we are interested in deploying teams of robots to track a class of coherent structures that are important for quantifying transport phenomena in flows.

Inanc et al. showed that time and fuel optimal paths in the ocean can coincide with a specific class of coherent structures called Lagrangian coherent structures (LCS) (Inanc et al. 2005; Senatore and Ross 2008). LCS are the extensions of stable and unstable manifolds to general time dependent flows (Haller and Yuan 2000; Haller 2011) and are similar to separatrices that divide the flow into dynamically distinct regions. This is supported by Forgoston et al. ’s (2011) work where they showed that LCS coincide with regions in the flow field where more escape events occur. Furthermore, it has been shown that biological phenomena in the ocean, such as the dispersion of algea blooms, can be predicted using knowledge about propagation of LCS boundaries (Olascoaga et al. 2008). More importantly, Olascoaga et al. have shown that, the class of LCS that we are interested in i.e., attracting LCS, was responsible for pushing spilled oil from the Deepwater Horizon spill in 2010, towards the coast of Florida (Olascoaga and Haller 2012). As such, knowledge of LCS is important for planning energy efficient trajectories in the ocean, maintaining sensors in their desired monitoring regions (Mallory et al. 2013; Hsieh et al. 2014; Heckman et al. 2015), predicting pollutant dispersion and for enabling efficient, computationally tractable estimation and prediction of the underlying geophysical fluid dynamics.

Existing methods require complete knowledge of the underlying flow field to numerically compute and track the location of an LCS in a flow. However, accessibility to and the overall quality of ocean current hindcasts, nowcasts, and forecasts provided by navy coastal ocean model (NCOM) databases (SCRIPPS 2014), regional ocean model systems (ROMS) (Smith et al. 2010), and/or other numerical models are generally low. This is because most existing ocean models are derived from assimilated satellite and field data with predictions from numerical PDE models (Shchepetkin and McWilliams 1998, 2005). As such, existing data sets that describe ocean flows are mostly finite time, of low spatio-temporal resolution and are limited to specific regions. Due to this sparseness of available ocean data, locating and tracking LCS in real time is problematic. In this paper we seek to establish a methodology that will enable a team of ASV’s to track an attracting LCS in real time, using on board flow velocity measurements. To the best of our knowledge this is the first instance where direct on board flow measurements have been used to locate and track LCS.

In two-dimensional (2D) flows, LCS are one-dimensional separating boundaries analogous to ridges defined by local maximum instability, and can be quantified by local measures of finite-time Lyapunov exponents (FTLE) (Shadden et al. 2005). The tracking of coherent structures in fluids is challenging since the structures are generally unstable and time dependent. Existing work have shown that it is possible to use a team of robots to collaboratively track the stable manifolds and LCS boundaries in 2D flows (Michini et al. 2014a, b, c). The strategy relies on robots maintaining a boundary saddling formation while collecting local measurements of the flow velocity. LCS tracking is achieved by fusing the data to identify the region in the flow field with the extremal velocity.

While the strategy has been validated using analytical models that describe large scale ocean circulation (Hsieh et al. 2012; Michini et al. 2014c), experimental data created in a flow tank, actual ocean data (Michini et al. 2014a), and a scaled robotic platform (Michini et al. 2014b), the work is focused on tracking the repelling LCS boundaries or stable manifolds in 2D flows. Since the identification of repelling LCS boundaries requires the computation of forward FTLEs, real-time tracking of the LCS boundaries in these existing work is achieved by solely examining the flow velocities in the region spanned by the robot team and do not rely on actual FTLE computations. As such, no explicit information can be obtained about the type of the LCS boundary being tracked. Lastly, since the LCS boundaries are not explicitly resolved, the team of robots may end up tracking a non-existent boundary.

In this work, which is an extension of the work in (Kularatne and Hsieh 2015), we present a methodology to track attracting LCS boundaries and unstable manifolds through the explicit on-board calculation of local FLTE fields. This can be done in real-time since the required FTLE calculations only use previously acquired flow velocity data. The proposed tracking strategy utilizes the FTLE field along with instantaneous local flow field measurements to resolve the attracting LCS boundary. Different from the work in (Kularatne and Hsieh 2015), in this work we

  1. (a)

    present a formation keeping strategy that is more robust to measurement uncertainty,

  2. (b)

    analyze the tracking and formation keeping strategies to provide theoretical performance guarantees, and

  3. (c)

    validate the strategy using actual ocean flow data and flow data generated in an experimental flow tank.

The remainder of this paper is structured as follows. We provide a background on characterizing LCS using local FTLE measures and then formulate the problem in Sect. 2. The development of the proposed control strategy is presented in Sect. 3 and its theoretical feasibility is analyzed in Sect. 4. Simulation and experimental results are presented in Sects. 5 and 6 respectively. We conclude with a discussion of our results and directions for future work in Sect. 7.

2 Background and problem statement

2.1 Background

In this paper we consider the problem of tracking an attractive Lagrangian coherent structure (LCS) in a 2D planar flow field of the form

$$\begin{aligned} {\dot{\mathbf{x}}}(t)={\mathbf {F}}({\mathbf {x}},t) \end{aligned}$$
(1)

where \({\mathbf {x}}=[x,y]^\prime \) gives the position in the plane with respect to some inertial frame \({\mathbf {O}}\) and \({\mathbf {x}}^\prime \) denotes the transpose of the vector \({\mathbf {x}}\).

The position of a fluid particle advected by the flow field given by (1), is a function of time t, the starting point of the particle \(\mathbf {x_0}\) and starting time \(t_0\), i.e., \({\mathbf {x}}={\mathbf {x}}(t;\mathbf {x_0},t_0)\). Using the notation used by Shadden et al. (2005), the solution to the dynamical system given in (1) can be viewed as a flow map which takes points from their initial position \(\mathbf {x_0}\) at time \(t_0\) to their position at time t. This map, denoted by \(\phi _{t_0}^t\), satisfies

$$\begin{aligned} \phi _{t_0}^t(\mathbf {x_0}) = {\mathbf {x}}(t;\mathbf {x_0},t_0), \end{aligned}$$
(2)

and has the properties \(\phi _{t_0}^{t_0}({\mathbf {x}}) = {\mathbf {x}}\) and \(\phi _{t_0}^{s+t}({\mathbf {x}}) = \phi _s^{s+t}(\phi _{t_0}^s({\mathbf {x}}))\). The finite time Lyaponov exponent (FTLE) over a finite integration time interval T, associated with a point \({\mathbf {x}}\) at time \(t_0\) is given by,

$$\begin{aligned} \sigma _{t_0}^{T}({\mathbf {x}}) = \dfrac{1}{|T |}ln\sqrt{\lambda _{max}\left( \varDelta \right) } \end{aligned}$$
(3)

where \(\lambda _{max}\left( \varDelta \right) \) is the maximum eigenvalue of the finite-time version of the Cauchy–Green deformation tensor \(\varDelta \), given by,

$$\begin{aligned} \varDelta = \dfrac{d\phi _{t_0}^{t_0+T}({\mathbf {x}})}{d{\mathbf {x}}}^{\prime }\dfrac{d\phi _{t_0}^{t_0+T}({\mathbf {x}})}{d{\mathbf {x}}}. \end{aligned}$$
(4)

The value of \(\varDelta \) is computed numerically by discretizing the domain into a regular grid and computing the trajectories of each point and its immediate neighbors in the grid from time \(t_0\) to \(t_0+T\) by numerically integrating (1) (see Fig. 1a).

In this paper, LCS are considered to be ridges in the FTLE field calculated using (3), i.e., maximal values in the FTLE field, as defined by Shadden et al. (2005). The forward-time FTLE field calculated by advecting fluid particles forward in time (\(T>0\)), reveals repelling LCS which are analogous to the stable manifolds of saddle points in a time independent flow field. Conversely, the backward-time FTLE field (\(T<0\)) reveals attracting LCS which are analogous to unstable manifolds of a time independent flow field. Figure 2 shows the forward and backward time FTLE fields computed for a time independent flow field generated using the wind driven double gyre model.

The FTLE value gives a measure of the maximum expansion of two initially nearby particles when they are advected by the flow. Therefore, particles initiated on opposite sides of an LCS will have much higher FTLE values than their neighbors, since an LCS acts as a boundary between two dynamically distinct regions of the flow (Shadden et al. 2005). Thus, by calculating the FTLE field in a neighborhood that contains an LCS, it should be possible to find the LCS boundary by tracing out points with the highest FTLE values.

Fig. 1
figure 1

a Locations of neighboring particles for the numerical computation of \(\varDelta \), b agents are initialized with the center agent of the grid in proximity of the attracting LCS

2.2 Problem statement

Let \(B_u\) denote an attractive LCS of the flow field given in (1). Since \({\mathbf {F}}({\mathbf {x}},t)\) is a 2D flow field, \(B_u\) will be a time varying 1D curve in the domain of \({\mathbf {F}}\). In this work, a team of N autonomous surface vehicles (ASVs) are used to track \(B_u\) in real-time. Each ASV is assumed to have the model given by,

$$\begin{aligned} {\dot{x}}_i&= V_i \cos \theta _i + u_i \end{aligned}$$
(5a)
$$\begin{aligned} {\dot{y}}_i&= V_i \sin \theta _i + v_i\end{aligned}$$
(5b)
$$\begin{aligned} {\dot{\theta }}_i&= \omega _i \end{aligned}$$
(5c)

where \(V_i\) is the speed of the \(i\hbox {th}\) ASV (\(P_i\)) with respect to the flow, \(\theta _i\) is its heading direction, \({\mathbf {x}}_i=[x_i,y_i]^\prime \) is its position with respect to the inertial frame \({\mathbf {O}}\) and \([u_i,v_i]^\prime = {\mathbf {F}}(\mathbf {x_i},t)\) is the velocity of the underlying flow field at \(\mathbf {x_i}\). The control inputs of the \(i\hbox {th}\) ASV are \(V_i\) and \(\omega _i\). In vector form, the velocity of \(P_i\) could be written as,

$$\begin{aligned} {\dot{\mathbf{x}}_i}(\mathbf {x_i},t) = \mathbf {V_{i/f}}(t) + {\mathbf {F}}(\mathbf {x_i},t) \end{aligned}$$
(6)

where \(\mathbf {V_{i/f}}\) is the velocity of \(P_i\) relative to the flow. Note that \(V_i\) and \(\theta _i\) are the magnitude and direction of \(\mathbf {V_{i/f}}\) respectively. We assume that each ASV has the capability to measure the flow velocity at its current position and that each ASV can communicate bi-directionally with a data processing vehicle. In practice, measuring the flow would require an agent to obtain a flow velocity measurement relative to its motion, and then obtain the inertial flow velocity by accounting for its own motion using (6). Throughout this work, we assume that the ASVs are initialized in such a way that the center ASV \(P_c\) is in close proximity to the boundary \(B_u\), and the sensing grid is straddling the boundary, as shown in Fig. 1b. Using the definitions and assumptions given above, we can now state the problem being addressed in this paper as follows:

Given an estimate for the position of a point on \(B_u\) at time \(t_0\), develop a collaborative control strategy to track \(B_u\) for time \(t>t_0\) for a team of ASVs with the kinematic model given by (5).

Fig. 2
figure 2

a Time independent flow field generated using the wind driven double gyre model. A saddle point can be observed at (1,1). Though not clearly seen additional saddle points exist at (0,0), (0,1), (0,2), (1,0), (1,2), (2,0), (2,1) and (2,2), b forward time FTLE field which reveals the stable manifolds, c backward time FTLE field which reveals the unstable manifolds (Color figure online)

3 Methodology

In the proposed methodology, the center ASV \(P_c\) is tasked with tracking the boundary \(B_u\), i.e., the trajectory of \(P_c\) will give the time evolution of a point on \(B_u\). The other ASVs in the sensing grid are required to maintain formation around \(P_c\) so that valid flow measurements are available for computing and tracking the boundary. In the proceeding sections, the position of \(P_c\) at time t is given by \(\mathbf {x_c}(t) = [x_c, y_c]'\).

3.1 Manifold tracking

The methodology proposed in this paper utilizes a combination of backward-time FTLE computations and the proper interior maximum (PIM) triple inspired tracking strategy (Hsieh et al. 2012) to locate the attractive LCS boundary.

3.1.1 Locating the LCS boundary using the FTLE field

Considering the flow velocity measurements obtained by the team of ASVs, a discrete space–time approximation could be obtained for the velocity field given in (1) as

$$\begin{aligned} \hat{\mathbf{F}}(\mathbf {x_i}(t_j),t_j) = {\mathbf {F}}(\mathbf {x_i}(t_j),t_j) \;\, i=1,\ldots ,N; \;\, j=0,\ldots ,f\nonumber \\ \end{aligned}$$
(7)

where \(t_j\) is the \(j\hbox {th}\) sampling instance and \(\mathbf {x_i}(t_j)\) is the position of the \(i\hbox {th}\) ASV at time \(t_j\). Now the flow field is represented by \(N\times (t_f+1)\) number of discrete data points. In order to calculate the backward-time FTLE field around the center agent, a set of fluid particles arranged in a grid around \(P_c\) are advected along the flow backwards in time. This is achieved by integrating the particle positions backwards in time using \(\hat{\mathbf{F}}\), i.e., \(T<0\). The resulting flow map is used in (4) and (3) to compute the backward-time FTLE field on this grid. To overcome the inherent sparseness of the available measurements, trilinear interpolation is used on \(\hat{\mathbf{F}}\) to approximate the flow velocities at spatio-temporal coordinates for which direct velocity measurements are unavailable. The interpolation should not affect the accuracy of boundary extraction since it has been shown that FTLE maxima are relatively insensitive to the interpolation scheme used in their computations (Harrison and Glatzmaier 2012) and that strong LCS are relatively robust to uncertainty (Lermusiaux and Lekien 2005; Harrison and Glatzmaier 2012). Since we assume that \(P_c\) is initialized on \(B_u\) itself, following from the discussion in Sect. 2.1, the point with the highest FTLE value on this grid will correspond to a point on the LCS. Thus, the point with the highest FTLE value in the computed FTLE field is selected as the boundary location (\(\mathbf {q_F}\)) at the current sampling instance.

3.1.2 Locating the LCS boundary using the PIM inspired strategy

Since LCS are time varying, tracking based solely on FTLE computations will tend to fail, when the time scales of the past flow velocity measurements are not representative of the time scales of the current or future time variations of the boundary. To address this, we augment the FTLE based tracking strategy with the boundary tracking strategy introduced by Hsieh et al. (2012) which is based on the PIM triple method (Nusse and Yorke 1989). We briefly summarize the strategy below and refer interested readers to (Hsieh et al. 2012; Michini et al. 2014a) for more information.

Given a team of three robots, denoted \(\{L;C;R\}\), robot C is tasked to remain close to the boundary of interest, i.e., track \(B_u\), while robots L and R are tasked to remain on opposite sides of \(B_u\) at all times. Thus the three robots will maintain a saddle straddle formation across the boundary at all times. Let \({\hat{\mathbf{u}}_L}(t) = \hat{\mathbf{F}}(\mathbf {x_L},t)\), \({\hat{\mathbf{u}}_C}(t)=\hat{\mathbf{F}}(\mathbf {x_C},t)\) and \({\hat{\mathbf{u}}_R}(t)=\hat{\mathbf{F}}(\mathbf {x_R},t)\) denote the flow velocity measurements obtained by L, C and R at their respective positions \(\mathbf {x_L}\), \(\mathbf {x_C}\) and \(\mathbf {x_R}\) at time t. The saddle straddle line segment J whose end points are defined by \(\mathbf {x_L}\) and \(\mathbf {x_R}\), is discretized such that \(\mathbf {x_L}=\mathbf {h_1}<\mathbf {h_2}<\cdots <\mathbf {h_M}=\mathbf {x_R}\). Given a set of velocity measurements \({\hat{\mathbf{u}}_i}(t)\) and corresponding position estimates \({\hat{\mathbf{x}}_i}(t)\), the flow velocity at \(\mathbf {h_k}\) is calculated as

$$\begin{aligned} \mathbf {u(h_k)} = \sum _j \sum _{i=1}^N \dfrac{w_{ij}{\hat{\mathbf{u}}_i}(j)}{\sum _s \sum _{r=1}^Nw_{rs}} \end{aligned}$$

where \(w_{ij}=\Vert {\hat{\mathbf{x}}_i}(j)-\mathbf {h_k} \Vert ^{-2}\). The location of the boundary on the current saddle straddle line segment is given by the point \(\mathbf {h_B} = \underset{k=1,\ldots ,M}{\text {arg max }}\mathbf {u(h_k)}^\prime {\hat{\mathbf{u}}_c}(t)\).

The velocity measurements obtained by the team of ASVs is used with this method to compute the boundary location on a saddle straddle line segment defined by the two immediate neighbors of \(P_c\) on either side of the boundary. The boundary location found using the PIM triple based method is denoted by \(\mathbf {q_P}\).

3.1.3 Boundary tracking

The boundary locations computed using the FTLE method and the PIM triple method are combined to get a better estimate of the actual boundary location (\(\mathbf {q_h}\)). Since \(P_c\) is tasked with tracking the boundary, any computed boundary location should be very close to the trajectory of \(P_c\). Therefore, a distance based weighted averaging scheme is used to combine \(\mathbf {q_F}\) and \(\mathbf {q_P}\) to find a better approximation for the boundary location (\(\mathbf {q_h}\)). As such

$$\begin{aligned} \mathbf {q_h} = \dfrac{d_P\mathbf {q_F} + d_F\mathbf {q_P}}{d_P+d_F} \end{aligned}$$
(8)

where \(d_F\) and \(d_P\) are the shortest distances from to \(\mathbf {q_F}\) and \(\mathbf {q_P}\) to the trajectory of \(P_c\).

Next, the Lagrangian nature of the FLTE field is used to predict the future location of the LCS boundary. It has been shown by Shadden et al. Shadden et al. (2005) that flux across an LCS is very small, i.e., a particle on an LCS will remain on the LCS or remain very close to the LCS as it advects along the flow. Therefore, we advect a fluid particle located at \(\mathbf {q_h}\) forward in time for \(T_1\) seconds using \(\hat{\mathbf{F}}\), to get an approximation of the future LCS location \({\hat{\mathbf{q}}_h}\) as indicated in Fig. 3a. Thus,

$$\begin{aligned} {\hat{\mathbf{q}}_h} = \phi _t^{t+T_1}(\mathbf {q_h}) = \mathbf {q_h}+\int _t^{t+T_1} \hat{\mathbf{F}}({\mathbf {x}},t) dt. \end{aligned}$$
(9)
Fig. 3
figure 3

a The LCS location \(\mathbf {q_h}\) is detected on the calculated FTLE grid and the flow map is used to predict the future LCS location \({\hat{\mathbf{q}}_h}\), b \(\mathbf {V_{c/f}}\) is selected such that \(\mathbf {V_{gc}}\) is always directed towards \({\hat{\mathbf{q}}_h}\)

In order for \(P_c\) to follow \(B_u\), we want \(P_c\) to head towards \({\hat{\mathbf{q}}_h}\) at all times, i.e., we want the velocity of \(P_c\) in the inertial frame, \(\mathbf {V_{gc}}\), to be directed towards \({\hat{\mathbf{q}}_h}\) at all times. As shown in Fig. 3b, this could be done by setting \(\mathbf {V_{c/f}}\) (velocity of \(P_c\) relative to the flow) appropriately. Since we have the freedom to set \( |\mathbf {V_{c/f}}|\) arbitrarily and set the direction \(\theta _d\) accordingly, we select the minimum possible value for \( |\mathbf {V_{c/f}}|\). It can be shown that this can be achieved by setting \(\mathbf {V_{c/f}} = (u_i \sin \alpha - v_i \cos \alpha ){\tilde{\mathbf{n}}}\) where \(\alpha \) is the desired direction of \(\mathbf {V_{gc}}\) as shown in Fig. 3b and \({\tilde{\mathbf{n}}} = [-\sin \alpha , \cos \alpha ]^\prime \) is the direction normal to \(\alpha \). The corresponding \( |\mathbf {V_{c/f}}|\) and \(\theta _d\) are given by,

$$\begin{aligned}&|\mathbf {V_{c/f}} |= {\left\{ \begin{array}{ll} u_i\sin \alpha -v_i\cos \alpha , \quad \alpha \ge \theta _f\\ v_i\cos \alpha -u_i\sin \alpha , \quad \alpha <\theta _f\\ \end{array}\right. } \end{aligned}$$
(10a)
$$\begin{aligned}&\theta _d ={\left\{ \begin{array}{ll} \alpha + \frac{\pi }{2}, \quad \alpha \ge \theta _f\\ \alpha - \frac{\pi }{2}, \quad \alpha <\theta _f\\ \end{array}\right. }, \end{aligned}$$
(10b)

where \(\theta _f\) is the direction of the flow as shown in Fig. 3b. Note that, according to the model of the vehicle given in (5), while it is possible to set the speed of an agent directly to a desired value,its heading direction has to be controlled using \(\omega \). Thus the velocity commands for \(P_c\) are set as,

$$\begin{aligned} V_c&= {\left\{ \begin{array}{ll} u_i\sin \alpha -v_i\cos \alpha , \quad \alpha \ge \theta _f\\ v_i\cos \alpha -u_i\sin \alpha , \quad \alpha <\theta _f\\ \end{array}\right. } \end{aligned}$$
(11a)
$$\begin{aligned} \omega _c&= K_{\omega }\left( \theta _d-\theta _c\right) +{\dot{\theta }}_d \end{aligned}$$
(11b)

where \(\theta _c\) is the current heading angle of \(P_c\) and \(\theta _d\) is given in (10).

Remark 1

The proposed tracking strategy fundamentally relies on the team’s ability to simultaneously measure the flow field on opposite sides of \(B_u\). Thus, it is possible track the LCS using a minimum of three agents. However, the spatial spread of the flow data collected with just three agents would not be sufficient for effective FTLE calculations.

3.2 Formation keeping

In order to accurately locate the boundary using backward-time FTLE calculations and to accurately predict the future LCS location, it is important that the flow velocity measurements available for these calculation are an accurate representation of the underlying flow field. As such, we require that the agents in the sensing grid

  1. (a)

    maintain a boundary straddling formation, and

  2. (b)

    maintain a sufficient spread across the boundary so as to capture the salient features of the flow across the boundary.

To achieve this, in our previous work (Kularatne and Hsieh 2015), we proposed a formation keeping strategy that utilizes the attracting property of the boundary to maintain a grid formation across the boundary. Even though this strategy was verified in simulations and experiments, the stability of the formation and consequently the accuracy of the FTLE computations depended significantly on the accuracy of the velocity measurements obtained by the team, i.e., when measurement noise was high, the team lost the boundary straddling formation and this lead to inaccurate FTLE computations. Furthermore, that strategy was geared exclusively for rectangular formations and was not scalable for large numbers of sensing agents. In this work, to address these issues and to be able to vary the spread of the sensing grid to adapt to changing flow conditions, we use a formation keeping strategy that controls the mean (\(\mu \)) and variance (\(\varsigma ^2\)) of the sensing grid [note the use of non-standard notation for the variance to distinguish it from the notation used for the FTLE in (3)].

If we control the mean of the grid such that it follows the trajectory of the center agent and if we control the variance of the grid to suit the flow characteristics, both (a) and (b) above are addressed. In addition, if the agent level controls are derived in terms of these group parameters, we address scalability issues as well. To achieve this, we use the group abstraction control strategy introduced by Belta and Kumar (2004); Belta et al. (2005), and extend it to systems with drift. Even though other shape theoretic formation control strategies exist in literature (Zhang 2010), this strategy was selected due its simplicity in implementation. In the following sections, \({\varvec{\mu }}\) and \(\varsigma ^2\) have the standard definitions, \({\varvec{\mu }} = \frac{1}{N}\sum _{i=1}^N \mathbf {x_i}\) and \(\varsigma ^2 = \frac{1}{N}\sum _{i=1}^N (\mathbf {x_i}-{\varvec{\mu }})^\prime (\mathbf {x_i}-{\varvec{\mu }})\).

3.2.1 Desired group behavior

In order to obtain the required behavior of the group, we employ the following control laws for the mean and the variance:

$$\begin{aligned} {\dot{\varvec{\mu }}}&= K_{\mu } \left( \mathbf {x_c}\left( t\right) -{\varvec{\mu }}\left( t\right) \right) + {\dot{\mathbf{x}}_c}(t) \end{aligned}$$
(12a)
$$\begin{aligned} {\dot{s}}&= K_s (s_d(t)-s(t)) + \dot{s_d}(t). \end{aligned}$$
(12b)

where \(K_\mu , K_s > 0\) and \(s = \dfrac{N\varsigma ^2}{N-1}\) is a scaled representation of the variance of the group. Now, the behavior of the sensing grid is completely defined by the desired group mean \(\mathbf {x_c}(t)\) and the desired group variance \(s_d(t)\). When the mean and the variance of the sensing grid are controlled according to these control laws, it is trivial to see that \(\mu (t) \rightarrow \mathbf {x_c}(t)\) and \(\varsigma ^2 \rightarrow \frac{N-1}{N}s_d(t)\) as \(t\rightarrow \infty \), i.e., we have achieved a boundary straddling formation around \(P_c\). Now, what is left is to select \(s_d(t)\) so that the spread of the grid is varied to adapt to changing flow conditions. Since our interest in this paper is on computing the FTLE field near an LCS boundary, we select \(s_d\) such that the standard deviation of the sensing grid \(\varsigma \), approaches the Region of Attraction (RoA) of the LCS boundary, i.e., we set \(s_d = \frac{N}{N-1}RoA^2\) so that \(\varsigma \rightarrow RoA\) as \(t\rightarrow \infty \). This will ensure that the sensing grid covers the region of attraction of the boundary and guarantee that sufficient data is available to compute the FTLE field. The details on estimating the RoA are given in “Appendix”.

3.2.2 Individual control laws

Once the group behavior is set, it is required to derive the control laws for individual agents based on the group behavior in a scalable manner. Belta et al. have shown that for a team of fully actuated, holonomic agents with the kinematics \({\dot{\mathbf{x}}_i} = {\hat{\mathbf{v}}_i}\), the individual control laws given by,

$$\begin{aligned} {\hat{\mathbf{v}}_i}={\dot{\mathbf{x}}_i} = {\dot{\varvec{\mu }}} + \dfrac{\mathbf {x_i}-{\varvec{\mu }}}{2s}{\dot{s}} \end{aligned}$$
(13)

would achieve the desired group behavior specified by \({\dot{\varvec{\mu }}}\) and \({\dot{s}}\) (Belta and Kumar 2004). Note that in (13), the control for each agent is only dependent on its own state and the required group behavior and as a result the method is scalable to a large number of agents.

In contrast to Belta et al. the ASVs in our case have a significant drift component in their kinematics. Therefore we use (6) to compute the control inputs (\(V_i\) and \(\omega _i)\) for the ASVs in (5) as,

$$\begin{aligned} V_i&= \vert \mathbf {V_{i/f}} \vert \end{aligned}$$
(14a)
$$\begin{aligned} \omega _i&= K_{\omega _i}\left( \theta _{d_i}-\theta _i\right) +{\dot{\theta }}_{d_i} \end{aligned}$$
(14b)

where \(\mathbf {V_{i/f}} = {\dot{\mathbf{x}}_i}- \mathbf {F(\mathbf {x_i},t)}\) [from (6)], and \({\dot{\mathbf{x}}_i}\) is given by (13).

Remark 2

While we do not specifically address inter-agent collision avoidance, the specified formation control strategy is guaranteed to avoid inter agent collisions (Belta and Kumar 2004). However, since the control for the center agent is independent from the controls for the other agents in the grid, collisions could occur between the center agent and other agents. Thus we do not make any claims about inter agent collision avoidance.

4 Analysis

In this section we analyze the proposed boundary tracking strategy and and the proposed formation control strategy. We show that, under certain conditions, the center agent is able to track the boundary exponentially and that the proposed formation keeping strategy is robust to measurement noise.

4.1 Tracking strategy

In the proceeding discussion \(d(\cdot ,\cdot )\) denotes the Euclidean distance function and \(\langle ,\rangle \) denotes the inner product between two vectors.

Assumption 1

The team of ASVs are initialized such that, \(d(\mathbf {x_c}(t_0),B_u)<\epsilon \) for small value of \(\epsilon > 0\).

Assumption 2

The accuracy of the boundary location computed in (8) is such that \(d(\mathbf {q_h},\mathbf {q_B})<\delta \) for a small positive value of \(\delta \) where \(\mathbf {q_B}\) is the point on the boundary curve \(B_u\) that is closest to the estimated boundary location \(\mathbf {q_h}\).

Assumption 1 ensures that the ASVs are initialized in the vicinity of the boundary and that the boundary location strategies specified in Sect. 3.1 will initially return a valid boundary location. Assumption 2 relates to the accuracy of the boundary estimation strategies specified in Sect. 3.1. The value of \(\delta \) will depend on the bounds of the sensor and actuator noise, the vector interpolation routine, the spatio-temporal resolution of the flow velocity measurements, the time scales of the flow dynamics, and the inherent environmental noise.

Proposition 1

Given a team of ASVs with kinematics given in (5), the control strategy for the center agent \(P_c\) given in (11) will ensure that \(d(\mathbf {x_c}(t),B_u)<D\) for \(t>t_0\) if Assumptions 1 and 2 are satisfied, where D is a small positive value in the order of the boundary estimation error \(\delta \), i.e., \(D = {\mathscr {O}}(\delta )\).

Proof

Let \(\mathbf {q_h} = \mathbf {q_B} + {\tilde{\mathbf{q}}}\) (see Fig. 4). Thus, \(\vert {\tilde{\mathbf{q}}} \vert = d(\mathbf {q_h},\mathbf {q_B})\), and due to Assumption 2, \(\vert {\tilde{\mathbf{q}}} \vert < \delta \). After a time interval \(T_1\), the perturbation term \({\tilde{\mathbf{q}}}\) can be written as

$$\begin{aligned} {\tilde{\mathbf{q}}}(t+T_1) = \phi _{t}^{t+T_1}(\mathbf {q_h})-\phi _{t}^{t+T_1}(\mathbf {q_B}). \end{aligned}$$

Due to the Lagrangian nature of LCS, \(\phi _{t}^{t+T_1}(\mathbf {q_B})\) gives a point on \(B_u\) at \(t=t+T_1\) and from (9), \({\hat{\mathbf{q}}_h} =\phi _{t}^{t+T_1}(\mathbf {q_h})\). Therefore, \({\tilde{\mathbf{q}}}(t+T_1)\) represents the vector from \({\hat{\mathbf{q}}_h}\) to a point on \(B_u\) and could be expanded around \(\mathbf {q_B}\) as,

$$\begin{aligned} {\tilde{\mathbf{q}}}(t+T_1) = \dfrac{d\phi _{t}^{t+T_1}(\mathbf {q_B})}{d{\mathbf {x}}}{\tilde{\mathbf{q}}} + {\mathscr {O}}(\vert {\tilde{\mathbf{q}}} \vert ^2). \end{aligned}$$

Since, \(\vert {\tilde{\mathbf{q}}} \vert < \delta \), the higher order terms are dropped, and thus the magnitude of the perturbation term can be written as,

$$\begin{aligned} \vert {\tilde{q}}(t+T_1)\vert = \sqrt{\langle {\tilde{\mathbf{q}}},\varDelta {\tilde{\mathbf{q}}} \rangle } \end{aligned}$$
(15)
Fig. 4
figure 4

The trajectory of the estimated boundary location \(\mathbf {q_h}\) versus the trajectory of a point \(\mathbf {q_B}\) on the actual boundary \(B_u\)

where \(\varDelta \) is the Cauchy–Green deformation tensor computed at \(\mathbf {q_B}\) using (4). Let the eigenvalues of \(\varDelta \) be \(\lambda _1\) and \(\lambda _2\) with \(\lambda _1 < \lambda _2\) and let the corresponding normalized eigenvectors be \(\mathbf {v_1}\) and \(\mathbf {v_2}\). Since \(\mathbf {q_B}\) is on the attracting manifold, \(\lambda _1< 1 <\lambda _2\) (Shadden et al. 2005; Wiggins 2005) and \(\mathbf {v_2}\) would be tangent to \(B_u\) at \(\mathbf {q_B}\). Using the unit vectors \(\mathbf {v_1}\) and \(\mathbf {v_2}\), \({\tilde{\mathbf{q}}}\) can be written as \({\tilde{\mathbf{q}}} = \vert {\tilde{\mathbf{q}}} \vert (\alpha \mathbf {v_1} + \beta \mathbf {v_2})\), where \((\alpha \mathbf {v_1} + \beta \mathbf {v_2})\) represents the unit vector in the direction of \({\tilde{\mathbf{q}}}\). Thus (15) can be expanded as,

$$\begin{aligned} \vert {\tilde{q}}(t+T_1)\vert = \vert {\tilde{\mathbf{q}}} \vert \sqrt{\alpha ^2\lambda _1 + \beta ^2\lambda _2 + \alpha \beta (\lambda _1+\lambda _2)\langle \mathbf {v_1},\mathbf {v_2} \rangle }\nonumber \\ \end{aligned}$$
(16)

Since, \((\alpha \mathbf {v_1} + \beta \mathbf {v_2})\) is a unit vector, it can be shown that,

$$\begin{aligned} \langle \mathbf {v_1},\mathbf {v_2} \rangle = \frac{1-\alpha ^2-\beta ^2}{2\alpha \beta }. \end{aligned}$$
(17)

Furthermore, since \({\tilde{\mathbf{q}}} = \mathbf {q_h}-\mathbf {q_B}\) is perpendicular to \(B_u\) at \(\mathbf {q_B}\), i.e., \(\langle {\tilde{\mathbf{q}}},\mathbf {v_2}\rangle = 0\), it can be shown that

$$\begin{aligned} \langle \mathbf {v_1},\mathbf {v_2} \rangle = -\beta /\alpha . \end{aligned}$$
(18)

Using (17) and (18), (16) can be reduced to,

$$\begin{aligned} \vert {\tilde{q}}(t+T_1)\vert = \vert {\tilde{\mathbf{q}}} \vert \sqrt{\lambda _1}< \vert {\tilde{\mathbf{q}}}\vert <\delta . \end{aligned}$$
(19)

As shown in Fig. 4, \(d({\hat{\mathbf{q}}_h},B_u)\le \vert {\tilde{q}}(t+T_1)\vert < \delta \). Therefore, it could be asserted that \(d({\hat{\mathbf{q}}_h},B_u)=\gamma \) with \(0<\gamma <\delta \), i.e., \({\hat{\mathbf{q}}_h}\) is closer to the boundary than \(\mathbf {q_h}\).

When the direction control given in (11b) is applied on the model given in (5c), it can be seen that the heading of the center agent \(\theta _c = \theta _d + e^{-K_\omega t}\), i.e., \(\theta _c \rightarrow \theta _d\) exponentially (note that from (10b), \(\theta _d = \alpha \pm \pi /2\) depending on the required heading angle \(\alpha \) and the direction of the flow \(\theta _f\)). Thus, when the speed control given in (11a) is applied on the model in (5), the components of the velocity of the center agent in the inertial frame (\(\mathbf {V_{gc}}\)) go to,

$$\begin{aligned} {\dot{x}}_c&= \pm (u_i\sin \alpha -v_i\cos \alpha ) \cos (\alpha \pm \pi /2) + u_i \end{aligned}$$
(20a)
$$\begin{aligned} {\dot{y}}_c&= \pm (u_i\sin \alpha -v_i\cos \alpha ) \sin (\alpha \pm \pi /2) + v_i \end{aligned}$$
(20b)

exponentially, where the sign is dependent on \(\alpha \) and \(\theta _f\). By expanding (20), it can be seen that, exponentially \({\dot{x}}_c\) and \({\dot{y}}_c\) become,

$$\begin{aligned} {\dot{x}}_c&= (u_i \cos \alpha + v_i \sin \alpha ) \cos \alpha \end{aligned}$$
(21a)
$$\begin{aligned} {\dot{y}}_c&= (u_i \cos \alpha + v_i \sin \alpha ) \sin \alpha . \end{aligned}$$
(21b)

Thus, exponentially, i.e., the control scheme given in (11) makes the heading of \(P_c\) in the inertial frame to be directed towards \({\hat{\mathbf{q}}_h}\). As such, \(d(P_c,B_u)\rightarrow \gamma \) exponentially. This together with Assumption 1 leads to \(d(\mathbf {x_c}(t),B_u)<D\) for \(t>t_0\) where \(D = {\mathscr {O}}(\delta )\). \(\square \)

4.2 Formation keeping

Let \(\delta {\mathbf {F}}(t) = [{\mathbf {F}}(\mathbf {x_1},t)-\hat{\mathbf{F}}(\mathbf {x_1},t),\ldots ,{\mathbf {F}}(\mathbf {x_N},t)-\hat{\mathbf{F}}(\mathbf {x_N},t)]^\prime \) be the error between actual and measured flow velocities, with \(\hat{\mathbf{F}}(\mathbf {x_i},t)\) denoting the measurement obtained by the \(i\hbox {th}\) agent.

Assumption 3

Each component of the measurement noise vector \(\delta {\mathbf {F}}(t)\), is an independent and identically distributed (iid) ergodic random process with a normal probability distribution (Oppenheim and Verghese 2016).

Proposition 2

The control laws defined in (14) exponentially achieves the desired group behavior specified by \(\mathbf {x_c}\) and \(s_d\) in (12), in the presence of measurement noise \(\delta {\mathbf {F}}\).

Proof

Let \({{\dot{\varvec{\mu }}}_{req}}\) and \({\dot{s}}_{req}\) be the required controls for \({\varvec{\mu }}\) and s specified in (12) to achieve the desired group behavior \(\mathbf {x_c}\) and \(s_d\). Then from (13), the required motion for agent i is, \( {\dot{\mathbf{x}}_{req_i}} = {{\dot{\varvec{\mu }}}_{req}} + \dfrac{\mathbf {x_i}-{\varvec{\mu }}}{2s}{\dot{s}}_{req} \). Letting \({\mathbf {X}} = [\mathbf {x_1},\mathbf {x_2},\ldots \mathbf {x_N}]^\prime \in {\mathbb {R}}^{2N}\), this can be rewritten as,

$$\begin{aligned} {\dot{\mathbf{X}}_{req}} = \mathbf {A}{\dot{{\varvec{\mu }}}}_{req} + \dfrac{{\mathbf {X}}-\mathbf {A\mu }}{2s}{\dot{s}}_{req} \end{aligned}$$
(22)

where \({\mathbf {A}} = [\overbrace{\mathbf {I_2},\mathbf {I_2},\ldots ,\mathbf {I_2}}^\text {N times}]^\prime \) with \(\mathbf {I_2}\) specifying the \(2\times 2\) identity matrix. From (6), the required velocity command for the team to achieve this required motion is,

$$\begin{aligned}{}[\mathbf {V_{i/f}}]_{req} = {\dot{\mathbf{X}}_{req}} - \left[ {\mathbf {F}}(\mathbf {x_1},t),{\mathbf {F}}(\mathbf {x_2},t),\ldots ,{\mathbf {F}}(\mathbf {x_N},t)\right] ^\prime \end{aligned}$$

where \([\mathbf {V_{i/f}}]_{req}\) denotes the vector of required velocity commands for the team. However, the actual velocity commands applied by the agents will depend on the measured flow velocities rather than the actual flow velocities. Thus,

$$\begin{aligned}{}[\mathbf {V_{i/f}}]_{act} = {\dot{\mathbf{X}}_{req}} - \left[ \hat{\mathbf{F}}(\mathbf {x_1},t),\hat{\mathbf{F}}(\mathbf {x_2},t),\ldots ,\hat{\mathbf{F}}(\mathbf {x_N},t)\right] ^\prime \end{aligned}$$
(23)

where \([\mathbf {V_{i/f}}]_{act}\) denotes the vector of velocity commands actually applied by the team. Thus, using (6), the actual motion of the team is given by,

$$\begin{aligned} {\dot{\mathbf{X}}} = [\mathbf {V_{i/f}}]_{act} + \left[ {\mathbf {F}}(\mathbf {x_1},t),{\mathbf {F}}(\mathbf {x_2},t),\ldots ,{\mathbf {F}}(\mathbf {x_N},t)\right] ^\prime \end{aligned}$$

which, using (23), can be reduced to,

$$\begin{aligned} {\dot{\mathbf{X}}} = {\dot{\mathbf{X}}_{req}} + \delta {\mathbf {F}} \end{aligned}$$
(24)

Using the definition of \({\varvec{\mu }}\), we can write \({\dot{\varvec{\mu }}}\) in terms of \({\dot{\mathbf{X}}}\) as,

$$\begin{aligned} {\dot{\varvec{\mu }}} = \frac{1}{N}\sum _{i=1}^N {\dot{\mathbf{x}}_i} = \frac{{\mathbf {A}}^\prime }{N}{\dot{\mathbf{X}}}. \end{aligned}$$

Thus, using (22) and (24), we can write,

$$\begin{aligned} {\dot{\varvec{\mu }}} = {{\dot{\varvec{\mu }}}_{req}} + \frac{{\mathbf {A}}^\prime }{N}\delta {\mathbf {F}}. \end{aligned}$$
(25)

Using a similar approach we can write,

$$\begin{aligned} {\dot{s}} = {\dot{s}}_{req} + \frac{\mathbf {X-A\mu }^\prime }{N-1}\delta {\mathbf {F}}. \end{aligned}$$
(26)

To achieve the desired group behavior for the mean of the group (specified by \(\mathbf {x_c}\)), from (12), \({\dot{\varvec{\mu }}}_{req} = K_{\mu } \left( \mathbf {x_c}-{\varvec{\mu }}\right) + {\dot{\mathbf{x}}_c}\). Thus, (25) can be reduced to,

$$\begin{aligned} {\dot{\varvec{\mu }}} = K_{\mu } \left( \mathbf {x_c}-{\varvec{\mu }}\right) + {\dot{\mathbf{x}}_c} + \frac{{\mathbf {A}}^\prime }{N}\delta {\mathbf {F}}. \end{aligned}$$

Solving above, we can get the actual time variation of \({\varvec{\mu }}\) under the influence of measurement noise as,

$$\begin{aligned} {\varvec{\mu }}(t) = \mathbf {x_c}(t) + \left( {\varvec{\mu }} (0) - \mathbf {x_c}(0)\right) e^{-K_\mu t} + \int _0^t \frac{{\mathbf {A}}^\prime }{N}\delta {\mathbf {F}} d\tau . \end{aligned}$$

From Assumption 3, each component of \(\delta {\mathbf {F}}\) is a normally distributed ergodic random process. Therefore, \(\int _0^t \frac{{\mathbf {A}}^\prime }{N}\delta {\mathbf {F}} d\tau \rightarrow 0\) as \(t\rightarrow \infty \) (Oppenheim and Verghese 2016). Thus, it can be seen that, \({\varvec{\mu }}(t) \rightarrow \mathbf {x_c}(t)\) exponentially.

Using similar constructions on (26), it can be shown that \(s(t) \rightarrow s_d(t)\) exponentially. \(\square \)

5 Simulation results

In this section, we validate the proposed LCS tracking strategy in simulations. The strategy is validated on 2D periodic flows given by the time dependent wind driven double gyre model, experimental 2D flow data generated in a lab setup and ocean current data obtained from the naval coastal ocean model (NCOM) database.

In each of the simulation scenarios, the mean tracking error (MTE) was used to verify the accuracy of the tracking strategy. The mean tracking error was computed as,

$$\begin{aligned} MTE = \frac{1}{n_f} \sum _{i=1}^{n_f} \left( \mathbf {x_c}\left( t_i\right) -\mathbf {q_B}\left( t_i\right) \right) \end{aligned}$$
(27)

where \(n_f\) is the number of sampling instances, and \(\mathbf {q_B}(t_i)\) is the point on the actual boundary curve \(B_u\), that is closes to the center agent location \(\mathbf {x_c}(t_i)\) at the \(i\hbox {th}\) sampling instance. \(\mathbf {q_B}\) was computed by running a ridge tracking algorithm on the actual FTLE field computed for the underlying flow field.

5.1 Time dependent wind driven double gyre flow

In this section we use a flow field generated using the wind-driven double-gyre flow model for the simulations. In this case, the flow is given by

$$\begin{aligned} u({\mathbf {x}},t)&= -\pi A \sin \left( \pi \frac{f(x,t)}{s}\right) \cos \left( \pi \frac{y}{s}\right) - \mu x, \end{aligned}$$
(28a)
$$\begin{aligned} v({\mathbf {x}},t)&= \pi A \cos \left( \pi \frac{f(x,t)}{s}\right) \cos \left( \pi \frac{y}{s}\right) \frac{df}{dx} - \mu y, \end{aligned}$$
(28b)
$$\begin{aligned} f(x,t)&= \varepsilon \sin (\omega t + \psi ) x^2 + (1 - 2 \varepsilon \sin (\omega t+ \psi )) x. \end{aligned}$$
(28c)

When \(\varepsilon = 0\), the double-gyre flow is time-independent, while for \(\varepsilon \ne 0\), the gyres undergo a periodic expansion and contraction in the x direction. In (28), A approximately determines the amplitude of the velocity vectors, \(\omega /2\pi \) gives the oscillation frequency, \(\varepsilon \) determines the amplitude of the side to side motion of the separatrix between the gyres, \(\psi \) is the phase, \(\mu \) determines the dissipation and s scales the dimensions of the workspace. Simulations were run with \(A=0.02\), \(\varepsilon = 0.1\), \(\omega =2\pi /30\), \(s=1\) and \(\mu =0\). The flow field and the corresponding FTLE field are very similar to those shown in Fig. 2. A team of 15 ASVs was used to track an attracting LCS on this flow. Snapshots of the tracking is shown in Fig. 5, and the mean tracking error (MTE) for this case was found to be 0.011 m. The mean performance parameters for tracking with various number of ASVs are given in Table 1. The values shown for each sensing grid size, have been averaged over five runs where each run had a unique set of initial conditions. It can be seen that the performance parameters are relatively unchanged for different sensing grid sizes.

Fig. 5
figure 5

Tracking an attracting LCS in a flow generated using (28) with \(A=0.02\), \(\varepsilon = 0.1\), \(\omega =2\pi /30\), \(s=1\) and \(\mu =0\), a \(\hbox {t} = 31\) s, b \(\hbox {t} = 38.5\) s, c \(\hbox {t} = 45\) s, d \(\hbox {t} = 52\) s (Color figure online)

Fig. 6
figure 6

a Experimental setup used to generate the data, b FTLE field computed from a snapshot of collected data (Color figure online)

Table 1 Tracking and formation keeping performance for different sensing grid sizes

5.2 Experimental flow data

The performance of the proposed tracking strategy was tested on data generated in an experimental flow tank. The tank, termed as the HiRe tank due to the Reynolds number regime of the flows it produces, is part of the multi-robot coherent structure test bed (mCoSTe) at Drexel University. The HiRe tank measures \(60\times 60\times 30\,\hbox {cm}^3\) and is capable of generating repeatable and controllable quasi-2D flows which exhibit LCS similar to those in the ocean. A flow was generated using a \(3\times 4\) array of cylinders rotating at 60 rpm and the flow velocities were captured using a particle image velocimetry (PIV) system. In this method, the flow is seeded with particles that accurately follow the flow, and a set of high speed cameras are used to obtain instantaneous snapshots of the flow. These images are post processed to obtain the flow velocity description. Interested readers are referred to (Larkin 2015) for additional information on the generation of flow data and to (Raffel et al. 2007) for more information on the PIV technique. The tank setup and a snapshot of a backward time FTLE field computed using this data is shown in Fig. 6.

A team of 20 agents was to used track attracting LCS in the captured data. Snapshots of the tracking progress is shown in Fig. 7. The mean tracking error (MTE) for this case was found to be 1.1 mm. The mean performance parameters for tracking with various number of ASVs are given in Table 2. The values shown for each sensing grid size, have been averaged over five runs where each run had a unique set of initial conditions. It can be seen that the MTE and \(\mu \) error values are similar when \(N\ge 15\). However, MTE and \(\mu \) error values are comparatively higher when \(N=5\). To assess the performance of the strategy in the presence of measurement noise, the simulation was repeated with white noise added to the velocity measurements. Three cases were considered, where the standard deviation of the noise were 5, 15 and 20% of the mean flow velocity on the boundary. The mean performance parameters for these three cases are given in Table 3. As expected, the tracking error increases with increasing noise levels. However, considering the fact that each gyre like cell in the flow is approximately \(100\times 100\,\hbox {mm}^2\), the tracking errors are extremely small even at high noise levels. In addition, as shown in Proposition 2, the error between expected and actual group behaviors (\(\mu \) and s) is relatively unaffected by noise.

Fig. 7
figure 7

Tracking an attracting LCS in the experimental data generated from the flow tank, a \(\hbox {t} = 4.3\) s, b \(\hbox {t} = 7\) s, c \(\hbox {t} = 9.8\) s, d \(\hbox {t} = 12.5\) s (Color figure online)

Table 2 Tracking and formation keeping performance for different sensing grid sizes
Table 3 Tracking and formation keeping performance at different noise levels

5.3 Ocean data

We implemented the tracking strategy on ocean current data obtained from the naval coastal ocean model (NCOM) database hosted by the Scripps Institution of Oceanography at the University of California, San Diego (SCRIPPS 2014).

In particular, we used ocean current data from May 2012 for the Santa Barbara Channel along the California coast. This region is instrumented with several high frequency radar stations which provide hourly surface current measurements on a 2 km grid. There is a recurring small scale eddy in this region, which results in an area of highly divergent flow between the mainland and the San Miguel island. This flow feature clearly shows up as a repelling LCS boundary in the forward-time FTLE field. Since our focus is on attracting LCS boundaries and since we were not able to find such a boundary in the available data, we reversed the time stamps and the flow velocity directions in the available ocean current data to convert this repelling boundary to an attracting boundary. The corresponding velocity field and the backward-time FTLE field are shown in Fig. 8. An attracting LCS boundary can be clearly seen extending from the San Miguel island to the mainland.

Fig. 8
figure 8

a Time and direction reversed ocean current data for the Santa Barbara Channel for May 2012, b the corresponding backward-time FTLE field. An attracting LCS can be observed between the mainland and the San Miguel island (Color figure online)

A team of 30 agents, initialized with the center agent of the grid coincident on the LCS, was used to track this LCS boundary. Snapshots of the tracking progress is shown in Fig. 9. The black line indicates the trajectory traced by the center agent \(P_c\). The mean tracking error (MTE) was computed to be 92 m. Table 4 shows the performance values for different sensing grid sizes, where the values have been averaged over five runs for each case. It can be seen that the MTE decreases as the number of agents in the grid is increased. Figure 10 shows the changes in standard deviation \(\varsigma \) commanded by the strategy. Note that, the commanded standard deviation is equal to the computed RoA estimate.

Table 4 Tracking and formation keeping performance for different sensing grid sizes
Fig. 9
figure 9

Tracking an attracting LCS in the Santa Barabara channel. The black line shows the trajectory of \(P_c\). The agents maintain a saddle straddle formation around the center agent, a \(\hbox {t} = 2.1\) h, b \(\hbox {t} = 10.9\) h, c \(\hbox {t} = 17.2\) h, d \(\hbox {t} = 24.1\) h (Color figure online)

In order to asses the performance of the strategy in the presence of measurement noise, the velocity measurements obtained by each agent were corrupted with white noise. Three cases with different standard deviations for the noise were considered. In the three cases, the standard deviations were set at 5, 15 and 25% of the mean flow velocity along the boundary respectively. The mean performance parameters for the three cases are given in Table 5. A degradation of the tracking error can be observed with increasing noise. However, it should be noted that the spatial scales considered in these simulations are in tens of kilometers. Hence, an error of \({\approx } 0.5\) km at high noise levels is quite satisfactory. It can also be seen that, similar to the simulations using tank data, the level of noise has little to no impact on the error between expected and actual group behaviors (\(\mu \) and s).

6 Experiments

In this section we evaluate the methodology proposed in Sect. 3 employing our indoor laboratory experimental testbed mCoSTe. We employ the multi robot (MR) tank and a fleet of micro-autonomous surface vehicles (mASV), both of which are constituents of the mCoSTe, to validate the proposed tracking strategy. The mASVs are differential drive autonomous surface vehicles equipped with a micro-controller board, XBee radio module, and an inertial measurement unit (IMU). The vehicles are approximately 12 cm long and have a mass of about 45 g each. Localization for the mASVs is provided by an external motion capture system. The MR tank which is \(3\times 3\times 1\,\hbox {m}^3\) in size, is designed to accommodate the operation of several mASVs and is able to create time-independent flow fields that exhibit kinematic and transport features similar to those observed in the ocean. For additional details about the various components of the mCoSTe and the quality of the flows that can be created using the mCoSTe, we refer the interested reader to (Larkin et al. 2014).

Fig. 10
figure 10

The standard deviation commanded by the strategy

Table 5 Tracking and formation keeping performance at different noise levels
Fig. 11
figure 11

ad The positions of the sensing grid overlaid on top of the FTLE field of the simulated flow. The green triangle shows the position of the mASV functioning as the center agent while the other mASVs are shown as red triangles. The virtual ASVs are shown in white. eh Simulated flow and the virtual ASVs (blue) overlaid on the surface of the MR tank. The actual mASVs can be seen in red (\(P_c\)), orange and purple, a \(\hbox {t} = 0\) s, b \(\hbox {t} = 7.8\) s, c \(\hbox {t} = 16.4\) s, d \(\hbox {t} = 22.9\) s, e \(\hbox {t} = 0\) s, f \(\hbox {t} = 7.8\) s, g \(\hbox {t} = 16.4\) s, h \(\hbox {t} = 22.9\) s (Color figure online)

Ideally, it is desirable to test the performance of the tracking strategy using real time flow velocity measurements obtained by the mASVs. However, currently the mASVs are not able to obtain flow velocity measurements that are accurate enough to carry out the necessary computations. Therefore, instead of creating an actual flow field in the the MR tank, we overlay a simulated flow field on the surface of the MR tank and obtain simulated flow velocity measurements depending on the positions of the mASVs. This also allows us to use virtual ASVs in combination with actual mASVs in the experiments.

For the experimental validation of the strategy, we employed 3 mASVs along with 7 virtual ASVs. One of the mASVs was considered to be the center agent \(P_c\). The same flow field used for the simulations in Sect. 5.1 was used for the experiment. Figure 11 shows snapshots of the tracking performance in the tank. The top row of figures (a–d), shows the positions of the sensing grid on the FTLE field of the flow field considered. The mASV functioning as the center agent is shown in green and the other three mASVs are shown in red. The virtual ASVs are shown in white. In the bottom row of figures (e–h), the simulated flow field and the virtual ASVs are overlaid on images of the mASVs in the MR tank. The virtual ASVs are represented as blue triangles and the actual mASVs can be seen in red, orange and purple. The mean tracking error in this experiment was 0.014 m. The experiment was repeated five times for different initial conditions and the results were recorded. The performance parameters for these runs are given in Table 6.

Table 6 Tracking and formation keeping performance for five different experimental runs

7 Conclusions and future work

In this work, we developed a methodology to track attracting LCS boundaries through the explicit on-board calculation of local FLTE fields. We have demonstrated how robotics systems could be used track dynamical features in a flow field that provide insights into the surrounding fluidic dynamics. The proposed method was verified in simulations using analytical flow fields as well as actual flow velocity data. In addition, the strategy was also verified using actual ASVs in an indoor laboratory testbed. Theoretical guarantees for the tracking and formation keeping strategies were also presented. We have also shown that the tracking and formation keeping strategies are robust to measurement noise.

The formation keeping strategy presented here focuses on spreading the sensing grid around the center agent such that they cover the region of attraction of the boundary. Alternatively, we could spread the grid to an optimal value, that would produce flow velocity measurements leading to the best possible FTLE computations. However, obtaining such an optimal value requires deeper analysis of the flow surrounding the LCS boundary and is a direction for future work. In addition, we would also like to verify the proposed strategy experimentally on actual flows in the MR tank. Currently work is underway to develop a method to obtain real time flow velocity measurements from the MR tank, that would facilitate such an experiment.