Tracking Multiple Surface Vessels with an Autonomous Underwater Vehicle: Field Results

Page created by Eddie Taylor
 
CONTINUE READING
Tracking Multiple Surface Vessels with an Autonomous Underwater Vehicle: Field Results
©2020 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future
media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or
                                                                                                                                            1
                   redistribution to servers or lists, orreuse of any copyrighted component of this work in other works.
                                                   https://doi.org/10.1109/JOE.2020.3015415

     Wolek, A., McMahon, J., Dzikowicz, B. R., and Houston, B. H. (2021). Tracking Multiple Surface Vessels with an Autonomous
                             Underwater Vehicle: Field Results. IEEE Journal of Oceanic Engineering.

        Tracking Multiple Surface Vessels with an
      Autonomous Underwater Vehicle: Field Results
                  Artur Wolek∗ , James McMahon† , Benjamin R. Dzikowicz† , and Brian H. Houston†
                         ∗ Department of Mechanical Engineering and Engineering Science,

                            The University of North Carolina at Charlotte, Charlotte, NC
                                               Email: awolek@uncc.edu
                                       † Code 7130, Physical Acoustics Branch,

                                    Naval Research Laboratory, Washington, D.C.

   Abstract—This paper describes the development and testing            length of the array (tens or hundreds of meters) reduces ma-
of a passive sonar, multi-target tracker, and adaptive behavior         neuverability and increases system complexity. Alternatively,
that enable an autonomous underwater vehicle (AUV) to de-               rigid hull-mounted sonars have a shorter-aperture but are more
tect and actively track nearby surface vessels. A planar hull-
mounted hydrophone array, originally designed for active sonar,         compact. For example, AUVs have been outfitted with cross-
is repurposed for passive sonar use and provides acoustic data          track arrays (e.g., embedded in the wings of a glider [15]),
to a time-delay-and-sum beamformer that generates multiple              rigid planar arrays [9], line arrays [4], or volumetric arrays
angle-only contacts. A particle filter tracker assimilates these        that facilitate range estimation [2], [3], [10]. Here, a tracking
contacts with a single-hypothesis data association strategy to          system is developed that repurposes the receive array and data
estimate the position and velocity of targets. Summary statistics
of each track are periodically reported to an onboard database,         acquisition system of a hull-mounted active sonar [21] for
along with qualitative labels. To improve tracking performance,         passive sonar use. Although the sonar was not purpose-built
detections trigger an adaptive behavior that maneuvers the AUV          for passive sensing, the proposed approach enables detect-
to maintain multiple targets in the field of view by minimizing         ing and tracking nearby vessels without requiring additional
the worst-case aspect angle deviation from broadside (across            hardware. The paper describes the acoustic signal processing
all targets). The tracking system is demonstrated through at-
sea experiments in which a Bluefin-21 AUV adaptively tracks             chain, multi-target tracker, and a novel adaptive behavior that
multiple surface vessels, including another autonomous platform,        maneuvers the AUV to improve tracking performance.
in the approaches to Boston Harbor.                                        AUVs have historically been deployed along pre-
   Index Terms—Autonomous underwater vehicle (AUV), adap-               programmed routes to record acoustic data for later analysis
tive behavior, multi-target tracking, passive sonar.                    [2], [3], [22]–[26]. However, adaptive behaviors that direct
                                                                        AUV motion in real-time are increasingly common. Acous-
                                                                        tically detecting the presence of a surface vessel can trigger
                       I. I NTRODUCTION                                 surfacing and diving [11] or avoid collisions [10]. Behaviors
   Detecting and tracking moving targets with a passive sonar           can maneuver an array to resolve a target’s port/starboard
onboard an autonomous underwater vehicle (AUV) enables                  position ambiguity [8], [9], [27], maintain a target broadside
ship traffic monitoring [1], undersea surveillance [2]–[5], and         [9], [27], [28], or close range to a target [7], [8], [29].
marine life observation [6]–[8]. Target tracking also provides          External moored passive acoustic systems can guide an AUV
situational awareness to aid in mitigating collisions [9]–[12].         to intercept a target [30]. Teams of AUVs can cooperatively
Passive tracking is challenging because of the complexity of            localize a static source [18], track a moving target by encir-
underwater sound transmission and the presence of high levels           cling it [31], or collectively keep a moving target broadside
of background noise and interfering sources [13]. AUVs with             [27]. Behaviors have also been developed for systems that
passive (or active) sonar often undergo extensive modifications         detect multiple targets; however, only one target is tracked
to reduce self-generated noise that arises from mechanical              at a time. For example, by minimizing the trace of a target
sources (e.g., actuators, fans) [14] or from the hydrodynamic           estimate covariance matrix of the track with a highest track
flow around the vehicle [15]. Tracking is further complicated           score [32] using myopic heading control [33] or nonmyopic
by the fact that the source strength and frequency spectrum of          receding horizon control [32]. Switching from a loiter to a
surface vessels is unknown [16], ship noise radiates asymmet-           broadside behavior around the strongest contact has also been
rically [16], and ship noise varies with ship speed and turn rate       demonstrated [28]. Rather than tracking individual targets,
[17]. To measure the relative bearing of a moving noise source,         this work demonstrates balancing tracking of multiple targets
an array of hydrophones attached to a long flexible cable is            simultaneously by maneuvering the AUV to minimize the
often towed behind an AUV [18]–[20]. Towed array sonars are             worst-case aspect angle deviation from broadside (across all
ideal for long range and high resolution measurements, but the          targets).
Tracking Multiple Surface Vessels with an Autonomous Underwater Vehicle: Field Results
2

   Conventional pulsed [28], [32]–[36] or continuous active         sonar data that allows efficient track exfiltration to command
[37] sonar tracking experiments with AUVs are closely related       and control (C2) entities via low bandwidth communications,
to experiments with passive sonar. However, active multistatic      such as acoustic modems.
systems generate range measurements and require different               The paper is organized as follows. Section II describes
signal processing and infrastructure (e.g., low-noise sensors       the target motion model, measurement model, and particle
and data acquisition to mitigate electromagnetic or acoustic in-    filter for single-target tracking. Section III overviews multi-
terference). Furthermore, sensor networks with active elements      target tracking, the track-labeling scheme, and the adaptive
may not be suitable for the single-vehicle missions envisioned      behavior. Section IV describes the vehicle platform, autonomy
here.                                                               architecture, and the experiment design. Section V discusses
   Many passive tracking experiments with AUVs utilize cal-         field results. Lastly, Sec. VI concludes the paper.
ibrated acoustic sources [4], [18], [38], simulated bearing
sensors [29], or acoustically tagged targets [8] as a proxy
for actual ship noise. Prior experiments that processed ship                       II. S INGLE -TARGET T RACKING
noise in real-time focused on detection [10], [11] and bearing         This section describes the single-target tracking approach,
measurement [4], [9] for a single target. In [39] a wave glider     including: the target motion model for surface vessels, the
detects, tracks, and classifies multiple surface vessels with a     passive sonar sensor model that generates aspect angle mea-
towed volumetric hydrophone array, but it does not actively         surements, and the particle filter that estimates the position
maneuver in response to targets. This paper adds to the limited     and velocity of a target. First, some prerequisite notation is
literature on passive tracking of actual platform noise in real-    introduced.
time by an AUV. Our approach detects multiple noise sources
as peaks of an energy amplitude versus aspect angle curve that
is generated by a time-delay-and-sum beamformer. Contacts           A. Notation
are assimilated by a multi-target tracker to estimate the state        Bold lowercase letters denote real-valued vectors, e.g., x ∈
of surface vessels, and the AUV maneuvers in response.              Rn , and bold uppercase letters denote real-valued matrices,
   Techniques for inferring target motion from acoustic mea-        e.g., P ∈ Rm×n . Let x ∼ N (µ, σ 2 ) denote a normally
surements are well known [40]. State estimation involves            distributed random
assimilating noisy measurements to estimate the position and                          √ variable with probability density
                                                                                                                     2
                                                                                                                           function
                                                                    g(x; µ, σ 2 ) = (σ 2π)−1 exp(−1/2 [(x − µ)/σ] ), where µ is
velocity of one or more targets. Various filtering techniques       the mean, and σ 2 is the variance. Similarly, let x ∼ N (µ, Σ)
have been implemented onboard AUVs for single-target track-         denote a normally distributed random vector with vector mean
ing. These include alpha-beta filters for bearing stabilization     µ and covariance matrix Σ.
[4], particle filters [8], [31], or extended Kalman filters [27].
Kalman filtering can incorporate state-dependent noise statis-
tics of hydrophone arrays [18]. Multi-target tracking (also         B. Discrete-Time Constant Velocity Target Model
single-target tracking in clutter) is challenging because it
                                                                       The discrete-time motion of a target surface vessel is rep-
requires a mechanism for data association, i.e., pairing mea-
                                                                    resented by a constant velocity second-order kinematic model
surements with tracks [13]. Most work involving real-time data
                                                                    subject to position and velocity disturbances. The target state
association onboard AUVs has been conducted at the NATO                                                            T
                                                                    at the kth timestep is xk = [nk ṅk ek ėk ] , where nk and
Undersea Research Center and considers data association for
                                                                    ek are the northing and easting of the target, respectively, and
a single-target with a Kalman filter [33] or for multiple targets
                                                                    ṅk and ėk are the target velocities. The state equation is [41,
with a particle filter [35] using an active multistatic network.
                                                                    p. 269]
Our work is related; however, we consider data association
for multi-target tracking using a passive acoustic system and
                                                                                                                        
                                                                                1 Tk 0 0               nk−1          (wn )k
a particle filter. Our formulation accounts for passive sonar                 0 1 0 0   ṅk−1   (wṅ )k 
sensor limitations, such as endfire saturation and port/starboard      xk =  0 0 1 Tk   ek−1  +  (we )k  , (1)
                                                                                                                         
ambiguity. We devise a rules-based approach to label tracks                     0 0 0 1                ėk−1         (wė )k
qualitatively so that they provide contextual information to                 |         {z         } | {z } |           {z    }
                                                                                      Fk              xk−1            wk
other onboard processes.
   The contributions of this paper are the development and          where Fk is the state-transition matrix, and Tk = tk − tk−1
experimental at-sea demonstration of: (1) an onboard passive        is a fixed sampling time required to record a frame of data
acoustic signal processing chain for multi-target detection and     from the passive sonar. The zero-mean Gaussian random
aspect angle measurement using an AUV with a rigid hull-            disturbance vector wk ∼ N (0, Wk ) has covariance matrix
mounted array; (2) a tracking framework that estimates multi-       Wk = diag([σp2 σv2 σp2 σv2 ]T )Tk , where σp and σv are process
ple targets while considering passive sonar sensor limitations      noise parameters. The speed of the target
and providing qualitative track labels; and (3) an autonomous                                     q
behavior that balances tracking of multiple targets by maneu-                             vk = ṅ2k + ė2k                      (2)
vering to maintain them in the field of view. The onboard
signal processing demonstrated in these experiments exhibits        is bounded by a minimum and maximum speed, i.e., vk ∈ V,
a data reduction of several orders of magnitude from the raw        where V = [vmin , vmax ].
Tracking Multiple Surface Vessels with an Autonomous Underwater Vehicle: Field Results
3

                                                                           are detected if rk ∈ R, where R = [rmin , rmax ] defines the
                                                                           sonar’s sensing range. (A maximum range rmax is assumed for
                                                                           target estimation; however, in principle, the range of a passive
                                                                           sonar is unlimited, as it depends on the acoustic source level
                                                                           and the presence of noise.)

                                                                           D. Likelihood Function
                                                                              In Bayesian target estimation, the likelihood function is the
                                                                           relative probability of a measurement (i.e., the aspect angle
                                                                           y ∈ [0, π]) for all target states (i.e., positions and speeds
                                                                           x ∈ R4 ). However, the likelihood is not a probability density
                                                                           function—it does not necessarily integrate to unity across
                                                                           the target state space. The likelihood is designed from the
                                                                           measurement equation (6) and other practical considerations
Fig. 1: Geometry of the passive sonar model with an axially oriented
                                                                           on the target speed and sensor range limits as follows.
hull-mounted hydrophone array. The vehicle has blind spots at endfire         The measurement space of aspect angles is partitioned into
(i.e., in front and behind). The effective field of view angle is ϕ. The   three regions Ef ∪ F ∪ Ea = [0, π], where Ef = [0, αf ] is
sonar reports an aspect angle α that is port/starboard ambiguous.          the fore endfire region, F = (αf , αa ) is the field of view, and
                                                                           Ea = [αa , π] is the aft endfire region. Measurements in endfire,
                                                                           Ea or Ef , are assumed to be saturated and handled as a special
C. Passive Sonar Sensor Model                                              case by the multi-target tracker (described later in Sec. III).
   The observing AUV (also referred to as the ownship) has                 States that lie outside the speed or range interval, V or R,
state pk = [nok eok ψko ]T at time tk , given by its northing nok ,        respectively, have zero likelihood. To express this condition,
easting eok , and heading ψko . The bearing of a target relative to        an indicator function IA : Rd → {0, 1} maps a d-dimensional
the ownship is                                                             vector x ∈ Rd to 1 if x ∈ A ⊂ Rd and to zero otherwise. For
                βk (xk , pk ) = atan(∆Ek /∆Nk ) ,                   (3)    a given target and ownship state, the speed, aspect angle, and
                                                                           range, are computed using (2), (4), and (7), respectively. The
where ∆Ek (xk , pk ) = ek − eok and ∆Nk (xk , pk ) = nk − nok              product of the indicator function and a Gaussian distribution
are relative distances. The target bearing and ownship heading             about the measurement is the likelihood
are measured clockwise from north. The aspect angle of the
target                                                                                  L(y|x; p) = IV×R (v, r)g(α; y, σy2 ) ,             (8)
               αk (xk , pk ) = d] (ψko , βk (xk , pk ))    (4)
                                                                           where g(·) is given in Sec. II-A. The likelihood (8) is the
is the conical angle measured relative to vehicle’s heading (see           basis for the measurement update step of the particle filter, as
Fig. 1), where d] (·, ·) : S × S → [0, π] returns the shortest un-         described next.
signed angular distance between two input angles. According
to (4), if a target is fore (i.e., in front of the ownship) the aspect
                                                                           E. Single-Target Tracking using a Particle Filter
reads zero, and if the target is aft (i.e., behind the ownship)
it reads π. The measurement is port/starboard ambiguous and                   Target tracking estimates the state xk of a target with
does not distinguish between a noise source on the port or                 dynamics (1) from a series of noisy measurement y1:k =
starboard sides of the axial array. Define the possible port               {y1 , . . . , yk } obtained via (6) at times {t1 , . . . , tk }. The
and starboard bearings for a given aspect angle and ownship                estimated target state is a random vector characterized by
heading as                                                                 the posterior probability density function (pdf) p(xk |y1:k ).
                                                                           A recursive Bayesian estimator infers the target state from
    βport (α, ψ) = ψ − α       and    βstar (α, ψ) = ψ + α .        (5)    measurements and the target motion model using Bayes Rule
The measured aspect angle is corrupted by additive zero-mean               [42, Ch. 15]:
Gaussian noise qk ∼ N (0, σy2 ) and subject to saturation limits                                         L(yk |xk )p(xk |y1:k−1 )
due to endfire. Thus, the aspect angle sensor reports                                   p(xk |y1:k ) =                            ,        (9)
                                                                                                             p(yk |y1:k−1 )
               yk = sat(αk (xk , pk ) + qk ; αf , αa ) ,            (6)    where p(xk |y1:k−1 ) is the target pdf after the motion update
where sat(x; xlb , xub ) is a saturation function that bounds              (computed by applying the Chapman-Kolmogorov equation
a scalar input x between a lower bound xlb and an upper                    with the state transition probability p(xk |xk−1 ) from (1) and
bound xub . The constants αf = (π − ϕ)/2 and αa = π − αf                   the prior p(xk−1 |y1:k−1 )), L(yk |xk ) is the likelihood of the
are the minimum (fore) and maximum (aft) aspect angles,                    measurement (8), and p(yk |y1:k−1 ) is a normalizing constant.
respectively, where ϕ < π is the effective field of view angle             The recursive Bayesian estimator applies to nonlinear systems,
(see Fig. 1). Targets at a range                                           but since closed form expressions for (9) only exist for some
                           q                                               special cases (e.g., with linear dynamics and measurement
                     rk = ∆Ek2 + ∆Nk2                      (7)             equation), the particle filter is adopted here.
Tracking Multiple Surface Vessels with an Autonomous Underwater Vehicle: Field Results
4

   A particle filter represents the target pdf p(x|y) by a                         d) Roughening [43]: Compute the maximum differ-
set of N particles x(i) ∈ R4 and weights w(i) ∈ R, for                                ence across each particle dimension mk (l) ←
                                                                                                           (i)∗    (j)∗
i ∈ {1, . . . , N }. The filter recursively applies (9) as described                  maxi,j∈{1,...,N } |xk (l)−xk (l)|+mmin , where
in the following PARTICLE F ILTER algorithm, adapted from                                             (i)∗
                                                                                      mk (l) and xk (l) denote the lth element of mk
[42, Sec. 15.2]. At the beginning of the kth timestep, particles                             (i)∗
                                                                                      and xk , respectively, for l ∈ {1, 2, 3, 4}, and
are distributed according to the prior pdf p(xk−1 |y1:k−1 ) with                      mmin is a small additive constant (for numerical
uniform weights. The motion update propagates each particle                           stability). Roughen each particle i ∈ {1, . . . , N }
with the motion model (1) to approximate p(xk |y1:k−1 ).                                               (i)
                                                                                      with noise ∆xk ∼ N (0, Kdiag[mk ]), where K is
Then, the measurement update adjusts the weight of particles
                                                                                      a roughening gain, to obtain the posterior particles
according to the likelihood L(yk |xk ) (8). To avoid maintaining                        (i)      (i)∗       (i)
                                                                                      xk ← xk + ∆xk .
low-likelihood particles, a re-sampling step redistributes the
                                                                                   e) Compute statistics: Obtain the mean and first-order
N particles with equal weight according to the posterior pdf
                                                                                      moment of the posterior particle distribution:
p(xk |y1:k ). However, if the region of the state space where
                                                                                                                 N
the pdfs p(xk |y1:k−1 ) and p(xk |y1:k ) have significant value                                               1 X (i)
do not overlap, then the resampled particle set may contain                                           x̂k =        x                   (10)
                                                                                                              N i=1 k
only a few unique particles. This sometimes leads to an
implementation issue called sample impoverishment, where                              and
                                                                                                       N
all particles collapse to a single value [42, Sec. 15.3]. To                                           X      (i)   (i)
                                                                                                Pk =         xk (xk )T − x̂k x̂T
                                                                                                                               k .
address this issue, a roughening step perturbs the particles                                           i=1
after re-sampling to maintain particle diversity [43].
                                                                           F. Track Labeling
Algorithm: PARTICLE F ILTER
                                                                              To provide onboard decision-making processes with an
  1) Initialize N particles: At the initial timestep k = 0, use            indicator of the status of existing tracks, a summary report
     the measured aspect angle y0 and vehicle heading ψ0o to               is periodically posted to a central database on the AUV. The
     compute the port and starboard bearings, βport and βstar ,            report includes the time since each track was created, the target
     respectively, using (5). Then, for i ∈ {1, . . . , N/2}:              state mean and covariance, and one of the following labels:
       a) Generate a random speed v, range r, and course                      • spawned: initialized from a new measurement
           χ, sampled uniformly from V, R, and [0, 2π],                       • detected: target is confirmed
           respectively.                                                      • resolved: port/starboard ambiguity is resolved
       b) Generate a random bearing β sampled from the                        • converged: position uncertainty is below a threshold
           normal distribution N (βport , σy2 ).                              • endfire: target is in endfire
       c) Compute the particle state                                          • expired: track is dissolved
                               o                
                                 n0 + r cos(β)                             The method by which tracks progresses through the above
                       (i)     eo0 + r sin(β)                            labels is described in the context of the multi-target tracker in
                      x0 ←                       ,
                                                                           Sec. III-C.
                                    v cos χ     
                                     v sin χ
                                                                                          III. M ULTI -TARGET T RACKING
             where (no0 , eo0 ) is the known ownship position.
                                                                              Multi-target tracking requires solving the data association
  2) Repeat the above procedure for particles i ∈ {N/2 +                   problem, that is, associating M measurements to a set of P
     1, . . . , N } while replacing βport with βstar in Step 1b.           existing (or new) tracks. The global nearest neighbor (GNN)
  3) For k ≥ 1:                                                            method commits to a particular measurement-to-track pairing
                                                        (i)
       a) Motion update: For each particle xk−1 , generate a               at each frame (referred to as single-hypothesis tracking) and
                                                    (i)
             random process noise vector wk ∼ N (0, Wk ),                  is perhaps the simplest and most widely used method for
             and propagate the particle through the motion                 data association [45, Sec. 6.4]. The joint probabilistic data
                                       (i)−
             model (1) to obtain xk .                                      association filter (JPDAF) [45, Sec. 6.6.2] makes multiple
                                                             (i)−          association hypotheses between each measurement-to-track
       b) Measurement update: For each particle xk , com-
                                                    (i)             (i)−   pair that are weighted to form a combined target estimate.
             pute the unnormalized weight w̃k ← L(yk |xk )
             using (8). Then, normalize the weights as wk ←
                                                                   (i)     In multiple-hypothesis tracking (MHT) [45, Sec. 6.7], a tree
                (i) PN         (j)                                         of hypotheses across a finite number of past frames forms the
             w̃k / j=1 w̃k .
                                                                           target estimate. All of these strategies decompose multi-target
       c) Resampling [44]: Accumulate the weights into a
                                            (i)       Pi       (i)         tracking into a series of single-target tracking problems which
             cumulative sum vector ωk =                  j=1 wk , such
                     (1)           (1)         (N )
                                                                           may use, for example, Kalman or particle filters. Alternatively,
             that ωk        = wk and ωk               = 1. For each        some filters eliminate data association altogether by combining
             i ∈ {1, . . . , N }, draw a uniformly random number           particle filtering with finite-set statistics, as in the hybrid
             s ∈ [0, 1], and increment the integer q = 1 by                Bernoulli/Poisson filter [46] or the probability hypothesis
                              (q)
             ones until ωk > s. Set the resampled particle                 density (PHD) filter [47]. For a survey of particle filter based
                (i)∗      (q)−
             xk ← xk .                                                     methods in multiple-target tracking refer to [48].
Tracking Multiple Surface Vessels with an Autonomous Underwater Vehicle: Field Results
5

   The GNN method was adopted here because of its ease of                spawned or detected, or cmp = −L(ym |(x̂last )p ; pk ) if a
implementation and concerns that more sophisticated multi-               track has status resolved, converged, or endfire. Both
target tracking methods (e.g., MHT, JPDAF, PHD) may have                 costs have the same minimum and maximum value, but the
prohibitive computational requirements — in this work, the               difference is that the former is applied during initial stages of
tracker software resides on an autonomy computer that also               the track when the estimated target state is unreliable (because
shares computational resources with the sonar processing and             the port/starboard ambiguity has not yet been resolved). The
vehicle control software. A limitation of the GNN method is              assignment problem is then
that it may perform poorly in high clutter environments, and it                                           0
                                                                                                         P X
                                                                                                           M   0

is most suitable for tracking a few well-spaced targets in low
                                                                                                         X
                                                                                                   min             cmp xmp ,                 (11)
noise scenarios.                                                                                         p=1 m=1
   In our approach, data association proceeds in stages: a                                P    0

gating process identifies likely measurement-to-track pairs,
                                                                                          X
                                                                            subject to             xmp = 1 for all m ∈ {1, . . . , M 0 } ,
a pre-processing stage forms new tracks and makes as-                                     p=1
signments where no association ambiguities exist, and the                                 M    0

assignment stage pairs the remaining unassigned measure-
                                                                                          X
                                                                                                   xmp = 1 for all p ∈ {1, . . . , P 0 } ,
ments and tracks. Lastly, track maintenance labels tracks and                             m=1
dissolves them, if necessary. This process is executed by                                and       xmp ∈ {0, 1} ,
the M ULTI - TARGET T RACKER algorithm summarized in the
upper left block within Fig. 2. (A full explanation of the               where the decision variable xmp = 1 represents the assignment
remaining processes in Fig. 2 will follow shortly.)                      of measurement m to track p. Applying the Hungarian algo-
                                                                         rithm [49] to solve (11) yields the minimum-cost assignment.
                                                                         For each assigned measurement-track pair, Step 2 of the
A. Gating and Pre-processing
                                                                         PARTICLE F ILTER algorithm is executed. If the assignment
   A gate is a region in the measurement space that can                  problem is solved with more measurements than existing
reasonably be associated with a given track. For each track p ∈          tracks, M 0 > P 0 , then M 0 − P 0 measurements are left
{1, . . . , P }, a gate Gp = [(ylast )p −δ/2, (ylast )p +δ/2] ⊂ [0, π]   unassigned. However, because of the pre-processing step, these
is defined, where (ylast )p is the last aspect measurement to be         measurements are within a track’s gate that was updated by
associated with track p (with aspect corrected for any heading           the assignment problem. Rather than spawning a new track
changes), and δ is the angular width of the gate. The binary             in close proximity to an existing one, these measurements are
M ×P gate matrix G identifies measurements m ∈ {1, . . . M }             ignored. Conversely, if there are more unassigned tracks than
that are within each gate by assigning a value of one to the             measurements, P 0 > M 0 , then only a subset of the tracks are
pth row and mth column if ym ∈ Gp and a value of zero                    updated.
otherwise. Saturated measurements in endfire are momentarily
ignored.                                                                 C. Track Maintenance
   If targets are well separated, and there is little clutter, some
                                                                            As discussed in Sec. II-F, the tracker periodically labels
measurement-track pairs may be associated at this stage. If
                                                                         tracks and reports summary statistics to an onboard database.
the mth row of G contains all zero entries, the mth measure-
                                                                         A rules-based scheme updates the track status according to
ment spawns a track using Step 1 of the PARTICLE F ILTER
                                                                         the T RACK S TATUS U PDATE algorithm below (summarized in
algorithm, and measurement m is not considered further for
                                                                         Fig. 3). Tracks are initially labeled spawned, and estimation
data association. If the pth column of G contains all zero
                                                                         begins even before a target is detected. The conventional GNN
entries, then no measurement is within track p’s gate, and
                                                                         approach of using a heuristic “M/N rule” to confirm tracks
the track is not updated at the current timestep. If the pth
                                                                         and a “ND consecutive misses” to dissolve tracks [45, Sec.
column of G contains exactly one non-zero entry, then the
                                                                         6.4] is adopted. After several measurements are associated
corresponding measurement and track are associated, and Step
                                                                         to the track, its status is elevated to detected to indicate
2 of the PARTICLE F ILTER algorithm is executed. Thus, after
                                                                         confirmed target presence. Otherwise, if no measurements
gating and pre-processing, there remain M 0 ≤ M unassigned
                                                                         are associated with a track after several frames, it becomes
measurements and P 0 ≤ P unassigned tracks. Each unas-
                                                                         expired. The particles in the filter initially have a bimodal
signed track has two or more unassigned measurements within
                                                                         distribution due to the port/starboard ambiguity. However, if a
its gate.
                                                                         sufficient number of particles transition from port to starboard,
                                                                         or vice-versa, the track is labeled resolved. Furthermore,
B. Assignment Problem                                                    if the track uncertainty reduces below a threshold, its status
   An assignment problem is formulated to pair the M 0 mea-              becomes converged. Tracks that predict a target in the fore
surements with P 0 tracks leftover after the pre-processing step.        or aft blind spot of the vehicle are labeled endfire, and
Let m ∈ {1, . . . , M 0 } index the unassigned measurements              T RACK S TATUS U PDATE predicts when they return into view.
and p ∈ {1, . . . , P 0 } index the unassigned tracks. The last          Algorithm: T RACK S TATUS U PDATE
state estimate associated with the pth track is (x̂last )p . The         At the kth timestep, after executing the initial filtering steps
cost of assigning measurement m to track p is computed                   of the M ULTI -TARGET T RACKER algorithm (described in
either as cmp = −g(ym ; (ylast )p , σy2 ) if a track has status          Sec. III-A and III-B), do the following for each track:
Tracking Multiple Surface Vessels with an Autonomous Underwater Vehicle: Field Results
6

           Autonomy Computer
              pBearingTracker                                                                              Nav. Data,
                                                                                  Tracker
                Multi-Target
                MultiVehicleTracker
                             Tracker                                                                     Tracker Reports    pHelmIvP
                                       Status      Track 1                        Reports
                                                      ...                                                      Commands     BHV_ConstantAltitude
                                                                                                                            BHV_ConstantDepth
                 Particle Filter                   Track P
                                        Track
                                           Track
                                              Aspects
                                                 Data                                                                       BHV_Waypoint
                                                                                  Nav. Data
                  Assignment       Pre-Process       Gate            Buffer                        MOOS Database
                                                                                                                            BHV_MVKeepBroadside
                                                                                                                            BHV_MTKeepBroadside
                                                                                  Contacts
                           Unassigned
                            Modified           Gate               Synchronized
                          Measurements
                           Gate Matrix         Matrix             Nav./Contacts               Contacts
                                                                                                               Commands
                                                                                                                                 iFrontSeat
                                                                                                               Nav. Data
                 HDD

                                                                                                                      Standard Payload
                  Reporting            Frequency Binning                                                                  Interface

                                                                                                                           Vehicle Control Computer
               Peak Detection            Beamforming

                                                                                            Data Acquisition
                 Smoothing               Impulse Filter
                                                                      Raw Acoustic          Computer            HDD
               Passive Onboard                                           Data

Fig. 2: Process flow diagram illustrating computers and software components of the onboard tracking system. The Passive Onboard signal
processing chain accepts raw acoustic data (pressure time series for each hydrophone in the array) and generates up to Mmax contacts. Each
contact consists of an aspect angle, total energy, and energy binned by frequency. Contacts are posted to the onboard database and written
to a log on the hard disk. The M ULTI -TARGET T RACKER algorithm is encapsulated in a MOOS application, pBearingTracker, that provides
the contacts synchronized with interpolated navigation data held in a buffer. The adaptive behavior, BHV MTKeepBroadside, resides in the
pHelmIVP application and sends heading, depth, and speed commands to the vehicle.

                                       spawned
                  updates                                                                       c) resolved: Compute the semi-major axis of the
              expired                                   updates                                    2σ error ellipse dellipse [50]. If dellipse < dconverge ,
                                       detected                                                    set the status to converged.
                  measurement
                   assigned                                                                     d) endfire: If a measurement is associated after a
                                       resolved                                                    track has passed through endfire, set the status to
           endfire                                                                                 detected.
                                       converged

    Fig. 3: State machine diagram for updating the track status.                       3) If the status is resolved, converged, or endfire:

                                                                                                a) Propagate the state and the covariance to the cur-
  1) Determine the number of measurements MF assigned                                              rent time, using the linear update: x̂k = Fk x̂k−1
     to the track over the last F frames. If MF = 0, then set                                      and Pk = FT     k−1 Pk−1 Fk−1 + Wk−1 . The esti-
     the status to expired.                                                                        mated target state x̂k is used by the assignment
  2) If no measurement was assigned to the track (at the                                           problem, as discussed in Sec. III-B.
     current timestep) proceed to Step 3. Otherwise, execute                                    b) Predict the aspect angle αcur = α(x̂k , pk ) using
     one of the following (depending on the current track                                          (4) and determine if the target is fore or aft.
     status):                                                                                      Compute the probability     that the target is in end-
                                                                                                                      R R
        a) spawned: If MF ≥ M F , set the status to                                                fire Pendfire = R B p(r, β)rdrdβ using Gauss-
           detected, where M F is a user-defined integer.                                          Legendre quadrature, where p(r, β) is a Gaussian
        b) detected: Compute the estimated target bear-                                            pdf of the target’s position in polar coordinates, and
           ing β̂ ← β(x̂k , pk ) using (10) and (3). De-                                           B ∈ {Bfore , Baft } is the predicted endfire region,
           fine the interval of port and starboard bearings,                                       either Bfore = {βstar (α, ψk ) ∪ βport (α, ψk ) | α ∈
           Bport = {βport (α, ψk ) | α ∈ [0, π]} and Bstar =                                       Ef } or Baft = {βstar (α, ψk ) ∪ βport (α, ψk ) | α ∈
           {βstar (α, ψk ) | α ∈ [0, π]}, respectively, with (5).                                  Ea }.
           Let B ∗ = Bport if β̂ ∈ Bport , and B ∗ = Bstar                                      c) If Pendfire ≥ P , then set the status to endfire.
           otherwise. Determine the bearing of each particle                                    d) If the status is endfire, and there exists a
           β (i) using (3), and let Nagree be the number of                                        saturated measurement in the same endfire region
           particles with β (i) ∈ B ∗ , for i = {1, . . . , N }. If                                (Baft or Bfore ), then mark the track as updated with
           Nagree > Nresolve , set the status to resolved,                                         an empty measurement (to prevent the track from
           where Nresolve is a user-defined integer.                                               dissolving as it passes through endfire).
Tracking Multiple Surface Vessels with an Autonomous Underwater Vehicle: Field Results
7

D. Multi-Target Keep Broadside Behavior                                        experiment to test the tracking system and adaptive behaviors.
   The multi-target tracker generates a set of tracks repre-
senting estimates of surface vessels or other noise sources.
Suppose that a subset of these tracks, indexed by q ∈                          A. Platform and Autonomy Architecture
{1, . . . , Qk }, have a status of either detected, resolved,
                                                                                  The experiment was conducted with a propeller-driven, 21-
or converged at the kth timestep. Let αq (ψ) be the aspect
                                                                               inch diameter AUV developed by the Naval Research Labora-
angles predicted for the target in the qth track (i.e., computed
                                                                               tory and Bluefin Robotics (see Fig. 5a). The tracking system
using (4) and (10)). The multi-target keep broadside behavior
                                                                               utilizes three computers: (1) a vehicle control computer that
commands the heading ψk∗ that minimizes the worst-case
                                                                               interfaces with hardware for guidance, navigation, and control
aspect angle deviation from a broadside aspect (α = π/2).
                                                                               (GNC), using Huxley [51]; (2) a data acquisition (DAQ)
Keeping target aspects close to broadside improves measure-
                                                                               computer that manages the passive sonar and records acoustic
ment quality and prolongs the duration that targets remain in
                                                                               data; and (3) an autonomy computer for mission planning,
the field of view. To compute ψk∗ , discretize the heading into
                                                                               vehicle behavior control, acoustic data processing, and multi-
Nψ admissible values to form a set of candidate headings
                                                                               target tracking. The interactions between these computers are
Ψ = {0, 1/(Nψ − 1)2π, . . . , Nψ /(Nψ − 1)2π}. Then, for each
                                                                               summarized in Fig. 2. The Mission Oriented Operating Suite
candidate heading, predict the aspect angle αq (ψ) of each
                                                                               with Interval Programming (MOOS-IvP) robotic middleware
target and evaluate the worst-case aspect-angle deviation from
                                                                               [52] provides a central database, the MOOSDB, where appli-
broadside to determine the minimizing value
                                                                               cations exchange messages (time-stamped data consisting of
           ψk∗ = argmin                max        |π/2 − αq (ψ)| .      (12)   strings, doubles, or binary data). The autonomy architecture
                      ψ∈Ψ       q∈{1,...,Qk }
                                |                  {z          }               adopts the backseat/frontseat control philosophy inherent in
                                    worst-case aspect angle deviation          MOOS-IvP; Huxley performs critical GNC tasks (similar to the
There exist pathological cases where a set of Qk arbitrarily po-               driver of a car), and the autonomy computer provides high-
sitioned targets cannot be simultaneously in view according to                 level commands (similar to a backseat passenger directing
(12); however, since (12) considers only targets that are already              a driver). These commands are heading, depth, and speed
in view at the current time, these cases will not arise. In other              setpoints issued periodically through the iFrontSeat application
words, ψk∗ will not place targets into endfire that are not al-                [53] using a Standard Payload Interface (SPI) protocol. The
ready in endfire. Figure 4 illustrates a nominal case with three               setpoints arise from multiple behaviors that perform special-
targets where the outermost targets, one and three, determine                  ized tasks (e.g., maintaining altitude over a varying seabed,
the worst-case aspect deviation from broadside. The optimal                    waypoint guidance). The pHelmIvP application resolves any
heading ψk∗ places these outermost targets symmetrically about                 conflicts between behavior setpoints by considering each be-
the broadside angle, i.e., |π/2 − α1 (ψk∗ )| = |π/2 − α3 (ψk∗ )|.              havior’s priority and arriving at a compromise through interval
   If the tracking behavior drives the AUV outside the limits                  programming optimization. The vehicle is equipped with an
of a predefined operational area, then a safety return behavior                inertial navigation system that has a position error of less than
commands the vehicle to transit back to within a threshold of                  0.1% distance traveled. The custom autonomy framework has
the origin before restarting the tracking behavior (see Fig. 4).               a layered structure that includes reactive behaviors [9], task
                                                                               and motion planning [54], and goal reasoning [55].

                                     Safety                                                                                                                     25
                     Restart         Return                                                                                                T1
                    Tracking        Behavior                                                                                        500                         20
                                                                                                                     Northing (m)

                    Behavior

                                                                                                                                                                     Depth (m)
                                                                                                                                       0                        15

                              Return                                                                                                -500                        10
                              Circle                                                                                                                      T2
                                                                                                                                                                5
                                                                                                                                           -500   0   500
                                                                                                                                            Easting (m)

                                                                                    (a) NRL’s Bluefin-21 AUV                          (b) Experiment geometry
           Operational Area
                                                                               Fig. 5: The Bluefin-21 AUV executed an adaptive tracking behavior
                                                                               within the test site shown as a dashed-line in panel (b), while two
                                                                               controlled targets traversed east-west and north-south tracks, labeled
Fig. 4: Sketch of tracking and safety behaviors. The multi-target keep
                                                                               T1 and T2, respectively.
broadside behavior commands the heading ψ ∗ that minimizes the
worst-case deviation in aspect angle from broadside across all targets.
A safety behavior returns the vehicle to the middle of the operational
area if a predefined boundary is exceeded.
                                                                               B. Passive Sonar System
                                                                                  A passive sonar signal processing application, called Pas-
               IV. E XPERIMENTAL A PPROACH                                     sive Onboard, reads acoustic data from the data acquisition
   This section describes the AUV platform, software archi-                    computer and provides contacts to the MOOSDB. The pla-
tecture, passive sonar system, and the design of the at-sea                    nar hydrophone array is a variation of the one originally
8

developed for active synthetic aperture sonar [21] and lies         C. Experiment Design
vertically in the center of a flooded section of the AUV.
The vehicle was modified to operate with reduced self-noise.           The experiment was conducted in Boston Harbor between
Hydrophone signals are acquired and immediately written to          August 13-15, 2018. The location of the test site was a 1
a hard drive in real-time by the DAQ computer. The Passive          km box centered at 42◦ 23.6800 N, 070◦ 55.3950 W, just
Onboard block in Fig. 2 provides an overview of the signal          south of Nahant, MA in Broad Sound. The test site is adjacent
processing chain. Before beamforming and frequency binning,         to a shipping lane to the east, and numerous vessels were
the raw data is subject to a non-linear impulse filter that         observed operating within visual range during the experiment.
segments the signal and clips peaks within each segment that        Two surface vessels, the R/V Resolution (a 54-foot twin-
have an amplitude greater than four standard deviations of          engine catamaran) and the R/V Jamie Hannah (a 55-foot
the noise within the segment. This filtering process reduces        single-engine fiberglass research vessel), served as controlled
interference from high amplitude, transient sounds, typically       targets that traversed north-south and east-west tracks just
 130◦ exhibit degeneracy. At these angles the mean
                                                                    processing chain, tracking system, and adaptive behavior. A
angle is reported. The Fourier transform of the beamformed
                                                                    total of about five hours of acoustic and tracker data were
signals is sent to a frequency binning algorithm that sums the
                                                                    collected over three days. Each day allowed for twelve hours
amplitudes for sixteen frequency bins. Bins are logarithmically
                                                                    of ship time (dock-to-dock), and runs were scheduled in-
spaced to compensate for an expected higher energy at lower
                                                                    between other AUV operations. Since this was the first in-
frequencies. The energy in each frequency bin is recorded.
                                                                    water test of the system, filter parameter tuning was required.
                                                                    Tuning was conducted by reviewing data logs at the end of
   Following the binning, the total beam amplitudes are             each day. However, due to time-constraints, a more careful
smoothed across aspect angle, and the minimum and maximum           analysis was only possible after the experiment concluded.
total amplitude is determined for subsequent peak detection.        Raw acoustic and tracker input data were recorded in a manner
Smoothing applies a running average of nearest neighbors.           that allows re-processing through the onboard software with
Peak detection is performed on the sum across all bins              modified parameter values. The vehicle’s adaptive behavior
for each beam (total beam amplitude). The peak detection            presented here responded to the real-time tracker output.
algorithm searches for beam angles with an excess of energy            Table I outlines the duration of each run and the frequency
by examining the total amplitudes of each beam, as computed         of the last track status before becoming expired. Tracks
by the frequency binning algorithm. First, it determines if there   with status of spawned are numerous and correspond to
are any extreme values in a time series by rejecting time series    spurious contacts where target presence was not confirmed
where the difference between the maximum and minimum am-            (these tracks quickly become expired). Tracks that attained
plitudes exceeds the minimum amplitude. Then, a peak beam           a status of detected or resolved correspond to intermit-
is identified as a contact within a qualifying time series if its   tent targets, whereas tracks with status converged represent
total amplitude is greater than: (1) 0.1 (Amax − Amin ) + Amin ,    persistent targets that were tracked for longer durations (often
where Amax and Amin are the maximum and minimum total               between five to ten minutes).
amplitudes across beams, respectively; (2) that of neighboring
beams; and (3) other peaks within 3◦ of it. Contacts are sorted     TABLE I: Summary of runs. The tally indicates the frequency of
by total amplitude, with higher total amplitude peaks reported      each track status for a given run. Tracks with converged status
first. If more than Mmax contacts are identified, then only the     represent persistent targets that were tracked for longer durations.
first Mmax are reported.                                                       Run                1      2      3      4      5
                                                                               Duration (min.)   31.2   48.8   83.9   56.5   79.8
   A reporting algorithm writes the data acquisition clock time,               spawned           85     107    107    135    252
contact angles, and their frequency bin data to a binary file for              detected          20      53     58     52     80
                                                                               resolved          10      27     27     24     33
future analysis. During real-time operation, the results are also              converged         7       9     21     12     22
published to the MOOSDB for use by the tracker and other
processes.
9

A. Passive Bearing-Only Beamforming Results                           before converging to the aspect measurements. This artifact is
   During the experiment, the maximum number of reported              seen throughout Figs. 7b and 7d as the near-vertical portion
contacts was set to Mmax = 3. Due to bandwidth limitations            at the beginning of each track. The ability of the vehicle to
of the hard drive bus, only every third signal (frame) was            maintain targets in view is evident by the tendency of tracks
processed. This section discusses an illustrative 11.8 minute         to either converge to the broadside angle (for a single target—
snapshot of the passive acoustic data, shown in Fig. 6. The data      see Fig. 7d around three minutes) or remain close to broadside
were re-processed to include Mmax = 4 contacts and the full           (for multiple targets—see Fig. 7b around 35 minutes).
data set including all frames. Figures 6a and 6b show the angle                     TABLE II: Multi-target tracker parameters.
and amplitude, respectively, of the top four contacts. Saturation
of the aspect angle near endfire is apparent in Fig. 6a. Due            Parameter                             Symbol     Value     Units
to angular degeneracy, as discussed in Sec. IV-B, the angular           Number of particles per track      N       10,000 —
resolution is reduced away from broadside.                              Particles to clear ambiguity     Nresolve  8,500 —
   Three instants (A, B, and C) are labeled for discussion in           Effective field of view             ϕ        115   deg
Fig. 6a and Fig. 6b and are further examined in Figs. 6c–               Position process noise             σp         5    m
6e. Near time A, there are two lines of correlated contacts             Speed process noise                σv        0.1   (m/s)
                                                                        Measurement noise                  σy        1.5   deg
in Fig. 6a that suggest the presence of distinct targets. At            Target range interval              R      [0,1500] m
around 800 seconds the contact positions swap. This indicates           Target speed interval               V       [0,8]  m/s
a change in the relative amplitude of the two targets that may          Particle roughening gain           K         0.1   —
occur because of changes in relative range, speed, direction,           Minimum particle roughening       mmin       0.1   —
or a variety of other factors effecting the received signal             Gate width                          δ        15    deg
                                                                        Measurements to declare detected  MF          5    —
amplitude. Indeed, the contacts near time A in Fig. 6b exhibit          Number of past frames considered   F         10    —
similar aspect amplitudes. The contact angles reported at time          Ellipse axis to converge         dellipse    300   m
A are distinct peaks of the relative beam amplitude curve (see          Endfire probability threshold      P         0.5   —
Fig. 6c). However, in other cases, these peaks are more subtle,
as in Fig. 6d, especially when there is a large disparity in the
contact amplitudes, as in Fig. 6e. The inset plots in Fig. 6e of
                                                                      C. Multi-Target Tracker Results
energy with frequency bin show a unique signature for each
of the three contacts C.1, C.2, and C.3. While not considered            A single track (no. 202 in Fig. 7d) is examined in Figs. 8 and
here, the contact amplitudes and frequency signatures can             9 to illustrate the target state estimator. The particles in Fig. 8
aid data association. However, high variability in the ship’s         give insight into the state of the particle filter as the track status
signature spectrum is expected due to modal interferences in          changes. Particles are uniformly dispersed in speed and course
the propagation channel.                                              when the track is spawned in Fig. 8a. As more measurements
                                                                      are assimilated, the target is confirmed and the status becomes
                                                                      detected. The track status is resolved once the particles
B. Multi-Target Keep Broadside Behavior Results                       resolve the port/starboard ambiguity and estimate a north-east
   To illustrate the performance of the multi-target keep broad-      course (Fig. 8b). Later, the filter correctly estimates that the
side behavior, Runs 2 and 4 are examined in Fig. 7. The track-        target is moving north and the uncertainty ellipse is sufficiently
ing results presented here are re-processed with the parameters       small so that the track status is converged (Fig. 8c). At the
in Table II; however, the AUV responded to the tracker (with          point of closest approach, the error in the estimated target state
an earlier parameter set) in real-time during the experiment.         is at a minimum value (near five minutes in Fig. 9). The safety
Gray segments in the AUV path (Figs. 7a and 7c) that connect          behavior redirects the AUV toward the middle of the box, and
the perimeter of the test site to a safety return circle centered     the track becomes expired.
on the origin (10 m radius for Run 2, and 200 m radius for               The track status update procedure (Sec. III-C) generally
Run 4) correspond to the safety behaviors. The vehicle can            worked well and indicated the status as expected when
also be commanded to begin its mission by reaching the safety         tracks were continuously updated with measurements. How-
return circle. Colored line segments (Figs. 7a and 7c) indicate       ever, the mechanism for recovering a track from endfire
where the adaptive broadside behavior is active. Although the         to detected status had mixed results. For example, in
vehicle is programmed to loiter when no contacts are detected,        Run 4 (Fig. 7d) track no. 28 is not recovered around eight
it never enters this state because of the constant presence of        minutes. Instead, a new track no. 40 is spawned. In different
noise sources. The AUV tends to move along curved paths as            circumstances, track no. 168 briefly enters endfire and is
it tracks targets.                                                    recovered around 40 minutes (Fig. 7d). Recovering from
   Figures 7b and 7d show the aspect angle during the runs            endfire is challenging because of errors introduced by the
with an overlay of selected tracks that assimilated thirty or         linear state update, degenerate measurements, and other newly
more contacts. Since the particle filter initially spawns particles   spawned tracks that complicate data association. Since the
on both the port and starboard sides of the array, the mean           adaptive behavior keeps targets broadside, most instances of
estimated state is along the axis of the vehicle (i.e., fore          tracks moving into endfire occurred when the safety behavior
or aft) before resolving the ambiguity. Thus, the estimated           was engaged (causing an abrupt heading change towards the
aspect angle for each track begins either at 0 or 180 degrees         origin).
10

 Aspect Angle (deg.)   180                                                                                                                                                                                                                               Max
                                                           Contact 1                                                                                                                                                                                                          Contact 1
                                                                                                                                                                                                                                                                                                                                                                                                                C.1

                                                                                                                                                                                                                                      Aspect Amplitude
                                                           Contact 2                                                                                                                                 C.3                                                                      Contact 2
                       150                                 Contact 3                                                                                                                                                                                                          Contact 3
                                                           Contact 4                                           B.1                                                                                                                                                            Contact 4
                       120                                       A.2                                                      B.2                                                                        C.1

                        90                                                                                                                                                                                                                                                                                                                                                                                     C.2
                                                                                                                                                                                                                                                                                                                                                            B.1
                        60                                        A.1                                                                                                                                                                                                                A.1        A.2
                                                                                                                                                                                                     C.2
                        30                                                   A                                        B                                                                                           C                                                                         A                                                                          B                           C.3     C
                                                                                                                                                                                                                                                                                                                                                            B.2
                         0                                                                                                                                                                                                                                    0
                         600                                   700                 800                 900           1000            1100                                                                    1200      1300                                   600                 700                 800                                900                       1000                1100             1200               1300
                                                                                                   Mission Time (s)                                                                                                                                                                                                                     Mission Time (s)

                                                                                 (a) Angle of first four contacts.                                                                                                                                                                          (b) Amplitude of first four contacts.

                                                                                                                                                           Relative Beam Amplitude
                         Relative Beam Amplitude

                                                                                                                                                                                                                                                                                                            Relative Beam Amplitude
                                                                                                   Mission Time A                                                                                                                                             Mission Time B                                                                                                             Mission Time C

                                                                                                                                                                                                                                                                                                                                                              Energy
                                                                                                                                                                                     0.015

                                                                                                                                                                                                                       Energy
                                                   0.015                                                                                                                                                                          B.1                                                                                                 0.015                                C.1
                                                                  Energy

                                                                             A.1
                                                                                              Energy

                                                                                                         A.2

                                                                                                                                                                                                                                                                    Energy
                                                                                                                                                                                                                                                                               B.2                                                                                     Freq. Bin
                                                                                                                                                                                        0.01                                    Freq. Bin
                                                    0.01                   Freq. Bin                                                                                                                                                                                                                                                   0.01

                                                                                                                                                                                                                                                                                                                                                  Energy
                                                                                                                                                                                                                                                                                                                                                             C.2

                                                                                                                                                                                                                                                                                                                                                                                              Energy
                                                                                                       Freq. Bin                                                                                                                                                                                                                                                                                         C.3
                                                                                                                                                                                                                                                                             Freq. Bin

                                                                                                                                                                                     0.005                                                                                                                                                                 Freq. Bin
                                                   0.005                                                                                                                                                                                                                                                                              0.005                                                            Freq. Bin

                                                      0                                                                                                                                                0                                                                                                                                 0
                                                          0                  50              100               150                                                                                           0         50                                100                 150                                                             0                         50              100             150
                                                                             Aspect angle (deg.)                                                                                                                       Aspect angle (deg.)                                                                                                                             Aspect angle (deg.)

                       (c) Relative beam amplitude and frequency con-                                                                 (d) Relative beam amplitude and frequency con-                                                                                                                   (e) Relative beam amplitude and frequency con-
                       tent of contacts at time A.                                                                                    tent of contacts at time B.                                                                                                                                      tent of contacts at time C.
Fig. 6: Snapshot of passive bearing-only beamformer results over 11.8 minutes from Run 3. Contacts are color-coded with red denoting the
highest total amplitude contact, through blue and green, to the fourth lowest total amplitude contact in black. Three specific instants (A, B,
and C) are highlighted with relative beam amplitude and frequency content shown.

                       600                                                                                                                                                                           180                                                      54
                                                                                                                                45                                                                                                                                                                                                                                                                                    95
                       400                                                                                                      40                                                                   150
                                                                                                                                                                                                                                25                                                          79
                                                              Start                                                             35                                                                                                                                                         56                                                                 133
                                                                                                                                     Mission Time (min.)

                                                                                                                                                                                     Aspect (deg.)

                       200                                                                                                                                                                           120
Northing (m)

                                                                                                                                                                                                                                                                                            73
                                                                                                                                30
                                                                                                                                                                                                                                  14 26                                                                                                                                                                               188
                           0                                                                                                    25                                                                           90
                                                                                                                                                                                                                                                                                                                                                                                 151
                                                                                                                                20                                                                                                                                 39 63                                                                                   122
                       -200                                                            End                                                                                                                   60                       21
                                                                                                                                15
                                                                                                                                                                                                                                 16
                                                                                                                                10
                       -400                                                                                                                                                                                  30
                                                                                                                                                                                                                                                                                                                                                                                   158
                                                                                                                                5
                                                                                                                                                                                                                                                                                                                                                                                                                     94
                       -600                                                                                                     0                                                                            0
                          -600 -400 -200                                           0     200           400     600                                                                                            0         5                                10                  15             20                           25                            30                   35           40                45
                                                                           Easting (m)                                                                                                                                                                                                                Time (min)
                                                       (a) Path of the AUV (Run 2).                                                                                                                                    (b) Aspect angle over time with overlay of selected tracks (Run 2).
                       600                                                                                                                                                                                   180
                                                                                                                                55
                                                                                                                                                                                                                                                                    56                                                                                                      1
                                                                                       End                                      50
                       400                                                                                                                                                                                   150                                                                          79
                                                                                                                                45                                                                                                                                                                                                               135                                                                  213
                                                                                                                                                                                                                                                                                                                                                                            1
                                                                                                                                     Mission Time (min.)

                                                                                                                                40
                                                                                                                                                                                             Aspect (deg.)

                       200                                                                                                                                                                                   120
Northing (m)

                                                                                                                                35                                                                                          3                                       51               61                                                                                                         196
                                                                                                                                                                                                                                                                                                 64                                                        145
                                                                                                                                30                                                                            90
                           0
                                                       Start                                                                    25                                                                                                                                                                                                                                                                                    202
                                                                                                                                                                                                                                                                     41                                                                                                                                    198
                                                                                                                                20                                                                            60                                                              57                                                                              137
                       -200                                                                                                                                                                                                                                                                                                                                                                   191
                                                                                                                                15                                                                                                                                                                                                                             142
                       -400                                                                                                     10                                                                            30
                                                                                                                                                                                                                                                                                                96                                                                     168
                                                                                                                                5
                                                                                                                                                                                                                                                                                                                                              6
                       -600                                                                                                     0                                                                                 0
                          -600 -400 -200                                           0     200           400     600                                                                                                 0     5                               10          15              20               25                               30                   35               40          45              50            55
                                                                           Easting (m)                                                                                                                                                                                                                 Time (min)
                                                       (c) Path of the AUV (Run 4).                                                                                                                                      (d) Aspect angle over time with overlay of selected tracks (Run 4).
Fig. 7: Experimental results illustrating the multi-target keep broadside behavior during Run 2 and Run 4. The behavior maneuvers the
vehicle to maintain multiple targets in the field of view. Left: Path of the AUV with gray segments indicating safety behavior returning the
AUV to the middle of the box after exceeding operating area limits. Right: Contacts are shown as gray circles in background, dashed lines
indicate approximate saturation limits and the broadside angle. Superimposed colored lines are selected tracks that associated thirty or more
contacts (with track number indicated). Shaded areas are time intervals where the AUV safety behavior was active.

                       Data association and behavior performance is illustrated                                                                                                                                                        by examining two multi-target tracking scenarios in Fig. 10.
11

                1000                                                               1000                                                                1000

                 500                                                                500                                                                 500
 Northing (m)

                                                                    Northing (m)

                                                                                                                                        Northing (m)
                     0                                                                  0                                                                   0

                 -500                                                               -500                                                                -500

                -1000                                                              -1000                                                               -1000

                         -1000   -500         0   500    1000                               -1000   -500         0    500    1000                               -1000   -500         0   500    1000
                                    Easting (m)                                                        Easting (m)                                                         Easting (m)
                                        0                                                                  0                                                                   0
                                                                                              30                       30                                         30                      30

                -6                                         0                       -6                                          0                       -6                                         0

 -90                                                           90   -90                                                            90   -90                                                           90

         -12                                               20               -12                                                20               -12                                               20
                                                           s                                                                   s                                                                  s
                          150                      150                                        50                        50                                        50                       50
                                        180                                                                180                                                                 180

            (a) Track status spawned at time 1.10 sec.                   (b) Track status resolved at time 1.29 min.                       (c) Track status converged at time 5.75 min
Fig. 8: State of the particle filter at three instants during which the AUV tracks the R/V Resolution (RES) over nearly seven minutes
(corresponding to track no. 202 in Fig. 7d). Particles (orange dots) have planar position and velocity. Top: Particle positions are plotted
along with the mean (black “+” marker) and 95% confidence region (black ellipse). AUV motion is indicated by the blue line, starting at the
circular marker and ending at the square marker. Similarly, RES motion is indicated by the black line and markers. The gray fan-shaped area
indicates the field of view of the AUV and magenta rays are aspect angle measurements at each instant. Bottom: Polar plot of speed and
course of particles—maximum speed bound of 8 m/s is indicated by a black circle. Mean speed of particles is shown as a black “+” marker.
The three instants Fig. 8a-8c have track status of spawned (initial measurement, possible target), resolved (target presence confirmed
and port/starboard ambiguity resolved), and converged (position error ellipse axis below threshold).

In addition to the controlled targets, other ships with AIS                                                    targets, other sources of interference, or the loudness of one
transponders were operating in the vicinity (see Table III).                                                   target obscuring the peaks of other targets in the relative beam
The estimated positions of tracked targets is indicated by the                                                 amplitude plot used for identifying contacts (recall that the
confidence ellipses in Figs. 10a and 10c. The aspect angle                                                     number of contacts reported was limited to Mmax = 3).
measurements are compared to groundtruth in Figs. 10b and                                                         Now, consider the second scene in Figs. 10c and 10d; there
10d. Figure 10a shows track no. 3 estimating the position                                                      are two controlled targets (RES and JAM), the tanker NOR,
of RES as it makes a 90 degree course change. The AUV                                                          and the ferry NAT. Initially, the AUV tracks JAM (only)
adapts its heading to compensate for the fluctuation in aspect                                                 with track no. 39. At about 12 minutes, the AUV begins
angle from broadside (see Fig. 10b at 2.5 minutes). Near five                                                  to also track NAT. When the aspect angle measurements are
minutes, track no. 28 develops for a unmanned surface vessel,                                                  not well separated, data association is more challenging and
STE, that appears to be performing a survey near the test site.                                                track no. 39 dissolves (spawning a new track no. 63 that
At six minutes, the STE track is resolved, and the AUV                                                         continues to track JAM). Tracks no. 56 and 73 track NAT and
maneuvers to maintain both tracks equidistant in aspect angle                                                  NOR, respectively. Since both NAT and NOR are beyond the
deviation from broadside (refer to Fig. 10b). Shortly thereafter,                                              maximum range assumed by the filter, their position estimates
the passive sonar stops reporting contacts from RES, and track                                                 are constrained to be closer to the AUV (see Fig. 10c).
no. 3 dissolves; the AUV tracks STE only. At this time, the                                                    NOR and RES follow different spatial trajectories but have a
RES is over 1 km away from the AUV, whereas STE is much                                                        similar aspect angle history throughout the scene. However,
closer. Throughout this eight minute portion of Run 2, only                                                    few contacts are reported for RES and it is not tracked.
a few contacts are reported from JAM and many are initially                                                    Between about 17.5-19 minutes the AUV tracks three targets
missing from STE. The intermittent nature of contacts may                                                      (NAT, NOR, and JAM). When NAT moves into endfire it
be due to the changing relative geometry of the AUV and                                                        transitions to tracking JAM and NOR only.
12

                     225
                                                                       Actual                                                      RES End
   Bearing (deg.)
                     180                                               Estimated                  1000
                     135
                          90                                                                                                                    t = 6 min.

                          45                                                                                                 AUV End
                                  0                                                                500                                          t = 5 min.
                                  6
                                  5

                                                                                   Northing (m)
                    Speed (m/s)

                                                                                                                                                    t = 4 min.
                                  4
                                                                                                                         AUV Start
                                  3                                                                  0
                                  2                                                                                                                 t = 3 min.
                                  1

                     180                                                                                                                        t = 2 min.
                                                                                                   -500
Course (deg.)

                          90
                                                                                                                                                t = 1 min.
                                  0

                       -90                                                                        -1000                           RES Start

                -180
                    0                 1   2       3       4        5     6                                -1000   -500        0               500                1000
                                              Mission Time (min)                                                         Easting (m)

(a) Estimated bearing, speed, and course of the target compared to ground          (b) Estimated position of target compared to ground truth. Refer to Fig. 8
truth. The estimated bearing is computed as the angle between the mean             for explanation of symbols and line colors. The six orange ellipses are
planar position of the particles and the AUV. After about 20 seconds the           estimates of the target position (actual position indicated by the six black
port/starboard aspect angle ambiguity is resolved and the correct bearing is       circular markers).
estimated.
Fig. 9: Tracking performance over a nearly seven minute interval during which the AUV tracks the R/V Resolution (RES) (data correspond
to track no. 202 in Fig. 7d and the particle filter snapshots in Fig. 8). GPS logs from the RES provide position over time that determine the
actual speed and course. GPS positions are compared to AUV navigation logs to obtain the actual bearing.

TABLE III: The acronym, name, maritime mobile service identity
(MMSI) number, and type of surface vessels encountered in the
                                                                  small number of well separated targets. The onboard signal
scenarios of Fig. 10.                                             processing demonstrated in these experiments exhibits a data
                                                                  reduction of several orders of magnitude from the raw sonar
 Vessel Acronym: Name                MMSI              Type       data that allows efficient track exfiltration to command and
 JAM: R/V JAMIE HANNAH             367534250      research vessel control (C2) entities via low bandwidth communications, such
 NAT: NATHANIEL BOWDITCH 367534240                     ferry      as acoustic modems.
 NOR: NOR EASTER                   538002783          tanker         However, some challenges were also encountered, including
 RES: R/V RESOLUTION               338112818      research vessel
                                                                  difficulty with data association in cluttered scenarios and
 STE: STEADFAST                    338233113 Sea Machines USV
                                                                  spurious measurements creating a large number of short-
                                                                  lived tracks. The number of contacts reported by the passive
                                                                  beamformer was limited to three, and in several instances a
                      VI. C ONCLUSION                             controlled target used in the experiment was not detected,
   The ability of a Bluefin-21 AUV to respond to platform even at close range. Ongoing work aims to develop additional
noise and track multiple nearby surface vessels simultaneously behaviors for adaptive data collection, incorporate frequency
using a hull-mounted active sonar repurposed for passive sonar and energy information for data association, and implement a
use was demonstrated. The key components of the tracking more robust but computationally efficient multi-target tracking
system include: (a) a passive sonar utilizing a peak detector algorithm.
to identify local maxima of an energy amplitude versus
aspect angle curve that is generated by a time-delay-and-sum
                                                                                      ACKNOWLEDGEMENTS
beamformer; (b) a tracker that assimilates the resulting angle-
only contacts using a particle filter with single-hypothesis         The work of A. Wolek was supported by the American
data association; (c) a rules-based scheme that qualitatively Society for Engineering Education (ASEE) through the ASEE
labels tracks to indicate their status (e.g., spawned, detected, postdoctoral fellowship program at the Naval Research Lab-
port/starboard ambiguity resolved, endfire, converged); and (d) oratory. The work of J. McMahon, B. R. Dzikowicz, and B.
an adaptive behavior that maintains multiple targets in the H. Houston was supported by the Office of Naval Research
field of view by optimizing the vehicle heading. The system through the Naval Research Laboratory base program. We
was tested near a busy shipping lane in Boston Harbor in thank Alain Berdoz and Harry Simpson for their role in
August 2018. Reasonable performance was observed when organizing experiment logistics, and Mark Wilson and Patrick
tracking a single target with low clutter or when tracking a Amy for their help in executing the field trials. The authors are
You can also read