Method for positioning underwater glider based on virtual time difference of arrival of single beacon
11719784 · 2023-08-08
Assignee
Inventors
- Huifang Chen (Zhejiang, CN)
- Lei Xie (Zhejiang, CN)
- Feng Liu (Zhejiang, CN)
- Chenglei Lv (Zhejiang, CN)
- Wen Xu (Zhejiang, CN)
Cpc classification
International classification
Abstract
A method for positioning an underwater glider based on a virtual TDOA of a single beacon is provided. In the method, a positioning beacon periodically sends positioning messages, where the positioning message includes longitude, latitude and depth information of the positioning beacon; the underwater glider receives the positioning messages and records TOAs at which the positioning messages arrive at an acoustic positioning signal receiving module; and the underwater glider parses the positioning messages and stores positioning message data, creates virtual beacons based on beacon information and attitude information of the underwater glider, corrects the TOAs, and calculates a position of the underwater glider according to a TDOA algorithm. According to the method, the underwater glider passively listens to and receives the positioning messages without sending a positioning request to the positioning beacon, making the entire positioning process energy-saving with a certain degree of concealment.
Claims
1. A method for positioning an underwater glider based on a virtual time difference of arrival (TDOA) of a single beacon, wherein the method comprises: periodically sending, by a positioning beacon, a positioning message at a fixed time interval T, wherein the positioning message comprises longitude, latitude and depth information of the positioning beacon; receiving, by the underwater glider, the positioning messages, and recording time of arrivals (TOAs) at which the positioning messages arrive at an acoustic positioning signal receiving module; parsing, by the underwater glider, the positioning messages and storing positioning message data; and calculating a position of the underwater glider, which comprises: extracting, from the positioning message data, the TOAs t.sub.n−1, t.sub.n, and t.sub.n+1 of (n−1)-th, n-th, and (n+1)-th positioning messages, pitch angles θ.sub.n−1, θ.sub.n, and θ.sub.n+1, heading angles ϕ.sub.n−1, ϕ.sub.n, and ϕ.sub.n+1, and depths z.sub.n−1, z.sub.n, and z.sub.n+1 of the underwater glider at corresponding times; creating virtual beacons VB.sub.n−1 and VB.sub.n+1 wherein plane coordinates of the VB.sub.n−1 are (X.sub.VB,n−1,Y.sub.VB,n−1), a depth of the VB.sub.n−1 is Z.sub.VB,n−1, and latitude and longitude coordinates of the VB.sub.n−1 are (L.sub.VB,n−1,B.sub.VB,n−1); and plane coordinates of the VB.sub.n+1 are (X.sub.VB,n+1,Y.sub.VB,n+1), a depth of the VB.sub.n+1 is Z.sub.VB,n+1, and latitude and longitude coordinates of the VB.sub.n+1 are (L.sub.VB,n+1,B.sub.VB,n+1); calculating the position of the underwater glider based on the TDOA: correcting TOAs of the virtual beacons VB.sub.n−1 and VB.sub.n+1 to obtain corrected TOAs t.sub.VB,n−1 and t.sub.VB,n+1;
2. The method for positioning the underwater glider based on the virtual TDOA of the single beacon according to claim 1, wherein parsing the positioning messages and storing positioning message data comprises: parsing the positioning message to obtain longitude L.sub.RB, latitude B.sub.RB and depth Z.sub.RB of the positioning beacon; and reading current attitude information of the underwater glider, comprising a pitch angle θ.sub.n, a heading angle ϕ.sub.n and a depth z.sub.n at the time t.sub.n, wherein the pitch angle is an included angle between a moving direction of the underwater glider and a horizontal plane, the heading angle is an included angle between a horizontal component of the moving direction of the underwater glider and a due east direction, and the time t.sub.n is a time at which the n-th positioning message arrives at the underwater glider.
3. The method for positioning the underwater glider based on the virtual TDOA of the single beacon according to claim 1, wherein creating the virtual beacons comprises: creating the virtual beacon VB.sub.n−1 based on the positioning message data and the attitude information of the underwater glider at the times t.sub.n−1 and t.sub.n: taking a due east direction as a positive direction of X-axis and a due north direction as a positive direction of Y-axis, converting latitude and longitude coordinates (L.sub.RB,B.sub.RB) of a real positioning beacon parsed at the time t.sub.n into plane coordinates (X.sub.RB,Y.sub.RB)=LB2XY(L.sub.RB,B.sub.RB), wherein LB2XY represents a conversion from the latitude and longitude coordinates to the plane coordinates; in the plane coordinates of the
4. The method for positioning the underwater glider based on the virtual TDOA of the single beacon according to claim 1, wherein calculating the position of the underwater glider based on TDOA comprises: constructing a least squares positioning equation AX=H+Kd, wherein A, H, and K are known matrices, X is a position matrix to be solved, and d is an intermediate variable,
a.sub.1=N.sup.2(1,1)+N.sup.2(2,1)−1,
a.sub.2=2(M(1,1)−X.sub.RB)N(1,1)+2(M(2,1)−Y.sub.RB)N(2,1), and
a.sub.3=(M(1,1)−X.sub.RB).sup.2+(2,1)−Y.sub.RB).sup.2+(z.sub.n−Z.sub.RB).sup.2, wherein M and N are expressed by A, H and K as M=(A.sup.TA).sup.−1A.sup.TK and N=(A.sup.TA).sup.−1A.sup.TH, T represents transpose; and solving the equation to obtain
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
DETAILED DESCRIPTION
(2) The present disclosure will be further described below in conjunction with specific embodiments and the accompanying drawing.
(3) In a method for positioning an underwater glider based on a virtual TDOA of a single beacon, a positioning system used includes a positioning beacon deployed on the seabed, and an acoustic positioning signal receiving module, a positioning processing module, a pressure sensor, and an attitude sensor installed in the underwater glider.
(4) The positioning beacon includes a positioning acoustic transceiver, and is configured to calibrate a position of the beacon and broadcast a positioning message, where after the beacon is deployed on the seabed, it first operates in a position calibration mode to obtain its own position, and then switches to beacon working mode.
(5) The acoustic positioning signal receiving module includes a hydrophone and a signal receiving and processing module and is configured to listen to the positioning message sent by the positioning beacon, record content and a TOA of the positioning message. The pressure sensor is configured to obtain real-time depth information of the underwater glider. The attitude sensor is configured to obtain real-time attitude information of the underwater glider. The positioning processing module is configured to execute a positioning algorithm to estimate a position of the underwater glider.
(6) The positioning message has a total of 128 bits, which in turn includes: a 12-bit synchronize sequence number (SYN), configured to indicate a start bit of the positioning message; a 4-bit type code TYP, configured to indicate a type of the positioning message; an 8-bit beacon identifier ID, configured to indicate the ID of the beacon sending the positioning message; an 8-bit reservation RES, reserved for control functions; a 32-bit longitude information LON, a 32-bit latitude information LAT, a 16-bit elevation (depth) information HEI; and a 16-bit frame check code FCC, configured to correct a frame error of a message.
(7) The method specifically includes Step (1)-Step (4):
(8) Step (1): The positioning beacon periodically sends a positioning message at a fixed time interval T, where the positioning message includes longitude, latitude and depth information of the positioning beacon.
(9) Step (2): The underwater glider receives, by using the acoustic positioning signal receiving module, the positioning messages sent by the positioning beacon, and records TOAs at which the positioning messages arrive at the acoustic positioning signal receiving module.
(10) Step (3): The underwater glider parses, by using the positioning processing module, the positioning messages and stores positioning message data, which specifically includes (3-1)-(3-2).
(11) (3-1): The positioning processing module parses the positioning messages to obtain longitude L.sub.RB, latitude B.sub.RB and depth Z.sub.RB of the positioning beacon.
(12) (3-2): The positioning processing module reads current attitude information of the underwater glider from the attitude sensor, including a pitch angle θ.sub.n and a heading angle ϕ.sub.n at time t.sub.n, where the pitch angle is an included angle between a moving direction of the underwater glider and a horizontal plane, and the heading angle is an included angle between a horizontal component of the moving direction of the underwater glider and the due east direction; and the positioning processing module reads a depth z.sub.n of the underwater glider at the time t.sub.n from the pressure sensor, where the time t.sub.n is a time at which the n-th positioning message arrives at the acoustic positioning signal receiving module.
(13) Step (4): The position of the underwater glider is calculated, which specifically includes (4-1)-(4-4).
(14) (4-1): TOAs t.sub.n−1, t.sub.n, and t.sub.n+1 of the (n−1)-th, n-th, and (n+1)-th positioning messages, and pitch angles θ.sub.n−1, θ.sub.n, and θ.sub.n+1, heading angles ϕ.sub.n−1, ϕ.sub.n, and ϕ.sub.n+1, and depths z.sub.n−1, z.sub.n, and z.sub.n+1 of the underwater glider at corresponding times are extracted from the positioning message data stored by the positioning processing module.
(15) (4-2): Virtual beacons are created, as shown in
(16) a. creating a virtual beacon VB.sub.n−1 based on the positioning message data and the attitude information of the underwater glider at the times t.sub.n−1 and t.sub.n, where plane coordinates of the VB.sub.n−1 are (X.sub.VB,n−1,Y.sub.VB,n−1), a depth of the VB.sub.n−1 is Z.sub.VB,n−1 and latitude and longitude coordinates of the VB.sub.n−1 are (L.sub.VB,n−1,B.sub.VB,n−1); which specifically includes:
(17) taking due east as a positive direction of X-axis and the due north direction as a positive direction of Y-axis, converting latitude and longitude coordinates (L.sub.RB,B.sub.RB) of a real positioning beacon parsed at the time t.sub.n into plane coordinates (X.sub.RB,Y.sub.RB): (X.sub.RB,Y.sub.RB)=LB2XY(L.sub.RB,B.sub.RB), where LB2XY represents a conversion from the latitude and longitude coordinates to the plane coordinates; in the plane coordinates of the VB.sub.n−1,
(18)
and a depth of the VB.sub.n−1 is Z.sub.VB,n−1=Z.sub.RB+z.sub.n−z.sub.n−1; and
(19) converting the plane coordinates (X.sub.VB,n−1,Y.sub.VB,n−1) to latitude and longitude coordinates (L.sub.VB,n−1,B.sub.VB,n−1): (L.sub.VB,n−1,B.sub.VB,n−1)=XY2LB(X.sub.VB,n−1,Y.sub.VB,n−1), where XY2LB represents a conversion from the plane coordinates to the latitude and longitude coordinates;
(20) b. creating another virtual beacon VB.sub.n+1 based on the positioning message data and the attitude information of the underwater glider at the times t.sub.n and t.sub.n+1, where plane coordinates of the VB.sub.n+1 are (X.sub.VB,n+1,Y.sub.VB,n+1), a depth of the VB.sub.n+1 is Z.sub.VB,n+1, and latitude and longitude coordinates of the VB.sub.n+1 are (L.sub.VB,n+1,B.sub.VB,n+1);
(21)
(22) (4-3): The position of the underwater glider is calculated based on the TDOA as follows:
(23) since the TOAs of the (n−1)-th, the n-th and the (n+1)-th positioning messages received by the underwater glider are different, TOAs of the virtual beacons VB.sub.n−1 and VB.sub.n+1 are corrected to obtain corrected TOAs t.sub.VB,n−1 and t.sub.VB,n+1:
(24)
where ri is a rounding function.
(25) Latitude and longitude coordinates (L.sub.n,B.sub.n) of the underwater glider at the time t.sub.n are calculated, which specifically includes:
(26) (4-3-1): constructing a least squares positioning equation AX=H+Kd, where A, H, and K are known matrices, X is a position matrix to be solved, and dis an intermediate variable,
(27)
where C is an effective sound velocity, and x.sub.n and y.sub.n represent a plane coordinate position of the underwater glider at the time t.sub.n;
(28) (4-3-2): solving the intermediate variable d:
(29) constructing a quadratic equation with one variable a.sub.1d.sup.2+a.sub.2d+a.sub.3=0 about the intermediate variable d, where intermediate variables a.sub.1, a.sub.2 and a.sub.3 of the equation are:
a.sub.1=N.sup.2(1,1)+N.sup.2(2,1)−1,
a.sub.2=2(M(1,1)−X.sub.RB)N(1,1)+2(M(2,1)−Y.sub.RB)N(2,1), and
a.sub.3=(M(1,1)−X.sub.RB).sup.2+(M(2,1)−Y.sub.RB).sup.2+(z.sub.n−Z.sub.RB).sup.2,
where M and N are expressed by A, H and K as M=(A.sup.TA).sup.−1A.sup.TK and N=(A.sup.TA).sup.−1A.sup.TH, T represents transpose; and solving the equation to obtain
(30)
and discarding a singular value to obtain the intermediate variable d.
(31) (4-3-3): solving the position matrix X to obtain a horizontal position (L.sub.n,B.sub.n) of the underwater glider at the time t.sub.n:
(32)
converting the plane coordinates (x.sub.n,y.sub.n) to latitude and longitude coordinates to obtain the horizontal position of the underwater glider at the time t.sub.n: (L.sub.n,B.sub.n)=XY2LB(x.sub.n,y.sub.n), to complete the positioning of the underwater glider.