Littoral Underwater Acoustic Tracking Using Collaborating Autonomous Ocean Craft: Improving Communications through Dynamic Encoding and Adaptive Vehicle Motion T. Schneider Advisor: H. Schmidt 0 10 20 30 Depth (m) 40 50 60 70 80 90 100 0 200 400 600 Range (m) 800 1000 Problem | Collaborative Exploration Multiple autonomous underwater vehicles (AUVs) tasked on a mission: •target tracking (submarines, marine mammals) •geological survey •mine countermeasures Why multiple craft? •specialization •redundancy •spatial distribution Problem | Acoustic Target Tracking How do we get find source information: •heading: hydrophone array gives (left/right ambiguous) heading through traditional beamforming. can break ambiguity by vehicle motion. •range: use waveguide invariant, or triangulate using multiple craft. •depth: modal energy distribution? depth range2 range1 θ2 θ1 ~50-200 m Problem | Intervehicle Communication Multiple AUVs must share data: •broad operational goals •status (pose and health) •environmental data (sound speed profile) •tracking data (probabilistic?) Acoustic communication (acomms) is the only practical long range solution, as electromagnetic waves are rapidly attenuated in water. ...010 10100 10101 01001 01010 001... Acomms | Network We use an acoustic network based on the WHOI MicroModem (rate C: ~25 kHz carrier) •application layer: encoding: various message codecs, queuing: pAcommsHandler •transport layer: MOOS driver iMicroModem •link layer: MicroModem firmware •hardware: MicroModem (allows frequency shift / phase shift keying (FSK/PSK) from 80 to 5400 bits/sec). MOOS Computer pFramer By nature of the channel, throughput highly limited (low bandwidth, high error rate) pBTRCodec pCTDCodec pAcommsHandler iMicroModem MicroModem MOOSDB to other nodes and topside display Acoustic Communications 80 bps - 5400 bps Acomms | Dynamic Encoding pCTDCodec - example of highly compressed encoding scheme. need tov alsend: time, sal, depth, lat,(1)lon. can pr eci si on pr ecitemp, si on = round((v al − v al ) ∗ 10 ) v alkey ,encoded = round((v al − v al ) ∗ 10 ) (1) key ,encoded key mi n key mi n derive sound speed at receiver. pr eci si on pr eci si on = round((v al − v al + delta) ∗ 10 ) v al = round((v al − v al + delta) ∗ 10 ) (2) v al del ta,encoded del ta key d el ta,encoded del ta key Ideas to save space: (2) •global key: preshared data comprising operational pr eci si on pr eci si on sizekey =− ceil(log v al))mi n )to ∗ 10 )) (3) sizekey pi ece =(i.e. ceil(log almax ),∗ al 10max (3) pi ece parameters some [v almi2n((v ]−not be exceeded). 2 ((v e.g. global key for salinity can be [25, 40] (or tighter for eci si on eci si on = ceil(log ∗ delta) )) (4) sizedel2ta((2 ∗ delta) ∗ 102pr((2 )) ∗ 10pr(4) sizeregion). pi ece del ta pi ece = ceil(log specific •key frame: within a packet, key all frames after the first to the values in the first (assumes data samples are related). •dissolve byte boundaries. •discard unused precision (decimal places). e.g. 12.200 becomes 12.2 Acomms | Dynamic Encoding pCTDCodec - encoding scheme Data (Sal, Temp, Depth) CTD Packet (32, 64, 256 bytes) CCL Type (0x20) Decode MOOS Routing (1 byte) Global Key _ Key Frame (variable bits) Packet Key Delta Frame (variable bits) Packet Key _ Delta Frame + Delta Frame Global Key si on Frame Encode v alkey ,encod ed = round((v alkey − v almi n ) ∗ 10pr eciDelta ) (1) pr eci si on v alkey ,encoded = round((v al − v al ) ∗ 10 ) (1) ... key mi n First sample of packet Remaining samples eci si on Data (Sal, Temp, Depth) v alkey ,encoded = round((v alkey − v almi n ) pr ∗ eci 10sipron ) (1) ) (2) v ald el ta,encod ed = round((v aldel ta − v alkey + delta) ∗ 10 pr eci si on si on v alkey ,encoded = round((v alkey ) ∗ 10 ∗ 10pr eci ) (Similar aldel ta − v−alvkeyalmi +ndelta) ) (1) (2) to Excess N scheme) v aldel ta,encod ed = round((v eci si on ∗ 10pr eci si on ) = round((v al −tav− v al +prdelta) v al d elpita,encoded size almi ∗ 10 )) (3) key ece = ceil(log2 ((v almaxdel n )key pr eci onsi on pr si eci sizekey = ceil(log ((v al − v al ) ∗ 10 )) ) (2) (3) pi ece max mi n 2 = round((v al − v al + delta) ∗ 10 v aldel ta,encod ed del ta key (2) pr eci si on si on = ceil(log almax∗−10vpraleci )) =ececeil(log delta) (4) sized elsize mi n ) ∗))10 ta pikey ece pi 2 ((v 2 ((2 ∗ pr eci si on = ceil(log ((2 ∗ delta) ∗ 10 (4) size d el ta pi ece 2 sizekey pi ece = ceil(log2((v almax − v almi n ) ∗ 10pr eci si on)))) (3) (3) pr eci si on Acomms | Dynamic Encoding pCTDCodec: performance at GLINT08 sea trials (Pianosa, Italy): Used in three vehicles (Bluefin21, OEX, Folaga). Given operational parameters: •32 byte (FSK) message: 3 CTD samples (85.3 bits / sample) •64 byte (PSK) message: 7 CTD samples (73.1 bits / sample) •256 byte (PSK) message: 31 CTD samples (66.1 bits / sample) Compare to WHOI CCL format: 128 bits/sample Qualitative observation at GLINT08: dropped messages seemed highly linked to vehicle depth. can we explain / improve? Ray Tracing (Intuition) Plane wave in homogeneous fluid: c z Plane wave in linearly varying sound speed profile: c z Ray tracing follows path of rays launched at a fan from a point source. High number of rays passing through the receiver point corresponds to low transmission loss and vice versa. Ray Tracing (Mathematics) Ray equations (derived from the Helmholtz equation): dr1 dc dξ 1 dc dr dξ = cξ(s), = − = cξ(s), =− 2 dsc dr ds c 2 dr ds ds dr dξ 1 dcdr dξ 1 dc =dz cξ(s), =dζ − 2 dz1 =dccξ(s), dζ = − 12 dc ds ds c=dr ds = cζ(s), ds = − c dr = cζ(s), − ds c 2 dr dsc 2 dr ds ds dr 1 dc dz dζ 1 dc dr = cξ(s), dξ = − 1 dc dz dζ = ds 2 = cζ(s), = − = cζ(s), = − ds ds c dr z(s)) - trajectory of ray along arclength s ray along arclength ds (r (s), ds- trajectory c 2 drdsof ds cs 2 dr dξ dz =1 dz dζdr 1 dc )) - tangentc(ξ(s), vector ζ(s)) to ray- tangent vector to ray =− = cζ(s), == −cξ(s), jectory of ray along arclength s (r (s), z(s)) - trajectory of ray along arclength s ds ds c ds dsds c 2 dr angentwith vector to rayζ(s)) c(ξ(s), - tangent vector to ray(r these initial conditions for a fan of rays each with (r (s), z(s)) dζ of ra 1 dz (s), z(s)) - trajectory of ray along arclength s - trajectory = − = cζ(s), cos θ cos θ ds ζ(s)) - tangent ds vectc c(ξ(s), ζ(s)) - tangent vector to ray c(ξ(s), angle θ rto source: r = r , ξ = = rthe , ξ = s s c(0) (r (s), z(s)) - trajectory of ray along arclength s c(0) cos θ cos θ r = rs , ξ = cos θ to ray - tangent vector θ c(ξ(s), ζ(s)) sin θ r = rs , ξ = sin r r = r , ξ = c(0) s c(0) z = zs , ζ = z = zs , ζ = c(0) c(0) c(0) sin θ sin θ cos θ z sin θ r = r , ξ = z = z , ζ = z = zs , ζ = z = zs , ζ = s s c(0) c(0) (rs ,zs ) - sourcec(0) position rce position c(0) osition (rs ,zs ) - source position (rs ,zs ) - source position (rs ,zs ) - source positionsin θ z = zs , ζ = c(0) (rsComputational ,zs ) - source position Reference: F.B. Jensen, W.A. Kuperman, M.B. Porter, H. Schmidt. Ocean Acoustics. dq = cp(s), ds dp 1 d 2c = 2 q(s) 2 ds c (s) dn Ray Tracing (BELLHOP model) n - direction normal to ray path BELLHOP uses finite element rays: 1 p(0) = 2 c(0) dq dp 1 2d c dq = cp(s), dp = 1 d c q(s) 2 = cp(s), = 2c 2(s) dn q(s) ds ds 2 c (s) dn ds ds �1/2 � �path � c(s) cos(θ) 1normal n direction to ray � by the dynamic ray � n - direction normal to ray path Amplitude of the ray (A0(s) )=is computed � 4π r c(0)q(s) � q(0) = 0, equations: dq = cp(s), ds 1 2 2 1 dq dp 1 c d q(0) = 0, p(0) = dp 1 d c 0, p(0) = c(0) = =2 cp(s),2 q(s) = 2 q(0) 2=q(s) c(0) ds c (s) dn ds ds c (s) dn - direction ection normaln to ray pathnormal to ray path �1/2 �1/2 �1 �� c(s) cos(θ) � � � � � c(s) cos(θ) 1 (s) = A 0 � � � � A0(s) = 4π r c(0)q(s) � � 4π r c(0)q(s) 1 1 q(0) = 0, p(0) =q(0) = 0, p(0) = c(0) For high frequency problems, ray c(0) tracing is fast compared to normal modes and sufficiently accurate. �1/2 �1/2 �� � � � � c(s)Tracing, cos(θ)Theoretical 1 �Ray c(s) cos(θ) References: M.B. Porter,1Y-C Liu. Finite Element and Computational Acoustics � � � (s) = A (s) = A 0 � Computational Ocean Acoustics. � r c(0)q(s) F.B.0 Jensen, W.A. Kuperman,�M.B. H. Schmidt. 4πPorter, 4π � r c(0)q(s) Ray Tracing Setup | GLINT08 Experimental setup: •single AUV performing a variety of missions that we can consider here to place it at arbitrary locations (with range < 2km) relative to communications buoy (30 m depth). •water depth ~100 m (assume constant). •silt bottom: c = 1600 m/s, ρ = 1.8 g/cm^3, attenuation: 0.5 dB/λ Can we correlate modeled transmission loss to quality of received messages? Ray Tracing Setup | GLINT08 dots: AUV sampled profile (Jul 31 2008 12:16-19:41 UTC) yellow line: ship cast profile (Jul 31 2008 16:10 UTC) Single ship cast acceptable approximation Ray Tracing Results | GLINT08 Incoherent transmission loss for R/V Alliance CTD profile (Jul 31 2008 16:10 UTC) from a 30 m source (buoy) in a 100 m homogenous (in range) waveguide with silt bottom. Incoherent TL (dB) buoy Ray Tracing Results | GLINT08 Incoherent TL (dB) successfully decoded: dropped message: low error high error Ray Tracing Results | GLINT08 mean squared error (dB) Glint Jul 31 08 CTD 16:10 UTC | Messages: 12:16−19:41 UTC 0 successful messages linear fit −5 −10 −15 −20 30 35 40 45 50 calculated TL (dB) 55 60 65 70 Proposed Applications Back to target tracking example: •initial research suggests it is impractical to adjust depth to improve beamforming on target.¹ •therefore, it may be advantageous to make a depthvarying communications optimizing behavior (leaving heading / speed to behaviors responsible for present mission) Also, it may be useful to choose a message rate to satisfy a desired probability of reception (as higher rates tolerate less error). ¹ K. Cockrell, H. Schmidt. Depth dependence of plane wave beamformed data with a horizontal array in a waveguide. Presentation at 153rd ASA meeting, New Orleans. Acomms Improvement Behavior Scenario: •AUV undergoing mission that requires certain path in xyplane but does not mandate any particular depth (e.g. target tracking) •AUV has a certain (known) maximum dive/surface rate. •want to minimize depth maneuvers to keep array straight and save power. AUV closest point of approach range comms buoy Acomms Improvement Behavior current position “reachable” space given current heading possible best path (and stay at this depth?) AUV closest point of approach range comms buoy xy (top down) view Given sound velocity profile and position of receiving vehicle (or buoy), change depth to optimize placement in sound field. currently being implemented, then test in simulation. Incoherent TL (dB) buoy Hypothesis Testing choose H if Conditional Probability choose H0 if 0 choose H0 if fL|H (l |H0 ) >η fL|H (l |H1 ) η = P1 /P0 to minimize error. η = P1 /P0 to minimize error. choose H1 ηchoose = P1 /H P01 to minimize error. fL|H (l|H0 ) choose H1 fL|H (l|H1 ) l (ray tracing calculated TL) Want to “decide” before sending a message whether it will be received •hypothesis 0: message will be received •hypothesis 1: message will be dropped choose H0 if l (ray tracing calculated TL) η = P1 /P0 to minimize erro Conditional Probability choose H1 fL|H (l|H0 ) fL|H (l |H0 ) > f ( l | H ) fL|H (l|H1 ) 1 L|H 0.35 choose H0 if 0.3 0.25 0.15 fL|H (l|H1 ) chooseη H=0 Pif1 /P0 to minimize error. 0.2 fL|H (l|H0 ) Conditional Probability l (ray tracing calculated TL) Hypothesis Testing | GLINT Jul 31 08 choose H0 if choose TL) H0 if choose Hl 1(ray tracing calculated fL|H (l |H0 ) >η fL|H (l |H1 ) Conditional Probability η = P1 /P0 to minimize error. η = P / P to minimize error. 1 0 0.1 fL|H (l|H0 ) ηchoose = P1 /H P01 to minimize error. choose H1 0.05 fL|H (l|H1 ) choose H1 0 20 30 40 50 60 70 80 Given choice of hypothesis: l (ray tracing calculated TL) •transit to depth within choose ‘H0’ ifregime or Conditional Probability •choose different rate (which will have a different set of fL|H (l |H fL|H (l |H fL|H (l|H0 ) conditional probability densities) Proposed Multivehicle Experiment •small environmental AUV takes sound velocity profile with depth yoyo. •small AUV transmits profile acoustically to two (or more) tracking AUVs with arrays. •array AUVs localize and track source, varying depth to improve communication. Acknowledgments •H. Schmidt •K. Cockrell, S. Petillo, C. Pelekanakis •Ocean Acoustics Library authors (Acoustics Toolbox) •WHOI Acoustic Communications group •Crew of CRV Leonardo, NRV Alliance