RT2: Real-time ray-tracing for underwater range evaluation

12
Intel Serv Robotics (2011) 4:259–270 DOI 10.1007/s11370-011-0093-8 SPECIAL ISSUE RT 2 : real-time ray-tracing for underwater range evaluation Giuseppe Casalino · Andrea Caiti · Alessio Turetta · Enrico Simetti Received: 3 March 2011 / Accepted: 13 June 2011 / Published online: 25 June 2011 © Springer-Verlag 2011 Abstract The paper deals with the distributed acoustic localization of teams of autonomous underwater vehicles (AUVs) and proposes a novel algorithm, real-time ray- tracing (RT 2 ), for evaluating the distance between any pair of AUVs in the team. The technique, based on a modified formulation of the non-linear sound-ray propagation laws, allows efficient handling of the distorted and reflected acous- tic ray paths. The proposed algorithm can be easily imple- mented on-board of low-cost AUVs, requiring the presence, on each vehicle, of an acoustic modem and a pair of look-up tables, a-priori built on the basis of the assumed knowledge of the depth-dependent sound velocity profile. On such a basis, every AUV can compute its distance w.r.t. to any other neigh- bor team member, through time-of-flight measurements and the exchanges of depth information only. Keywords Marine systems · Communication control applications and systems · Estimation algorithms and theory · This research was partially funded by EU FP7 project “CO3AUVs: Cognitive Cooperative Control of Autonomous Underwater Vehicles”, under Grant Agreement n. 23 1378. G. Casalino · A. Turetta · E. Simetti (B ) Department of Communication Computer and System Science, University of Genoa, Via Opera Pia 13, 16145 Genova, Italy e-mail: [email protected] G. Casalino e-mail: [email protected] A. Turetta e-mail: [email protected] A. Caiti Department of Electrical Systems and Automation, University of Pisa, Largo Lucio Lazzarino 1, 56122 Pisa, Italy e-mail: [email protected] Localization systems · Navigation systems · Motion estimation · Autonomous vehicles 1 Introduction The paper deals with acoustic distributed localization of teams of autonomous underwater vehicles (AUVs) and, more specifically, with the problem of accurately evaluating the distances between vehicles, by explicitly considering the propagation anisotropy of the underwater medium (i.e. the changes in the sound velocity profile as a function of depth). The problems posed by ray distortions are well-known in the underwater acoustic literature and induce significant impli- cations on the problem of localization. Indeed, an under- water device receiving an acoustic signal cannot generally estimate its range from the sound source, via the sole mea- surement of the time-of-flight (ToF) of the received wave, since it should also keep into account the effects of the acoustic propagation laws applied to the specific sound speed profile within the considered area. This fact is well-known and indeed the most recent and more sophisticated realiza- tions of acoustic localization devices, such as USBL and LBL systems (Ultra Short & Long Base Line, [11]), can actually provide corrections to range estimates, via acous- tic ray-tracing applied to measured ToF and angle of arrival (AoA). Despite their apparent efficiency, there is a concrete limit in the applicability of the above systems in the framework of team cooperating AUVs. Such instruments are in fact conceived for tracking the position of a mobile underwa- ter device, while they do not allow the underwater device itself be aware of its position, which remains an infor- mation available only at a centralized level. However, for 123

Transcript of RT2: Real-time ray-tracing for underwater range evaluation

Intel Serv Robotics (2011) 4:259–270DOI 10.1007/s11370-011-0093-8

SPECIAL ISSUE

RT2: real-time ray-tracing for underwater range evaluation

Giuseppe Casalino · Andrea Caiti · Alessio Turetta ·Enrico Simetti

Received: 3 March 2011 / Accepted: 13 June 2011 / Published online: 25 June 2011© Springer-Verlag 2011

Abstract The paper deals with the distributed acousticlocalization of teams of autonomous underwater vehicles(AUVs) and proposes a novel algorithm, real-time ray-tracing (RT2), for evaluating the distance between any pairof AUVs in the team. The technique, based on a modifiedformulation of the non-linear sound-ray propagation laws,allows efficient handling of the distorted and reflected acous-tic ray paths. The proposed algorithm can be easily imple-mented on-board of low-cost AUVs, requiring the presence,on each vehicle, of an acoustic modem and a pair of look-uptables, a-priori built on the basis of the assumed knowledge ofthe depth-dependent sound velocity profile. On such a basis,every AUV can compute its distance w.r.t. to any other neigh-bor team member, through time-of-flight measurements andthe exchanges of depth information only.

Keywords Marine systems · Communication controlapplications and systems · Estimation algorithms and theory ·

This research was partially funded by EU FP7 project “CO3AUVs:Cognitive Cooperative Control of Autonomous Underwater Vehicles”,under Grant Agreement n. 23 1378.

G. Casalino · A. Turetta · E. Simetti (B)Department of Communication Computer and System Science,University of Genoa, Via Opera Pia 13, 16145 Genova, Italye-mail: [email protected]

G. Casalinoe-mail: [email protected]

A. Turettae-mail: [email protected]

A. CaitiDepartment of Electrical Systems and Automation, University of Pisa,Largo Lucio Lazzarino 1, 56122 Pisa, Italye-mail: [email protected]

Localization systems · Navigation systems ·Motion estimation · Autonomous vehicles

1 Introduction

The paper deals with acoustic distributed localization ofteams of autonomous underwater vehicles (AUVs) and,more specifically, with the problem of accurately evaluatingthe distances between vehicles, by explicitly considering thepropagation anisotropy of the underwater medium (i.e. thechanges in the sound velocity profile as a function of depth).The problems posed by ray distortions are well-known in theunderwater acoustic literature and induce significant impli-cations on the problem of localization. Indeed, an under-water device receiving an acoustic signal cannot generallyestimate its range from the sound source, via the sole mea-surement of the time-of-flight (ToF) of the received wave,since it should also keep into account the effects of theacoustic propagation laws applied to the specific sound speedprofile within the considered area. This fact is well-knownand indeed the most recent and more sophisticated realiza-tions of acoustic localization devices, such as USBL andLBL systems (Ultra Short & Long Base Line, [11]), canactually provide corrections to range estimates, via acous-tic ray-tracing applied to measured ToF and angle of arrival(AoA).

Despite their apparent efficiency, there is a concrete limitin the applicability of the above systems in the frameworkof team cooperating AUVs. Such instruments are in factconceived for tracking the position of a mobile underwa-ter device, while they do not allow the underwater deviceitself be aware of its position, which remains an infor-mation available only at a centralized level. However, for

123

260 Intel Serv Robotics (2011) 4:259–270

achieving a good level of team cooperation, it is manda-tory that each team member knows its position with themaximum achievable precision. Moving from this consid-eration, this paper aims to contribute to the developmentof real time algorithms and methods based on ToF mea-surements and depth information sharing, as recently pro-posed in [2] by suitably exploiting the assumed knowledgeof the sound propagation characteristics of the operationalarea.

Previous treatments of the acoustic path distortion effectscan be found in [4,8], where LBL systems are considered, butthe ray correction is not performed on board the vehicle(s). In[14], the simplified solution of considering straight ray pathsis proposed using as constant sound speed the weighted depthaverage of the true sound speed. This latter solution may beuseful when propagation occurs mostly on the vertical, but itis shown not being accurate at oblique angles.

In this paper a novel algorithm is therefore proposed,based on a modified formulation of the sound-ray propa-gation laws allowing to efficiently handle the distorted andreflected acoustic ray paths and to produce accurate eval-uations of distances between pairs of AUV within a team,as well as between an AUV and the buoy elements of anLBL system. Further, the implementation of the proposedreal-time ray-tracing (RT2) technique is very simple. It justrequires the presence, on-board each vehicle, of an acousticmodem (already necessary for coordination purposes) andof a pair of look-up tables, a-priori built from the knowledgeof the depth-dependent sound velocity profile. The proposedRT2 algorithm can be easily hosted even on-board of low-cost AUVs. Among the others, the AUV [1], developed byour research team, on which we expect to experiment the RT2

method.Other than presenting details of the algorithm, the paper

will also show how its adoption reduces the distributed local-ization problem for AUV teams to its aerial counterpart,for which efficient filtering techniques for distributed local-ization already exist [3,12,13]. Some of these techniquesare therefore expected to be transferable to the underwaterfield, significantly reducing the high level of criticality gen-erally posed by underwater medium anisotropies. Moreover,the proposed algorithm can also be applied for the distrib-uted localization of underwater moving sensor networks (see[5] for a survey on this topic, and [6,10] for most recentresults).

The paper is organized as follows: in Sect. 2, a preliminarybrief review of sound-ray propagation theory is given; inSect. 3, the basic functional algorithms for the RT2 algorithmare described; in Sect. 4, the RT2 algorithm is described. Thesuccessive Sect. 5 show some simulative results of the pro-posed technique, including a sensitivity analysis. Section 6briefly discusses the distributed localization problem. Finallyconclusions are given in Sect. 7.

(a) (b)

Fig. 1 a Sound velocity profile as a function of depth in the watercolumn; b cylindrical coordinate system, sample ray path and corre-sponding angles accordingly with Snell’s law

2 Brief review of sound-ray theory

Let us consider a cylindrical coordinate system, with theorigin at the sea surface and the z axis pointing downwardtowards the sea bottom. It is assumed that the sound speed inwater can vary only with depth and not with range from thesource (depth-dependent sound velocity profile). With theseassumptions, acoustic propagation can be represented in theplane (z, r) of depth and range, independent from the azi-muth angle. The coordinate system for acoustic propagationis illustrated in Fig. 1b. Acoustic propagation will be treatedwith a ray-theory approach, which is a valid approximationwithin the usually high (above kHz) transmission frequenciesused in underwater localization and communication. More-over, the assumption of a range independent environmentallows for the use of the ray equations for a stratified mediaas reported in [7], pp.176. The acoustic source is assumed tobe at 0 horizontal range. By letting c(z) > 0 denoting soundvelocity, consider the associated Snell’s law:

cos(θ) = kc(z)

k = cos(θ0)

c(z0)∈

[0; 1

c(z0)

]; θ0 ∈

[−π

2; π

2

](1)

being θ0 the angle with the horizontal axis of a ray startingat depth z0 and θ the same one at a generic depth z, amongthose successively traversed by the same ray, as in Fig. 1.

In representation (1), a pair (z0; k) represents both (z0; θ0)

and (z0;−θ0) due to the parity of the cosine function, thusa single pair (z0; k) refers to a couple of trajectories. Notethat, since 1/k ≥ c(z), it follows that, for any given startingconditions (z0; k), the couple of resulting trajectories willtime-evolve within the depth range, including z0:

z ∈ [zu(k), zd(k)] ; k ∈ [0, 1/c(z0)] (2)

with zu(k), zd(k) the abscissas of the first-encountered upperand lower intersection points that the vertical line 1/k =c(z0) forms with c(z), when seen as starting from z0, asshown in Fig. 2 where, for a given z0, different values of 1/kare shown.

123

Intel Serv Robotics (2011) 4:259–270 261

(a) (b) (c)

Fig. 2 Sound speed profile as a function of depth and different lines1/k corresponding to different couples of ray solutions. The intersec-tion of any 1/k line with the sound speed profile determines the upperand lower depths within which the rays will be confined. a The rays areconfined in an “acoustic channel”, b the ray reaches the bottom, but isrefracted at zu , c the ray moves freely between the top of the surfaceand the bottom

Clearly for any given value of parameter k, zu(k) mustset to zero (surface level) and zd(k) set to zM (bottom level)whenever the corresponding vertical segment 1/k resultswith one or both its end-points on one or both such extremelevels. Thus, depending from the shape of c(z), some raysmay remain confined between two definite depths includedbetween surface and bottom, giving rise to the so calledacoustic channel.

By now considering the kinematic equations for a genericray, r = c(z)cos(θ), z = c(z)sin(θ), and constraint (1), thefollowing equations can be derived⎧⎨⎩

r = kc2(z)z = ±c(z)

√1 − k2c2(z)

θ = ±arccos(kc(z))(3)

where the “+” sign indicates the downward starting motionand the “−” sign refers to the upward starting one and wherefor given (z0; k), the couple of equations for z are definedwithin the interval (2).

Moreover upon integration, each one of such equa-tions monotonically reaches its associated interval extreme,respectively at the finite times (see Eq. 3.101 in [7]):⎧⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎩

td(z0, k) �z−

d∫z0

f (k, z) dz

tu(z0, k) �z0∫

z+u

f (k, z) dz

(4)

with

f (k, z) � 1

c(z)√

1 − k2c2(z)

in correspondence of which, in case both the extremes do notcoincide with the bottom and the surface, (as in Fig. 2a) it

(a) (b)

Fig. 3 a sound speed profile as a function of depth, with indication ofupper extremum zu for a given k; b the couple of ray-paths correspond-ing to the given k; note that ray evolution can be expressed either as afunction of depth and time (t) or of depth and range (r)

results z = 0. Such occurrences correspond to the achieve-ment of the finite-time equilibria points zu(k), zd(k). In termsof the sole kinematic equations (3), these equilibria can beshown to be both unstable. It follows that any perturbationwill almost surely force each z-motion having reached oneof the extrema to reverse its direction, yielding to periodicevolutions. Note that the same result can be obtained morerigorously including all the terms from the wave equation, inparticular the dynamics for k and for χ = sin(θ)/c(z), seefor instance [7], pp.152. This is the case usually referred inphysics as total reflection.

In case instead one or both of the extrema coincide with thesurface and/or the bottom (Fig. 2b, c) surface/bottom reflec-tions also impose a periodicity and must be accounted for.This is qualitatively depicted in Fig. 3, which is relevant tothe case of Fig. 2b.

From (4), the time period T (k) (see Fig. 3) can be theneasily calculated as:

T (k) � 2

z−d∫

z+u

f (k, z) dz (5)

Further the ratio of the second and the first of (3) leads to:

dz

dr= ± 1

kc(z)

√1 − k2c2(z) (6)

which establishes a one-to-one correspondence between thepair of time-z motions z(z0, k, t) resulting from the secondin (3) with the couple of distance-z motions z(z0, k, r) result-ing from the integration of (6). The representation of the pairof distance-z motions on the (z, r) plane also exhibits peri-odic behaviours, which are qualitatively similar to those oftheir companion time-z motions. This explains why the sameFig. 3 has been used for representing both type of motions.

Moreover, by causally inverting (6) within a period (seealso Eq. 3.97 in [7]) the resulting distance-period R(k) is:

123

262 Intel Serv Robotics (2011) 4:259–270

(a) (b)

Fig. 4 a Sound speed profile as a function of depth, with indicationof the chosen depths za, zb and of the chosen k. b The couple of raypaths corresponding to the given k showing the four intersections of theray with the depth zb within one period, either in time or in range. �i, jrepresents the travel time between points i, j , while ρi, j represents thehorizontal travel distance between the points i, j

R(k) �z−

d∫

z+u

g(k, z) dz ; g(k, z) � kc(z)√1 − k2c2(z)

(7)

3 Basic algorithms

Given a pair of depths za, zb, for any assigned admissibleparameter k (satisfying 1/k ≥ max{c(za), c(zb)} the datasets Tab(k) and Rab(k) can be defined, as respectively con-stituted by all the possible travel times and their one-to-oneassociated horizontal travel distances connecting the depthsza, zb. By now noting that the horizontal travel distance (orequivalently the travel time) of any ray connecting the depthsza, zb is constituted by an integer number of horizontal-distance periods (time-periods) plus one out of four possi-bilities of connection (as shown in Fig. 4, where notation isintroduced), the following expressions for the sets Tab(k) andRab(k) can be stated:

{Tab(k) = Tab(k) + nT (k)

Rab(k) = Rab(k) + n R(k);

⎧⎨⎩

Tab(k) �{τ

jab(k); j = 1, . . . , 4

}Rab(k) �

{r j

ab(k); j = 1, . . . , 4} ;

(8)

where the finite sets Tab(k) and Rab(k), respectively, admitthe following representations:

Tab(k) =

⎧⎪⎪⎨⎪⎪⎩

τ 1a,b = �a,b

τ 2a,b = �a,b + 2�b,d

τ 3a,b = �a,b + 2�a,u

τ 4a,b = �a,b + 2�a,u + 2�b,d

⎫⎪⎪⎬⎪⎪⎭

(k)

(9)

Fig. 5 Sound speed profile as a function of depth and correspondingintegral as defined in (11) either in time or horizontal range

Rab(k) =

⎧⎪⎪⎨⎪⎪⎩

r1a,b = ρa,b

r2a,b = ρa,b + 2ρb,d

r3a,b = ρa,b + 2ρa,u

r4a,b = ρa,b + 2ρa,u + 2ρb,d

⎫⎪⎪⎬⎪⎪⎭

(k)

(10)

From (8), (9), and (10) it is easy to see that, in corre-spondence of any given triple (za, zb, k) any element of theresulting Tab(k), Rab(k) sets can be generated by knowing afinite number of parameters: the period T (k) or R(k) plus thefinite sets Tab(k), Rab(k). As a consequence a pair of look-uptables, termed as partial travel time (PTT) and partial trav-eled distance (PTD) containing data for on-line evaluatingsuch parameters can be conveniently constructed as hereaf-ter explained.

Assume the sound velocity profile function c(z) is a-pri-ori available. Then, for any 1/k (made gradually increasingvia suitable step increments) detect its associated segmentswhere 1/k ≥ c(z). In correspondence of each one of them,evaluate the following integral functions (by arbitrarily con-sidering either the “+” or the “−” forms)

⎧⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎩

�z(k, z) = ±z∫

z

f (k, z) dz

ρz(k, z) = ±z∫

z

g(k, z) dz

; z ∈ (zu, zd) (11)

where z is the abscissa of any absolute minima of within theassociated segment (zu, zd) (Fig. 5).

Once both PTT and PTD tables have been filled with terms�z(k, z) and ρz(k, z), for any given triple (za, zb, k), theterms appearing in (9), (10) can be directly evaluated viaa finite number of simple look-up operations:⎧⎨⎩

�a,b(k) = |�z(k, za) − �z(k, zb)|�b,d(k) = |�z(k, zb) − �z(k, zd)|�a,u(k) = |�z(k, za) − �z(k, zu)|

(12)

T (k) = 2 |�z(k, zu) − �z(k, zd)| (13)

123

Intel Serv Robotics (2011) 4:259–270 263

⎧⎨⎩

ρa,b(k) = |ρz(k, za) − ρz(k, zb)|ρb,d(k) = |ρz(k, zb) − ρz(k, zd)|ρa,u(k) = |ρz(k, za) − ρz(k, zu)|

(14)

R(k) = 2 |ρz(k, zu) − ρz(k, zd)| (15)

from which Tab(k), Rab(k), as well as also Tab(k), Rab(k),follow immediately.

The PTT and PTD look-up tables, whose computationhas just been described, can now be considered as a uniquebasic functional block that, when receiving in input the triple(za, zb, k), it immediately provides as output the data vectorVab(k) � [T, Tab|R, Rab](k).

Such block will represent one of the fundamental com-ponents of the complete processing system for horizon-tal distance evaluations that will be hereafter described.Other necessary processing elements are the so called traveltime checker (TTC) and traveled distance checker (TDC)functional blocks, respectively accomplishing the followingtasks: given a couple of depths za, zb, a travel time τ (a hor-izontal travel distance r ) and a conditioning parameter k;check if the two depths can be connected at time τ (with dis-tance r ) by a ray with parameter k; and in case provide thecorresponding associated traveled distance rab(k, τ ) (traveltime τab(k, r)).

With reference to the above tasks, the following couple ofvery similar algorithms can be used:

1. TTC-Algorithm. Inputs: Vab(k), τ

– n � �τ/T (k)�– τ � τ − nT (k)

– if τ ∈ Tab(k)

– set k as valid– i = index of τ

– rab(k, τ ) = r iab(k) + nT (k)

– else– set k as invalid

2. TDC-Algorithm. Inputs: Vab(k), r

– n � �r/R(k)�– r � r − n R(k)

– if r ∈ Rab(k)

– set k as valid– i = index of r– τab(k, τ ) = τ i

ab(k) + n R(k)

– else– set k as invalid

4 RT2: horizontal range evaluation

By composing the processing elements introduced in the pre-vious section, the complete implementation of the real-time

Fig. 6 Block diagram of the algorithm to evaluate the minimal set ofhorizontal distance candidates between the vehicles A, B

ray-tracing (RT2) algorithm for horizontal range evaluationcan now be described.

It is assumed that an underwater vehicle B is located atzb depth, known since it is provided by its on-board depth-meter. Vehicle B receives a signal from another vehicleA transmitting from depth level za. Such signal is furtherassumed encoding the time instant ta of its transmission, plusits departing depth za. The vehicle clocks are assumed to besynchronized. It is finally assumed that vehicle B is able todiscriminate the first arrival of the signal from vehicle A, andto separate it from the subsequent, lower intensity, replicasdue to multi-path. Note that the assumptions just made aresimilar to those routinely used in quite a number of exist-ing commercial or prototypal equipments. In addition to theprevious assumptions, it is further required to the vehiclesto have the pair of look-up-tables PTT and PTD (a-priorioff-line evaluated from the assumed knowledge of the soundprofile c(z)).

Under the above assumptions, vehicle B can evaluate (viatrivial difference) the travel time τ spent by the sound raythat, as the first one received among many possible others,has reached B starting from A. From the computed traveltime, the following processing mechanism (see Fig. 6) pro-vides a minimal set of possible candidate horizontal distancesfrom vehicle A.

First of all, the functional block PPT–PTD, containingthe look-up tables, receives as input the couple of consid-ered depths za , zb. Then, at each stage i; i = 1, . . . , N ofthe algorithm, such a block receives the value 1/ki , which isused for accessing the look-up tables and computing the vec-tor Vab(ki ), as described in the previous section. The resultingVab(ki ) is then given as input to the unique TTC block, to agroup of, say M , TDC blocks and to a shift buffer.

As indicated in the above related algorithm, the job ofthe TTC block is to check, at every stage, if the measuredtravel time τ can be obtained by the data contained in theinput vector Vab(ki ). If such is the case, the resulting distance

123

264 Intel Serv Robotics (2011) 4:259–270

rab(i) � rab(ki , τ ) represents one of the candidate horizontaldistances compatible with the measured travel time τ . Sucha distance is hence given as input to the first available TDCblock.

At the beginning of the algorithm every TDC block is inac-tive, with its output set to zero. When, at a certain stage, saythe pth, an inactive TDC, say the j th, receives a candidate dis-tance rab(p), it becomes active (b j = 1) and stores the valuerab(p). Then, at any successive i th stage (i = p+1, . . . , N ),it receives a new vector Vab(ki ) and checks if the associatedhorizontal distance rab(p) could have been covered by a dif-ferent ray, now parametrized by the new value ki �= kp.

If such an occurrence is found at a later stage, say q,the considered TDC block then computes the corresponding“virtual” travel time τab(kq , rab(p)) and compares it with the“real” time τ , actually measured. Two cases can happen:

1. τ ≤ τab(kq , rab(p)) which implies that the considered“virtual” ray would have arrived not before than the“real” one;

2. τ > τab(kq , rab(p)) which implies that the considered“virtual” ray would have been received before the “real”one, if the vehicle were at the considered horizontal-distance rab(p).

In the first case, the block maintains its output as active andkeeps on working in the same way for any successive i thstage (i = q + 1, . . . , N ). In the second case, instead, theTDC block becomes inactive (b j = 0) and the associatedcandidate horizontal distance rab(p) is discarded. Indeed, ifthe vehicle were at the horizontal distance rab(p), it wouldhave been reached by the ray parametrized by k = kq at anearlier time than τ ; i.e. against the previous assumption thatthe first pulse is received at time τ .

The overall process is then continued till the N th stage.At that point, the set of TDC blocks with a non-zero outputbit contains the set of, say m, still-valid candidate distancesamong which looking for the real one.

In case m = 1 the only still-valid candidate distance isobviously coincident with the real one and the procedure iscompleted. Otherwise a simple further attempt to reduce theset of candidates may be performed. To this aim note that,in the procedure so far described, for any computed candi-date distance rab(p), the associated TDC block performedconsistency checks only by considering the set of vectorsVab(ki ); i = p + 1, . . . , N . Since it is certainly convenientperforming consistency checks w.r.t. all the possible vectorsVab(ki ), also the set of vectors obtained for i = 1, . . . , p − 1should be considered for sake of completeness. To this aima “shift buffer” is introduced in Fig. 6, for temporarily stor-ing the sequence of vectors Vab(ki ), in order to (eventually)allow the execution of all the still pending checks, once stageN has been reached.

At the end of the overall process, the remaining outputbits set to one indicate the resulting minimal set of horizontaldistance candidates.

An example where the minimal set contains more than onesolution, even if unlikely from the point of view of oceano-graphic conditions and source-receiver geometry, is the onewhere receivers at different ranges, but at the same depth,may receive as first arrival a signal from the same source atthe same time.

In [4] a classification has been proposed for isotemporalcurves, i.e., the set of all points in the depth-range plane thatare reached by the acoustic rays coming from the same sourceat the same time and before any other acoustic ray has reachedthem. Examples reported in [4] shows that indeed there arecases in which the isotemporal curve has contribution fromboth direct arrivals and bottom/surface or totally reflectedarrivals, corresponding to different ranges at the same depth.

In the following a possible algorithm to uniquely deter-mine the real range based on the acoustic intensity of thearrival is given, and derived in the spirit of the computingblocks and look-up table developed so far. However, it has tobe remarked that the non-uniqueness problem is not crucial inmultiple vehicles localization: in fact, in order to completelylocalize one vehicle, range estimates from multiple vehiclesare needed, in order to set up a triangulation scheme. Thescheme itself will rule out the possible range solutions notcorresponding to the physical situations (it may be arguedthat there may still be cases in which the ambiguity is notresolved with three or even more vehicles; however, suchcases require a combination of particular geometric symme-tries in the relative position of the vehicles together withspecific environmental conditions that their practical occur-rence at sea can be ruled out remorselessly). Moreover, evenwith two vehicles, a change in relative position (for instancein depth) will lead to the loss of the multiple solutions notcorresponding to the true one; hence the presence of spuri-ous solution is unstable and potentially resolvable within thetriangulation computation.

Notwithstanding the consideration of the previous para-graph, for the sake of completeness an additional computa-tional block is now described to solve the range ambiguitywhenever it may occur. The entire previous analysis has beenbased on the acoustic travel time alone, without consider-ation of acoustic intensity loss. This is obviously not true,since for increasing traveled length, the acoustic intensityassociated to any ray suffer from increasing loss (assumingspherical propagation, the loss is proportional to the squareof the traveled distance). Surface/bottom reflections generateadditional loss mechanisms. On this basis, similarly to whathas been done for the sets of travel times and horizontal traveldistances Tab(k), Rab(k), the data set Lab(k) may be intro-duced, comprising all the travel lengths (ray-path lengths)connecting two given depths za, zb for a given admissible k.

123

Intel Serv Robotics (2011) 4:259–270 265

This new data set also results one-to-one related with eachset Tab(k), Rab(k); in particular,

Lab(k) = Lab(k) + nL(k);Lab(k) �

{l jab(k); j = 1, . . . , 4

}(16)

with L(k) now analogously representing the length period,while Lab(k) is the associated finite set of connections (sim-ilarly to (8)), only composed by four elements, for which itresults (in analogy with (9) and (10)):

Lab(k) =

⎧⎪⎪⎨⎪⎪⎩

l1a,b = �a,b

l2a,b = �a,b + 2�b,d

l3a,b = �a,b + 2�a,u

l4a,b = �a,b + 2�a,u + 2�b,d

⎫⎪⎪⎬⎪⎪⎭

(k)

(17)

The terms in (17) can be directly computed, jointly with thelength period L(k), as:⎧⎨⎩

�a,b(k) = |�z(k, za) − �z(k, zb)|�b,d(k) = |�z(k, zb) − �z(k, zd)|�a,u(k) = |�z(k, za) − �z(k, zu)|

(18)

L(k) = 2 |�z(k, zu) − �z(k, zd)| (19)

The various terms in (18) and (19) can be stored in an addi-tional look-up table, strictly similar to PTT–PTD and termedPartial travel lengths (PTL), which is built on the basis ofthe length abscissa integral function

�z(k, z) = ±z∫

z

√1 + g2(k, z) dz (20)

At this point, by adding the PTL look-up-table to the algo-rithm in Fig. 6, thus making the new PTL, PTT, or PTD blockoutputting the augmented vector [Vab|L , Lab](ki ), the m hor-izontal distance candidates joined with their associated totaltravel lengths can be computed. Knowing the source inten-sity, and assuming to measure also the received intensity,simple loss models can now provide the unique solution tothe range localization problem.

5 Simulative results

In this section, some preliminary simulation results are pre-sented. The results have been obtained using a ray tracingsimulator to compute the true ray trajectory, and the timeτ so obtained has been used as input to the RT2 algorithm,as if it was received from the vehicle’s modem. The locali-zation results have been compared to the usual assumptionof straight ray propagation, using the average speed alongthe water column. In the simulations, the receiver has beenpositioned at different radial distances from the emitter (witha step size of 1 m), in such way to see the different perfor-mances of the algorithm.

1420 1440 1460 1480 1500 1520−100

−80

−60

−40

−20

0

Sound Speed [m/s]

Dep

th [m

]

Fig. 7 Sound speed profile used in Tests 1.1 and 2.1. The profile usedin the simulation is exactly known by the RT2 algorithm

500 1000 1500 20000

5

10

15

20

25

Range [m]

Err

or [m

]

Straight Approx.RT2

Fig. 8 Test 1.1: plot of the absolute error of the proposed RT2 algo-rithm compared with a straight ray approximation

5.1 Simulations under perfect knowledge of theenvironment

In these cases, the RT2 algorithm and the straight ray approx-imation use the exact sound speed profile used in the simu-lator.

5.1.1 Test 1.1

The first test refers to the sound speed profile shown in Fig. 7and the results are presented in Fig. 8. In this case, the emit-ter is located at a depth of za = 60 m, while the receiver ispositioned at a depth of zb = 90 m.

As can be seen, except for a few peaks/outliers that willbe discussed in a separate section, the error of the RT2 algo-rithm is practically zero, compared to about 20 m of thestraight ray approximation. The big jumps in the error of thestraight ray approximation are due to the jumps which arenaturally occurring in the real simulated ToF and to the factthat the straight ray approximation cannot actually accountfor them. As it can be easily seen, such natural discontinu-ities in the time occur in correspondence of changes in the

123

266 Intel Serv Robotics (2011) 4:259–270

500 1000 1500 20000

10

20

30

40

50

Range [m]

Err

or [m

]

Straight Approx.RT2

Fig. 9 Test 2.1: plot of the absolute error of the proposed RT2 algo-rithm when compared with a straight ray approximation

type of solutions (or solution “family”). For example, raysthat propagate between the given za and zb without reflec-tion on the bottom or on the surface, are characterized by amaximum range they can reach. After such range, the firstray is one that has either reflected on the surface or on thesea floor. In either case, the path of the ray has changed in adiscontinuous way, and so does also the time needed to reachthe corresponding range at depth level zb.

5.1.2 Test 2.1

In the second test, the same profile is used, however the posi-tion of the emitter is changed to za = 40 m and the receiver’sone to zb = 60 m. Thus, the pair is now inside the so calledacoustic channel. The results of this simulation are shown inFig. 9. Again, neglecting the outlier, the RT2 algorithm yieldsexcellent results, as compared to the high errors committedby a straight ray approximation, where, due to the highernonlinear nature of the acoustic channel, the error increasesto about 50 m.

5.1.3 Test 3.1

In this test, the profile is changed to the one of Fig. 10,which is even more complicated. The emitter is located atza = 30 m and the receiver at zb = 90 m. Thus in thiscase, the speed profile prevents rays between θ = 0 ◦ andθ = arccos(c(za)/c(60)) = 9.36 ◦ to reach the depth zb.

Figure 11 shows the results of this simulation. Again,except two outliers, the RT2 algorithm captures the ray prop-agation very well, and is able to keep the error at basicallyzero in all the simulated range.

1480 1490 1500 1510 1520−100

−80

−60

−40

−20

0

Sound Speed [m/s]

Dep

th [m

]

Fig. 10 Sound speed profile used in Test 3.1. The profile used in thesimulation is exactly known by the RT2 algorithm

500 1000 1500 20000

5

10

15

20

25

Range [m]

Err

or [m

]

Straight Approx.RT2

Fig. 11 Test 3.1: plot of the absolute error of the proposed RT2 algo-rithm when compared with a straight ray approximation

5.2 Outlier analysis

When the RT2 algorithm has been presented in Sect. 4 nomention has been made about the necessary discretizationsto be used. Indeed there are a few of them, namely:

– the integrals leading to the PTT and PTD tables are cal-culated with a fixed dz;

– their values are stored in the PTT and PTD tables with afixed step not necessarily coinciding with dz;

– the value of k is also discretized.

For instance, each integral is performed with a step ofdz = 0.00001 m, the values are instead stored in the tableonly at each 0.1 m, otherwise the table would be too huge tobe memorized. However, such discretization is not critical.

More important is instead the discretization performedover k. In these simulations, around 30,000 values of k havebeen used.

In the TTC algorithm, when performing the check τ ∈Tab(k), it is easy to note that, since k has been discretized,the check will rarely hold true exactly. Thus, a threshold of

123

Intel Serv Robotics (2011) 4:259–270 267

some sort has to be introduced. With such threshold, multiplevalues of k may now pass this extended check. As a conse-quence, in order to limit the number of solutions, a interpo-lation is made between the solutions belonging to the same“family”, i.e. direct rays, rays reflected from surface, reflectedfrom bottom, or both (see Fig. 4 for a representation of these4 family of solutions).

However, such interpolation may fail in two critical cases:

– inside an acoustic channel, when the receiver is close tothe bottom zd(k) (or the top zu(k)) of the channel;

– at a range very close to a change of the “family” of thesolution.

The big spike in Fig. 9 is actually an instance of thefirst, whereas for example the spikes in Fig. 11 occursnear a change of solution “family”. However, since theseerrors occur for very few values of τ , their effect can besubsequently excluded by the triangulation scheme to becontemporarily used for localization. Indeed, the presenceof multiple buoys or vehicles allows, considering that therange cannot actually have any abrupt jumps, to automati-cally discard the buoy/vehicle range with such error from thetriangulation algorithm itself.

Finally, a better interpolation for the first case is currentlyunder development and will hopefully better mitigate thatproblem.

5.3 Sensitivity analysis

In order to validate the sensitivity of the algorithm to errors inthe sound speed profile, more simulations have been carriedout. In all the following cases, the speed profile used by theray tracer simulator, in order to compute the true ToF τ isdifferent from the sound speed profile used by the RT2 algo-rithm and the straight ray approximation. These simulationsare important as in practical situations the speed profile willbe sampled, and known with a certain degree of error.

5.3.1 Test 1.2

In this test, the sound speed profile used are shown in Fig. 12.The profile used is the result of sampling the true one every20 m. The emitter is located at a depth of za = 60 m, while thereceiver is positioned at a depth of zb = 90 m, thus outsidethe acoustic channel.

The result of this test is shown in Fig. 13. As can be seen,there is now a zone where the RT2 algorithm performs worsethan a straight ray approximation. This is due to the fact thatsince the sound speed profile is not perfectly known, the timediscontinuities occur at a different range, thus the RT2 picksthe wrong solution for a while. This is also shown by the

1420 1440 1460 1480 1500 1520−100

−80

−60

−40

−20

0

Sound Speed [m/s]

Dep

th [m

]

True ProfileProfile Used

Fig. 12 Sound speed profile used in Tests 1.2 and 2.2. The profile usedby the RT2 algorithm and the straight ray approximation is the result ofa sampling of the true one

500 1000 1500 20000

5

10

15

20

25

30

Range [m]

Err

or [m

]

Straight Approx.RT2

Fig. 13 Test 1.2: plot of the absolute error of the proposed RT2 algo-rithm compared with a straight ray approximation

fact that, when the discontinuity actually occurs, the errorbecomes very low again.

5.3.2 Test 2.2

This test exploits the same sampled sound speed profile, thogthis time the emitter are inside the acoustic channel, at a depthof 40 and 60 m, respectively.

The plot of the errors are reported in Fig. 14. The resultsare very similar to the previous simulation. The zones wherethe RT2 error is above zero are those just before a time dis-continuity, i.e. a change in the type of solution.

5.3.3 Test 1.3

The last two sensitivity tests use the profiles as shown inFig. 15. In this case, rather than being sampled, the soundspeed profile is injected with a random error of ±7 m/s.

The first of these two last tests is performed again outsidethe channel, as in Tests 1.1 and 1.2. The results are similaras in the previous cases, the main difference being the fact

123

268 Intel Serv Robotics (2011) 4:259–270

500 1000 1500 20000

10

20

30

40

50

Range [m]

Err

or [m

]

Straight Approx.RT2

Fig. 14 Test 2.2: plot of the absolute error of the proposed RT2 algo-rithm compared with a straight ray approximation

1420 1440 1460 1480 1500 1520−100

−80

−60

−40

−20

0

Sound Speed [m/s]

Dep

th [m

]

True ProfileProfile Used

Fig. 15 Sound speed profile used in Tests 1.3 and 2.3. The profile usedby the RT2 algorithm and the straight ray approximation differs fromthe true one with a random noise of ±7 m/s

500 1000 1500 20000

5

10

15

20

25

30

35

Range [m]

Err

or [m

]

Straight Approx.RT2

Fig. 16 Test 1.3: plot of the absolute error of the proposed RT2 algo-rithm when compared with a straight ray approximation

that the mean error is slightly increased due to the higheruncertainty in the sound speed profile (Fig. 16).

5.3.4 Test 2.3

The last test is again performed using the profiles of Fig. 15,and by placing emitter and receiver inside the acoustic

500 1000 1500 20000

10

20

30

40

50

Range [m]

Err

or [m

]

Straight Approx.RT2

Fig. 17 Test 2.3: plot of the absolute error of the proposed RT2 algo-rithm when compared with a straight ray approximation

Table 1 Absolute maximum errors and mean error using both the RT2

algorithm and a straight ray propagation approximation

RT2 Straight ray Approx.

Test # Max. Err (m) Avg. Err (m) Max. Err (m) Avg. Err (m)

1.1 1.57 0.004 23.4 12.7

2.1 43.9 0.1 48.5 24.7

3.1 3.32 0.06 23.9 7

1.2 29.7 2.1 23.6 12.9

2.2 39.8 1.7 45.7 22.9

1.3 31.6 5.1 23.7 12.9

2.3 12.2 2.2 46.5 23.5

channel. In this case, even with the uncertainty of the speedprofile, the proposed algorithm performs very well in all theconsidered range (Fig. 17).

5.4 Summary of results

All the previously shown simulations are concisely summa-rized in Table 1, which reports, for each scenario, the max-imum and average errors obtained using both the proposedRT2 technique and the straight ray approximation.

Moreover, the same results are reported in Table 2 in termsof their relative value, i.e. the error committed is comparedto the actual distance of the receiver from the emitter.

As it can be seen, whenever the speed profile is perfectlyknown (Tests 1.1, 2.1 and 3.1), the RT2 provides excellentprecision, of about a few centimeters, except for the presenceof a few outliers, as previously discussed. When the soundspeed is sampled (Tests 1.2 and 2.2) or known with error(Tests 1.3 and 2.3) the RT2 mean error is increased to a fewmeters. However a few considerations must be made:

– in average, there is still one order of magnitude of increaseof precision;

– the areas of greater error are limited in range.

123

Intel Serv Robotics (2011) 4:259–270 269

Table 2 Relative maximum errors and mean error using both the RT2

algorithm and a straight ray propagation approximation

RT2 Straight ray Approx.

Test # Max. Err (%) Avg. Err (%) Max. Err (%) Avg. Err (%)

1.1 0.55 0.0008 4.7 1.2

2.1 36.3 0.09 7.8 2.2

3.1 0.4 0.007 6 0.5

1.2 23.4 0.3 26.5 1.2

2.2 55 0.23 60 2

1.3 26.4 0.7 30.4 1.2

2.3 41.3 0.23 46.4 2.1

Fig. 18 Conceptual configuration of the team localization scheme, inwhich localization is obtained with respect to neighboring vehicles andultimately to the GPS-linked surface vehicles

In a common scenario where the localization is performedvia triangulation with four acoustic buoys, or in case of pres-ence of multiple vehicles, it is unlikely that those errors occurat the same time for more than one buoy or vehicle. Sincethe AUV moves continuously in space, a jump in the rangefrom one buoy or vehicle can be detected as outlier and thelocalization can still be performed with the remaining agents,whose time of flight can still exploit the RT2 algorithm for agreat increase in the accuracy of the range calculation.

6 Application to distributed localization

The framework underlying the problem of AUVs group local-ization is represented by a set of more than one AUV, eachone equipped with its on-board acoustic modem. Figure 18shows such scenario, where the presence at surface level ofone or more ASVs (or elements of an LBL system), eachone endowed with GPS absolute localization capabilities,has been also assumed.

Let us assume that any generic j th vehicle of the group(via modem and while moving) intermittently broadcast apulse immediately followed by a data-stream containing (fora total of eight numbers) the following information:

– its identification code j ;– the pulse emission instant t j

i ; i = 1, 2, . . .;

– its depth z ji at the pulse-emission instant t j

i ;

– the prediction ˆχ ji/ i−1 location χ

ji at instant t j

i ;

– the variance p ji/ i−1 of ˆχ j

i/ i−1.

It is meanwhile required that any other generic k-th vehiclediffering from the surface ones must also be able to translateits previous prediction χk

i/ i−1 of its horizontal location χki

(relevant to the pulse reception instant t ji > t j

i and generallyobtained via time-integration of its own odometric data) intothe upgraded estimate χk

i/ i of the same location at same time.Note that only the production, by part of a vehicle, of

prediction and estimates relevant to its horizontal positionsis actually required. This because the shared knowledge ofdepths projects the problem into the horizontal plane. More-over, the possibility offered by the RT2 technique of directlymeasuring the horizontal distances between AUVs even inpresence of non-negligible ray distortions and reflections,reduces the problem to be of the same type of those gener-ally considered within (planar) in-air and range-based dis-tributed localization applications. As a consequence, mostpart of the already existing in-air techniques for such prob-lem is expected to be adoptable also for the underwater envi-ronment, without any sensible further modification. Moreprecisely, it is deemed here that among the most appreciableadvantages that could emerge from the adoption of the hereproposed RT2 method, the following should actually reveala particular significance.

In terrestrial applications, the Gaussianity of the unavoid-able noise superimposed to any distance evaluation is recog-nized to be a very reasonable assumption. This is actually abasic support to the use of parametric filtering methods (likeKalman Filters, Extended Kalman Filters, or even IteratedKalman Filters, see for instance [3,12,13]) that generallyrevealed as effective, and easier to implement than non-para-metric method (like for instance Particle Filtering, [3,12,13])Then, accordingly with the RT2 possibility of direct mea-suring of underwater distances, most probably the abovecomment could be extended also to the underwater environ-ment. This in the sense that assuming the horizontal distancemeasurements superimposed by Gaussian noise may nowreveal less critical than when roughly used without takinginto account sound-wave distorting and reflecting effects. Asa matter of fact, the need of avoiding the criticality posed byGaussian assumptions, when in presence of ray propagationanisotropies and reflections, might be one of the basic moti-vation underlying the recent proposal of use of much moresophisticated non-parametric filtering techniques [9] forattempting to manage underwater anisotropies. Though, thehere proposed RT2 method does not at all prevent the use ofnon-parametric filters, in case deemed necessary (for instanceas an alternative way for producing outliers removals).

Within underwater distributed group localization, oneapproximate practical possibility for avoiding to fully face the

123

270 Intel Serv Robotics (2011) 4:259–270

problem of sound ray distortions and reflections (even thoseinduced by possible acoustic channels) could be that of try-ing to act in such a way to keep (horizontally and vertically)each vehicle sufficiently close to its neighbors. Instead, withthe use of the proposed techniques, such type of structuringof the AUVs group should not be anymore necessary, sincethe formulation of the proposed technique does not actuallymake any difference between approximately straight, dis-torted, or even reflected rays along any path length. The netconsequence of this should be therefore to allow even smallgroups of AUVs effectively working with more sparse, thusmore volumetric-extended, configurations.

7 Conclusions

By assuming the depth dependent sound velocity profilea-priori available and the AUVs equipped with acousticmodems, the paper has shown how the sound-ray propagationlaws can be managed in such a way to allow the preliminaryconstruction of a pair of look-up tables. On the basis of suchlook-up tables a simple algorithm (Real Time Ray Tracing—RT2) can be defined, for accurately evaluating the horizon-tal-distance separating two vehicles, even in the presence ofnon-negligible sound ray distortions and reflections.

Simulative results have shown that the algorithm, under aperfect knowledge of the sound speed profile, performs in anexcellent way, with an average (i.e. excluding the outliers)accuracy of few centimeters.

A sensitivity analysis has also been carried out in thesimulation campaign, by considering the sound speed pro-file known with error, or loosely sampled. The results havebeen presented in Sect. 5.3, and have shown that despitethe uncertainties, the algorithm still performs well. Thereare few regions where the error is greater than a straightray approximation, however such regions are very limited intheir extension and in average the proposed algorithm yieldsresults which are at least one order of magnitude better thana straight ray approximation. Moreover, since these regionsare characterized by jumps in the estimated range, they canbe easily detected and the range from that particular buoy orvehicle can be excluded from the subsequent triangulationscheme.

Future works will be aimed at extending the sensitiv-ity analysis by tackling scenarios where the sound speed

profile is not radially constant and scenarios where the depthof either the emitter or the receiver is not known exactly.

Finally, via this RT2 method, the AUVs distributedlocalization problem becomes the same of its terrestrial anal-ogous one, for which consolidated parametric filtering meth-ods already exist and could consequently be transferred to themore complex underwater field. Nevertheless, the developedRT2 method obviously does not prevent the use of nonpara-metric, nonlinear estimation methods.

References

1. Alvarez A, Caffaz A, Caiti A, Casalino G, Gualdesi L, TurettaA, Viviani R (2008) Folaga: a low-cost autonomous underwatervehicle combining glider and AUV capabilities. Ocean Eng 36:24–38

2. Bahr A, Leonard JJ, Fallon MF (2009) Cooperative localization ofautonomous underwater vehicles. Int J Robot Res 28(6):714–728

3. Bar-Shalom Y, Rong-Li X, Kirubarajan T (2001) Estimation withapplication to tracking and navigation. Wiley, London

4. Caiti A, Garulli A, Livide F, Prattichizzo D (2005) Localization ofautonomous underwater vehicles by floating acoustic buoys: a setmembership theoretic approach. IEEE J Oceanic Eng 30(1):140–152

5. Chandrasekhar V, Seah WK, Choo YS, Ee HV (2006) Localizationin underwater sensor networks—survey and challenges. In: Inter-national Workshop on UnderWater Networks (WUWNet 06). LosAngeles, CA, USA

6. Jaffe J, Schurgers C (2006) Sensor networks of freely driftingautonomous underwater explorers. In: International Workshop onUnderWater Networks (WUWNet 06). Los Angeles, CA, USA

7. Jensen FB, Kuperman WA, Porter M, Schmidt H (2000) Compu-tational ocean acoustics. Springer, New York

8. Kussat NH, Chadwell CD, Zimmerman R (2005) Absolute posi-tioning of an autonomous underwater vehicle. IEEE J Oceanic Eng30(1):153–164

9. Maurelli F, Krupinsky S, Petillot Y, Salvi J (2008) A particle filterapproach for AUV localization. In: IEEE Oceans 2008. QuebecCity, Quebec, Canada

10. Mirza D, Schurgers C (2008) Motion-aware self-localization forunderwater networks. In: International Workshop on UnderWaterNetworks (WUWNet 08). San Francisco, CA, USA

11. Philip DRC (2003) An evaluation of USBL and SBL acoustic sys-tems and the optimization of methods of calibration. Hydrogr J(108):18–25

12. Ristic B, Arulampalm S, Gordon N (2004) Beyond the Kalmanfilter. Artech House, London

13. Thrun S, Burgard W, Fox D (2005) Probabilistic robotics. MITPress, Massachusetts

14. Xiang X, Xu G, Zang Q, Guo Y, Huang X (2007) A novel acous-tic navigation scheme for coordinated heterogeneous autonomousvehicles. In: IEEE International Conference on Mechatronics andAutomation. Harbin, China

123