Underwater robot positioning system
Through the combination of above-water and underwater positioning devices and multi-modal time synchronization algorithms, the problems of low positioning accuracy and weak endurance of underwater dredging equipment in complex environments have been solved, and the underwater construction needs of high precision, long endurance and dynamic positioning have been achieved.
Patent Information
- Application Number
- CN202510891379.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-30
- Publication Date
- 2025-10-14
AI Technical Summary
Existing underwater dredging equipment has low positioning accuracy and poor operating efficiency. It is unable to achieve high-precision, high-efficiency positioning and long-term endurance in narrow and confined spaces with unstable GNSS signals, turbid water and harsh environments.
It adopts a combination of water positioning devices, connecting devices and underwater positioning devices, uses floats, spherical bearings, tension sensors, positioning cables and cable winches, combines water inertial navigation modules, high-definition cameras, lidar and GNSS modules, and achieves high-precision positioning through multi-modal time synchronization algorithms, adapting to complex environments and providing long endurance.
It can achieve high-precision positioning in complex waters, adapt to unstable GNSS signals and turbid water environments, and has dynamic positioning capabilities and long endurance, meeting the high efficiency requirements of modern dredging operations.
Smart Images

Figure CN120778112A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of underwater construction positioning, in particular to an underwater robot positioning system. BACKGROUND
[0002] With the increase of port construction, channel dredging and inland lake dredging projects, the demand for underwater dredging operations gradually increases. Especially when dredging and related construction are carried out in narrow and restricted spaces, problems such as unstable GNSS (Global Navigation Satellite System) signal, long local underwater construction time, turbid water in the construction water area, etc. are faced. Traditional underwater dredging equipment mostly relies on manual operation or simple mechanical positioning methods, which have low positioning accuracy, poor operation efficiency, and are difficult to accurately control in harsh operation environments, and often cannot meet the requirements of modern dredging operations for high precision and high efficiency.
[0003] Therefore, there is an urgent need for a positioning system to solve the problems of insufficient positioning accuracy of underwater dredging equipment, limited space, inability to adapt to turbid water and harsh environment, and weak endurance. SUMMARY
[0004] The underwater robot positioning system provided by the embodiments of the present application has high positioning accuracy, is suitable for restricted spaces, has strong anti-interference performance, has dynamic positioning capability and long endurance.
[0005] The underwater robot positioning system provided by the embodiments of the present application includes a water positioning device, a connecting device and an underwater positioning device; the water positioning device includes a floating ball, a spherical bearing and a water positioning module; the connecting device includes a tension sensor, a positioning cable and a cable winch; the underwater positioning device includes an underwater positioning module, a depth gauge and an underwater robot; the floating ball is used to support the water positioning module; the spherical bearing is used to connect the water positioning module and the tension sensor, and to keep the water positioning device and the positioning cable in the same straight line; the water positioning module is used to determine first position information of the water positioning device; the tension sensor is used to monitor the tension of the positioning cable, so that the positioning cable is in a straight state; the positioning cable is used to connect the water positioning device and the underwater positioning device, and to send the first position information from the water positioning module to the underwater positioning module; the cable winch is used to release or tighten the positioning cable according to the tension of the positioning cable; the depth gauge is used to measure the depth of the underwater robot; the underwater positioning module is used to determine second position information of the underwater robot when the underwater robot is in a moving state, and to receive third position information of the underwater robot determined according to the first position information and the depth when the underwater robot is in a non-moving state.
[0006] In an embodiment, the waterborne positioning module is a simultaneous localization and mapping (SLAM) positioning module, and the SLAM positioning module comprises one or more of a waterborne inertial navigation module, a high-definition camera, a laser radar, and a global navigation satellite system (GNSS) module.
[0007] In an embodiment, the waterborne positioning module is configured to determine first position information of the waterborne positioning device by: obtaining sensor data of the waterborne inertial navigation module, the high-definition camera, the laser radar, and the GNSS module; and determining the first position information based on the sensor data.
[0008] In an embodiment, the waterborne inertial navigation module is configured to determine roll and pitch of the positioning cable.
[0009] In an embodiment, the underwater positioning module comprises an underwater inertial navigation module.
[0010] In an embodiment, the float ball comprises a microprocessor installed inside the float ball, and the microprocessor is configured to process the first position information of the waterborne positioning device, the tension of the positioning cable, the depth of the underwater robot, and the speed of the underwater inertial navigation module.
[0011] In an embodiment, the microprocessor is further configured to synchronize, by a multi-modal time synchronization algorithm, times at which the first position information of the waterborne positioning device, the tension of the positioning cable, the depth of the underwater robot, and the speed of the underwater inertial navigation module reach the microprocessor.
[0012] In an embodiment, the microprocessor is configured to process the speed of the underwater inertial navigation module by: determining, by the microprocessor, a motion state of the underwater robot based on the speed of the underwater inertial navigation module; when the speed of the underwater inertial navigation module is equal to 0, the underwater robot is in a non-moving state; and when the speed of the underwater inertial navigation module is greater than 0, the underwater robot is in a moving state.
[0013] In an embodiment, the microprocessor is configured to process the first position information of the waterborne positioning device, the tension of the positioning cable, and the speed of the underwater inertial navigation module by: when the underwater robot is in the non-moving state, determining, by the microprocessor, a state of the positioning cable based on the first position information and the tension, and controlling the cable winch based on the state of the positioning cable; and when the underwater robot is in the moving state, controlling, by the microprocessor, the cable winch based on the tension.
[0014] In one embodiment, the microprocessor is used to process the first position information of the above-water positioning device and the depth of the underwater robot, including: the microprocessor determines the position coordinates of the underwater robot based on the position coordinates of the above-water positioning device, the roll and pitch of the positioning cable, and the depth of the underwater robot.
[0015] The underwater robot positioning system provided in the above-mentioned embodiments of the present application utilizes a buoy to carry an above-water positioning module to achieve high-precision positioning above water. A positioning cable is used to connect the above-water positioning device and the underwater positioning device. The tension sensor connected to the positioning cable monitors the tension and controls the tension of the positioning cable in real time. Combined with the depth measured by the depth meter, the high-precision positioning coordinates above water are transmitted underwater during the rest intervals of the underwater robot. The above-mentioned underwater robot positioning device can use the underwater positioning module for positioning. Furthermore, when the underwater positioning module cannot accurately locate the position, the above-water positioning module can be used for positioning. Therefore, the underwater robot positioning system has high positioning accuracy, is adaptable to confined spaces, has strong anti-interference capabilities, and possesses dynamic positioning capabilities and long endurance. BRIEF DESCRIPTION OF THE DRAWINGS
[0016] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments of the present application.
[0017] Figure 1 is a schematic diagram of an underwater robot positioning system provided in an embodiment of the present application;
[0018] Figure 2 is a schematic diagram of another underwater robot positioning system provided in an embodiment of the present application;
[0019] Figure 3 is a schematic diagram of a spherical bearing in a vertical state provided by an embodiment of the present application;
[0020] Figure 4 is a schematic diagram of a spherical bearing in a tilted state provided by an embodiment of the present application;
[0021] Figure 5 This is a schematic diagram of another underwater robot positioning system provided in an embodiment of the present application. DETAILED DESCRIPTION
[0022] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application.
[0023] Similar reference numerals and letters denote similar items in the following drawings. Therefore, once an item is defined in one drawing, it does not need to be further defined or explained in subsequent drawings. At the same time, in the description of this application, the terms "first", "second", etc. are only used to distinguish the description and should not be understood as indicating or implying relative importance.
[0024] Currently, underwater positioning technology is developing rapidly and has been maturely applied to underwater robots, detection equipment, and submersibles. Related positioning technologies generally have the following problems:
[0025] 1. Insufficient positioning accuracy: Underwater positioning systems typically rely on a single positioning method, such as sonar, inertial navigation systems, or depth gauges. These systems suffer from poor positioning accuracy and stability in complex waters or confined spaces.
[0026] 2. Difficulty in application in confined spaces: Traditional positioning technology cannot operate effectively under bridges, docks, and other confined waters due to weak GNSS signals, narrow spaces, and complex structures.
[0027] 3. Turbid water and harsh environment: During dredging operations, due to the large amount of silt and impurities suspended in the water, underwater visibility is usually low, and sensors such as lasers and sonars are easily interfered with.
[0028] 4. Weak endurance: The performance of underwater multi-sensor fusion positioning technology has declined, and it cannot achieve long-term underwater endurance, requiring regular correction.
[0029] In view of this, an embodiment of the present application provides an underwater robot positioning system, the underwater robot positioning system includes an above-water positioning device, a connecting device and an underwater positioning device; the above-water positioning device includes a float, a spherical bearing and an above-water positioning module; the connecting device includes a tension sensor, a positioning cable and a cable winch; the underwater positioning device includes an underwater positioning module, a depth gauge and an underwater robot; the float is used to support the above-water positioning module; the spherical bearing is used to connect the above-water positioning device and the tension sensor, and keep the above-water positioning device and the positioning cable in the same straight line; the above-water positioning module is used to determine the first position information of the above-water positioning device; the tension sensor The sensor is used to monitor the tension of the positioning cable to keep the positioning cable in a straight state; the positioning cable is used to connect the above-water positioning device and the underwater positioning device, and transmit the first position information from the above-water positioning module to the underwater positioning module; the cable winch is used to release or tighten the positioning cable according to the tension of the positioning cable; the depth meter is used to measure the depth of the underwater robot; the underwater positioning module is used to determine the second position information of the underwater robot when the underwater robot is in a mobile state, and receive the third position information of the underwater robot determined based on the first position information and the depth when the underwater robot is in a non-mobile state. The underwater robot positioning device has the following advantages:
[0030] 1. High precision: It can achieve accurate positioning in complex water environments, provide reliable positioning information, and ensure precise control of dredging operations.
[0031] 2. Strong adaptability: can meet the positioning of GNSS signal and no GNSS signal scene, and automatically switch the positioning mode according to the positioning environment.
[0032] 3. Strong anti-interference: can deal with turbid water and poor visibility environment, has strong anti-interference ability, and ensures the stable work of the positioning system in complex environment.
[0033] 4. Long endurance: can realize long-time high-precision positioning underwater, especially in the case of 6-8 hours of construction period, to ensure the continuity of underwater construction positioning.
[0034] Figure 1 is a schematic diagram of a positioning system of an underwater robot provided by an embodiment of the present application, in which Figure 1 the underwater robot positioning system comprises a water positioning device 10, a connecting device 20 and an underwater positioning device 30.
[0035] Figure 2 is a schematic diagram of another positioning system of an underwater robot provided by an embodiment of the present application, in which Figure 2 the water positioning device 10 comprises a floating ball 101, a spherical bearing 102 and a water positioning module 103; the connecting device 20 comprises a tension sensor 104, a positioning cable 105 and a cable winch 106; and the underwater positioning device 30 comprises an underwater positioning module 107, a depth gauge 108 and an underwater robot 109.
[0036] The floating ball 101 is used to support the water positioning module 103; the spherical bearing 102 is used to connect the water positioning module 103 and the tension sensor 104, and make the water positioning device 10 and the positioning cable 105 keep in the same straight line when in the straightened state; the water positioning module 103 is used to determine the first position information of the water positioning device 10; the tension sensor 104 is used to monitor the tension of the positioning cable 105, so that the positioning cable 105 is in the straightened state; the positioning cable 105 is used to connect the water positioning device 10 and the underwater positioning device 30, and transmit the first position information from the water positioning module 103 to the underwater positioning module 107; the cable winch 106 is used to release or tighten the positioning cable 105 according to the tension of the positioning cable 105; the depth gauge 108 is used to measure the depth of the underwater robot 109; and the underwater positioning module 107 is used to determine the second position information of the underwater robot 109 when the underwater robot 109 is in the moving state, and receive the third position information of the underwater robot 109 determined according to the first position information and the depth when the underwater robot 109 is in the non-moving state.
[0037] The spherical bearing is installed 102 at the bottom of the float 101, the water positioning module 103 is installed at the top of the spherical bearing 102, the tension sensor 104 is installed at the bottom of the spherical bearing 102, one end of the positioning cable 105 is connected to the tension sensor 104, and the other end is connected to the cable winch 106. The cable winch 106, the underwater positioning module 107 and the depth meter 108 are all installed on the underwater robot 109.
[0038] Figure 3 is a schematic diagram of a spherical bearing in a vertical state provided by an embodiment of the present application, Figure 4 is a schematic diagram of the tilted state of the spherical bearing provided in the embodiment of the present application. Figure 3 and Figure 4 In the figure, spherical bearing 102 includes a bearing body 111, an upper end rod 112, and a tension sensor connection point 113. Upper end rod 112 is located at the top of bearing body 111, and tension sensor connection point 113 is located at the bottom of bearing body 111. Upper end rod 112 and tension sensor connection point 113 are located on the central axis 114 of bearing body 111. The water positioning module 103 is mounted on the top of spherical bearing 102, including: the water positioning module 103 is mounted on the upper end rod 111. The tension sensor 104 is mounted on the bottom of spherical bearing 102, including: the tension sensor 104 is mounted on the tension sensor connection point 112.
[0039] The water positioning module 103 is a SLAM (Simultaneous Localization and Mapping) positioning module, which includes one or more of a water inertial navigation module, a high-definition camera, a lidar, and a GNSS module.
[0040] The water positioning module 103 is used to determine the first position information of the water positioning device 10, including: obtaining sensor data from the water inertial navigation module, high-definition camera, lidar, and GNSS module; and determining the first position information based on the sensor data. The water inertial navigation module is used to determine the roll and pitch of the positioning cable. The water inertial navigation module is also used to determine the directional acceleration information of the SLAM positioning module. The directional acceleration information of the SLAM positioning module is mainly used to locate the water positioning device and ultimately obtain the position coordinates of the water positioning device.
[0041] The underwater positioning module 107 includes an underwater inertial navigation module. The underwater positioning module 107 is used to determine the second position information of the underwater robot 109 when the underwater robot 109 is in a mobile state, including: when the underwater robot 109 is in a mobile state, using the underwater inertial navigation module to determine the second position information of the underwater robot 109.
[0042] The float ball 101 comprises a microprocessor 110 installed inside the float ball; the microprocessor 110 is used to process the first position information of the water positioning device 10, the tension of the positioning cable 105, the depth of the underwater robot 109 and the speed of the underwater inertial navigation module. The microprocessor is also used to synchronize the time when the first position information of the water positioning device 10, the tension of the positioning cable 105, the depth of the underwater robot 109 and the speed of the underwater inertial navigation module reach the microprocessor 110 through a multi-modal time synchronization algorithm. The multi-modal time synchronization algorithm will be described in detail below, and will not be repeated here.
[0043] The microprocessor 110 is used to process the speed of the underwater inertial navigation module, comprising: the microprocessor 110 determines the motion state of the underwater robot 109 according to the speed of the underwater inertial navigation module; when the speed of the underwater inertial navigation module is equal to 0, the underwater robot 109 is in a non-moving state; when the speed of the underwater inertial navigation module is greater than 0, the underwater robot 109 is in a moving state. Wherein, the non-moving state includes a stop state and a working state.
[0044] The microprocessor 110 is used to process the first position information of the water positioning device 10, the tension of the positioning cable 105 and the speed of the underwater inertial navigation module, comprising: when the underwater robot 109 is in a non-moving state, the microprocessor 110 determines the state of the positioning cable 105 according to the first position information and the tension, and controls the cable winch 106 according to the state of the cable 105; when the underwater robot 109 is in a moving state, the microprocessor 110 controls the cable winch 106 according to the tension. The cable winch 106 comprises a cable winch control unit, which is used to receive the instructions of the microprocessor and release or tighten the positioning cable 105 according to the instructions. The control method of the cable winch 106 will be described in detail below, and will not be repeated here.
[0045] The microprocessor 110 is used to process the first position information of the water positioning device 103 and the depth of the underwater robot 109, comprising: the microprocessor 110 determines the position coordinates of the underwater robot 109 according to the position coordinates of the water positioning device 103, the roll and pitch of the positioning cable 105, and the depth of the underwater robot 109. The underwater positioning module 107 is used to receive the third position information of the underwater robot 109 determined according to the first position information and the depth when the underwater robot 109 is in a non-moving state, comprising: the underwater positioning module 107 is used to receive the position coordinates of the underwater robot 109 when the underwater robot 109 is in a non-moving state. The transmission method of the position coordinates will be described in detail below, and will not be repeated here.
[0046] Due to the particularity of the underwater robot's operating environment, its underwater operation process is: move - stop - work, and dredging construction is carried out by repeating this process. Each movement distance is short and the time is also short, so it is more appropriate to use an underwater positioning module for positioning during the movement. However, considering the limited endurance of a purely underwater positioning module, its positioning accuracy decreases after a period of time. Therefore, the embodiment of the present application uses a surface positioning module to assist the underwater robot in positioning. A float is used to carry the surface positioning module to achieve high-precision positioning on the water. A positioning cable is used to connect the float and the underwater robot. The tension of the positioning cable is monitored by a tension sensor connected to the positioning cable to control the tension of the positioning cable in real time. Combined with the depth information measured by the depth meter, the high-precision positioning coordinates on the water are transmitted underwater during the underwater robot's rest intervals. The above-mentioned underwater robot positioning device can use the underwater positioning module for positioning. At the same time, when the underwater positioning module cannot accurately locate, the surface positioning module can be used to achieve positioning. Therefore, the underwater robot positioning device has high positioning accuracy, is adaptable to confined spaces, has strong anti-interference capabilities, and has dynamic positioning capabilities and long endurance.
[0047] In one embodiment, the components of the underwater robot positioning device are described in more detail as follows:
[0048] 1. Float 101: Float 101 is a key component of the underwater robot's positioning system. Similar to a tumbler, it serves as a surface platform, maintaining vertical stability and preventing capsizing. Float 101 serves as a support platform for the surface positioning module 103 (also known as the SLAM positioning module). Its surface stability provides a positioning reference for the underwater positioning module 107 (also known as the underwater inertial navigation module). Float 101 not only serves as a surface stabilization platform but also contains a microprocessor 110 for data processing, control signal transmission, and system monitoring.
[0049] 2. Ball bearing 102: Figure 2 , the spherical bearing 102 is fixed on the bottom of the float 101. Figure 3 , fix the upper end of the tension sensor 104 to the bottom end of the central axis 114 of the bearing body 111, and install the water positioning module 103 on the top of the central axis of the bearing body 111 to ensure that during the traction process of the positioning cable 105, especially when the positioning cable 105 is in an oblique state, the positioning cable 105 and the central axis 114 of the bearing body 111 remain in the same straight line, ensuring that the water inertial navigation module in the SLAM positioning module can measure the roll and pitch of the oblique cable. Roll refers to the rotation angle of an object around its longitudinal axis, and pitch refers to the rotation angle of an object around its transverse axis. Figure 4, the spherical bearing 102 movable joint is similar to the gimbal structure, allowing a certain angle of inclination, the specific maximum allowable inclination angle can be designed according to the outer sleeve of the spherical bearing; the cable-stayed state, as long as the positioning cable 105 is straight, the bearing is fixed structure up and down, so it can guarantee the maximum degree of straight line, the arc caused by water flow, cable weight can be ignored.
[0050] 3, water positioning module 103: specifically can be SLAM positioning module, installed in the upper part of the floating ball 101, using water inertial navigation module, high-definition camera, laser radar, global navigation satellite system GNSS module and other sensor data fusion to realize positioning.
[0051] 4, tension sensor 104: the tension sensor 104 is carried on the bottom of the floating ball 101, fixed below the spherical bearing 102, connected to the top end of the positioning cable 105, used for real-time measurement of the tension of the positioning cable 105, convenient for controlling the release of the positioning cable 105 when the tension is too large, and the positioning cable 105 is tightened through the cable winch 106, so that the positioning cable 105 is kept as straight as possible.
[0052] 5, positioning cable 105: the positioning cable 105 is made of high-strength fiber and coated with plastic or rubber to enhance corrosion resistance, and contains a cable part using copper wire or optical fiber for data communication. The positioning cable 105 meets specific performance requirements, including strength, corrosion resistance, flexibility and other special requirements that can adapt to underwater environment. Considering the slow walking of the underwater dredging robot during construction process, and stopping moving forward for a certain distance to carry out underwater dredging operation, and so on. The positioning cable 105 is not only used to pull the floating ball 101 and the underwater robot 109, but also has the function of two-way communication. The information between the underwater robot 109 and the floating ball 101 can be transmitted in real time, so as to dynamically correct the underwater positioning deviation.
[0053] 6, cable winch 106: the cable winch 106 is installed on the underwater robot 109 and connected with the positioning cable 105. According to the real-time measurement of the cable tension by the tension sensor 104, the cable is automatically released or tightened.
[0054] 7, underwater inertial navigation module 107: when the underwater robot 109 is in moving state, the dynamic positioning in a short time adopts underwater inertial navigation positioning, and the latest coordinate information transmitted from water to water before each movement is taken as the initial coordinate, which continuously provides positioning for the underwater robot 109. When the moving time is longer or the reliability of inertial navigation positioning decreases significantly, the coordinate can be corrected temporarily. When the underwater robot 109 moves to the end, the cable winch 106 ensures that the cable is as vertical as possible according to the end of the cable, and the coordinate obtained by the SLAM positioning module is directly used for positioning of the underwater robot and correction of the underwater inertial navigation positioning deviation.
[0055] 8. Depth gauge 108: used to measure the actual depth of the underwater robot 109 in real time. The depth data provided by the depth gauge 108, combined with the SLAM positioning module, corrects the elevation information of the underwater inertial navigation module 107 carried on the underwater robot 109, accurately controls the real-time position of the underwater robot 109.
[0056] 9. Underwater robot 109: can be an underwater dredging robot, the positioning target body, the use purpose of the underwater robot positioning device in the application embodiment is to provide real-time positioning for it.
[0057] In one embodiment, the multi-modal time synchronization algorithm is specifically introduced as follows:
[0058] In this embodiment, the SLAM positioning module, the water inertial navigation module, the depth gauge, the microprocessor, and the cable winch control unit are core devices. In order to ensure the high-precision synchronous operation of the underwater robot positioning system, the data of each sensor to the microprocessor in the floating ball must be strictly time-synchronized, so as to eliminate the influence of timing error on data fusion and real-time control. Here, each sensor specifically refers to each sensor in the SLAM positioning module (water inertial navigation module, high-definition camera, laser radar, and GNSS module), tension sensor, depth gauge, and underwater inertial navigation module.
[0059] Therefore, the multi-modal time synchronization algorithm is proposed in this embodiment, which combines machine learning prediction, dynamic delay compensation, and distributed collaborative calculation to realize high-precision time synchronization of multi-sensor data fusion in complex construction environment.
[0060] Through the fusion of signal feature learning and distributed synchronization optimization, the time delay of each sensor is dynamically estimated, and the synchronization strategy is adjusted in real time to eliminate the clock drift and signal delay caused by environmental influence. Specifically, the multi-modal data (such as timestamp, frequency change, signal strength) output by the sensor is used to construct a time delay prediction model to dynamically evaluate the delay characteristics of each sensor; taking global time synchronization as the goal, considering delay compensation, the time deviation between sensors is optimized; distributed algorithm is used in the sensor group to calculate synchronization parameters, reducing the load of the central processor and improving the system robustness.
[0061] Step 201: multi-modal data acquisition and delay characteristic learning.
[0062] 1. Data acquisition
[0063] Each sensor outputs its observation data and timestamp in real time, such as: SLAM component multi-source data (i.e. first position information); acceleration and angular velocity of underwater inertial navigation module in each direction; depth of depth gauge; tension of positioning cable.
[0064] 2. Feature extraction
[0065] Extract multimodal features from the collected data, including signal strength, data update frequency, and transmission delay. The main purpose of feature extraction is to extract key indicators from the received data that reflect the sensor or communication status, such as whether the data is updating quickly enough, whether there is any delay, and whether the communication is stable.
[0066]
[0067]
[0068] The specific implementation of feature extraction is as follows:
[0069] (1) Signal strength feature extraction: The electrical signal transmitted through the cable reads the voltage amplitude, bit error rate (BER), frame loss rate and other parameters of the communication interface layer (such as RS485, CAN or serial port).
[0070] (2) Extraction of data update frequency: In the microprocessor, each time a frame of sensor data is received, a current timestamp is added. Then the time difference between two consecutive frames is calculated:
[0071] Update time interval = current frame timestamp - previous frame timestamp
[0072] By taking the average interval over a period of time, we can get the number of times the sensor updates per second (i.e., frequency). If a sensor suddenly updates more slowly, we can identify it by the change in frequency.
[0073] (3) Extraction of transmission delay: Ideally, if the sender can add a timestamp, then after the microprocessor receives the data, it subtracts the timestamp from the current time to obtain the transmission delay: the delay is the reception time minus the timestamp in the data packet.
[0074] If it is not possible to mark the sending timestamp (which many sensors cannot do), you can use the system's built-in "heartbeat packet" or loopback mechanism to detect the "round-trip time" and then divide it by 2. This delay information is critical for time synchronization and determining which sensor is "lagging behind."
[0075] 3. Delay Modeling
[0076] Based on historical data, train machine learning models (such as LSTM, Transformer) to predict the time delay Δt of each sensor i :
[0077] Δt i =f ML (T sensor,i ,S feature,i ) (1)
[0078] Among them, f MLis a machine learning model; T sensor,i is the sensor timestamp; S feature,i is the signal feature vector (including signal strength, frequency change, etc.).
[0079] Historical data is the sensor communication records and status data collected and stored during the system operation, for example,
[0080]
[0081] These historical data are the input and labels for machine learning model training: the input is T sensor,i and S feature,i ; The output is Δt i , which is the target that the model wants to predict.
[0082] Step 202: Time synchronization optimization.
[0083] 1. Definition of global synchronization error function
[0084] Assume that the synchronization time of all sensors is T sync,i , define the global synchronization error:
[0085]
[0086] where w ij is the weight, considering sensor accuracy and data quality, T sync,j is the synchronization time of sensor j; Δt ij =Δt i -Δt j is the delay difference.
[0087] 2. Gradient Optimization
[0088] Calculate the partial derivative of the error function J and use the gradient descent method to update the sensor synchronization time:
[0089]
[0090] in, and are the synchronization time of sensor i in the t+1th and tth iterations respectively, and η is the learning rate.
[0091] 3. Delay compensation
[0092] Add delay compensation to each sensor data:
[0093] T adjusted,i =T sync,j +Δt i (4)
[0094] The primary purpose of delay compensation is to compensate for timing errors caused by transmission or computational delays during the optimization of time synchronization between sensors. Specifically, delay compensation ensures that the timestamp of each sensor data is correctly corrected, enabling precise data fusion and ensuring overall system timing consistency and accuracy.
[0095] In the definition of global synchronization error function, we define the global synchronization error function J, which is used to measure the error of synchronization time between all sensors. It involves the difference T in the synchronization time of each sensor. sync,i -T sync,j and delay difference Δt ij .
[0096] Delay compensation reduces these errors by correcting the synchronization time of each sensor. In other words, delay compensation is an essential part of calculating the global synchronization error, ensuring that each sensor's timestamp reflects the true, synchronized time.
[0097] In gradient optimization, we use gradient descent to optimize the synchronization time T of each sensor. sync,i The relationship between delay compensation and gradient optimization is reflected in the optimization process. By calculating the gradient to adjust the synchronization time, the compensated time is more accurate, thereby minimizing the synchronization error. Each synchronization time update (via gradient descent) needs to take delay compensation into account to ensure that the data of each sensor can be updated according to the most accurate time synchronization.
[0098] The delay compensation formula (4) indicates that after the optimization, the synchronization time T sync,j Based on this, add the delay Δt of each sensor i To get the actual time adjustment value T adjusted,i .
[0099] Simply put, during the optimization of the global synchronization error function, delay compensation helps reduce synchronization errors and ensures accurate alignment of data from each sensor. During gradient optimization, delay compensation corrects the timestamp of each sensor, ensuring that the gradient descent process can better optimize the synchronization time of sensors, thereby achieving precise global synchronization.
[0100] The time synchronization of all sensors is performed in a relative time frame. Therefore, the timestamp of sensor i is not absolute, but is corrected based on the time after synchronization of other sensors (such as j). This process is achieved by synchronizing the time T sync,j To refer to and correct the delay of i.
[0101] The purpose of delay compensation: The timestamp of each sensor may be affected by delay, resulting in time desynchronization between them. In order to accurately fuse the data of all sensors, the timestamp of each sensor needs to be delayed.
[0102] Since the synchronization between sensors is gradually optimized, the timestamps of synchronized sensors (such as j) are used to adjust the times of other sensors (such as i), ultimately achieving the unification of the times of all sensors in the system.
[0103] Step 203: Distributed collaborative computing strategy.
[0104] 1. Collaborative update rules
[0105] Sensors share time synchronization information through neighborhood relationships and collaboratively update the synchronization time:
[0106]
[0107] in is the neighbor node of i, and α is the collaborative adjustment step size. The neighborhood relationship refers to the relationship between a sensor node and other sensor nodes with which it can directly communicate or interact.
[0108] 2. Asynchronous communication mechanism
[0109] Asynchronous communication is used to allow different sensors to be updated synchronously at different time points, improving robustness.
[0110] Step 202, time synchronization optimization, focuses on precisely adjusting the time synchronization of all sensors through optimization algorithms, ensuring that each sensor's data is consistent and eliminating errors caused by time delays. In step 202, we use methods such as gradient optimization to update the sensor synchronization time, minimizing synchronization errors.
[0111] The distributed collaborative computing strategy in step 203 further expands the application of time synchronization optimization, emphasizing the synergy between sensors. Time synchronization information is shared through neighborhood relationships, and updates are synchronized across multiple sensors, ensuring more consistent time synchronization across sensors. Unlike step 202, step 203 incorporates the concept of distributed collaborative computing, enabling the system to achieve global time synchronization using local information without relying on a single control center.
[0112] Step 203 further improves the synchronization accuracy based on step 202. It solves the synchronization problem of multiple sensors in different environments through collaborative computing and asynchronous communication mechanisms, allowing the system to adapt to environmental changes more flexibly and further optimize the time synchronization of each sensor.
[0113] The result obtained in step 203 is:
[0114] (1) Collaborative optimization of time synchronization: By sharing time synchronization information through neighborhood relationships, the time synchronization information of all sensors is dynamically adjusted, and eventually the synchronization time of each sensor tends to be consistent, reducing the error caused by time asynchrony.
[0115] (2) Distributed synchronization results: Due to the use of collaborative update rules and asynchronous communication mechanisms, multiple sensors no longer rely on a central coordinator, but instead achieve global synchronization through local information sharing and updates. This approach can improve the robustness of the system, especially when there are a large number of sensors and a complex environment.
[0116] The role of step 203 in robot positioning is to improve positioning accuracy, enhance system robustness, and real-time adaptability.
[0117] Step 204: Dynamic adjustment and environmental adaptation.
[0118] 1. Dynamic parameter update
[0119] Monitor environmental changes (such as temperature and water flow) in real time and update the delay prediction model f ML . Delay prediction model f ML , that is, dynamically predicting the transmission or processing delay of each sensor based on the environmental status (such as temperature, water flow, interference).
[0120] Input environmental state data (such as temperature, water depth, flow rate, etc.) and historical delay samples. For example, input = [temperature = 18°C, flow rate = 0.3m / s]. This environmental state data can be preset. Historical records = delay = 250ms. Train a machine learning model (such as linear regression, LSTM, small neural network) to learn f ML (environmental state) ≈ sensor delay Δt. Update input data in real time and fine-tune the model online (sliding window, incremental learning available), f ML The output will be continuously corrected to more accurately predict delays.
[0121] 2. Weight adaptive adjustment
[0122] Dynamically adjust the weight w according to the real-time quality of the sensor output (such as signal strength, data integrity) ij The “weight” between different sensor pairs in the synchronization error function reflects which sensor is more reliable and has higher data quality.
[0123] Dynamic adjustment method:
[0124] (1) Real-time reading of sensor data quality indicators, such as signal strength and data integrity rate.
[0125] (2) Define a quality assessment function: Qi = λ1 × signal strength + λ2 × data integrity rate + ..., where λ is a proportional constant that can be customized.
[0126] (3) Apply Qi to w ij Dynamic Adjustment:
[0127]
[0128] The higher the Q value, the more reliable the sensor data is, and the greater its impact on time synchronization.
[0129] 3. Online optimization iteration
[0130] The global error function is periodically re-optimized to ensure that the time synchronization accuracy continues to improve in a dynamic environment. The optimization steps of formula (2) are as follows:
[0131] (1) Initialize the synchronization time T of each sensor sync,i .
[0132] (2) According to w ij and Δt ij Calculate J.
[0133] (3) Find the gradient of J:
[0134] (4) Update the synchronization time using the gradient descent method:
[0135] (5) Repeat the above steps periodically until the error converges.
[0136] In one embodiment, the control method of the cable winch 106 is described in detail as follows:
[0137] Step 301: Model the correlation between the buoyancy of a float and its depth into water (taking a spherical float as an example).
[0138] Buoyancy of the float F f The buoyancy is related to the volume of the buoy submerged in the water. As the buoy sinks deeper, the buoyancy increases, and the winch releases the positioning cable to prevent the buoy from being dragged into the water. When correcting the underwater position, keep the positioning cable as vertical as possible.
[0139] Buoyancy F f With float depth h float and water density ρ water The relationship between them is:
[0140] F f =C f ·ρ water ·V immersed (7)
[0141] Wherein, F f is the buoyancy of the floating ball; C f is the buoyancy coefficient of the floating ball; p water is the density of water; V immersed is the volume of the floating ball immersed in water. By measuring the immersed volume of the floating ball, combined with the density of water and the buoyancy coefficient, the buoyancy F f of the floating ball is calculated.
[0142] The volume V immersed of the floating ball immersed in water depends on the geometric shape of the floating ball. The spherical floating ball is partially immersed in water, and the depth of the floating ball immersed in water is h float . Therefore, the water-immersed volume can be calculated by the following formula:
[0143]
[0144] Wherein, R is the radius of the floating ball; h float is the depth of the floating ball immersed in water. This formula is based on the volume calculation of the spherical floating ball, and reflects the situation that part of the volume of the floating ball is immersed in water.
[0145] Step 302: Positioning cable pay-off control strategy, that is, the control method of the cable winch.
[0146] 1. Positioning cable state judgment
[0147] When the speed output by the underwater inertial navigation module is 0, the state of the positioning cable and the floating ball is determined according to the attitude information (i.e. the first position information) output by the SLAM positioning module on the floating ball and the tension value output by the tension sensor. When the positioning cable is in a relaxed state, the attitude information output by the underwater inertial navigation module tends to be horizontal, even if it is disturbed by external disturbances, it tends to be regular left-right and forward-backward shaking characteristics. And the cable winch slightly tries to collect a small section (a few centimeters to tens of centimeters), which will not cause the tension measured by the tension sensor to change too much. When the speed output by the underwater inertial navigation module is 0, when the positioning cable is in a diagonal tension state, the attitude output by the underwater inertial navigation module has obvious inclination characteristics. The tension value measured by the tension sensor is significantly increased compared with the relaxed state, and the tension value change is maintained within a certain interval and is less than the tightening tension threshold L2. When the speed output by the underwater inertial navigation module is 0, when the positioning cable is in a vertical tension state, the attitude output by the SLAM positioning module on the floating ball tends to be horizontal, and the tension value measured by the tension sensor increases with the collection until it tends to L2.
[0148] 2. Determine the tension threshold
[0149] Under the relaxed state of the cable, the tension F Z measured by the tension sensor is the self-weight F0 of the suspended section of the cable in water; when the cable is in a diagonal state and tends to be vertical, FZ Increases until it reaches a vertical state, and the float enters more water. Z , float deadweight G f and the buoyancy of the float F f The relationship between satisfies formula (9):
[0150] F f =F Z +G f (9)
[0151] When the attitude information output by the SLAM positioning module on the float tends to be horizontal and the tension reaches equilibrium, that is, the positioning cable is in a vertically stretched state, the parameters should satisfy the following relationship:
[0152]
[0153] According to formula (10), the correlation between the water depth and tension of different buoys in the vertical state is determined to determine the release tension threshold L1 and the retraction tension threshold L2. The tension is minimum when the cable is relaxed, and increases during the inclined pulling process. In the vertical state, the buoy will be partially pulled into the water, and the tension will reach the maximum. Therefore, the release tension threshold L1 is the maximum acceptable tension value. It is determined based on on-site simulation experiments. When the buoy is in a vertical state, under basic construction wind, wave, and water flow conditions, the depth of the buoy in the water can keep the buoy as stable as possible, and the calibration is achieved. The retraction tension threshold L2 is the minimum acceptable tension value. It is the measured value of the tension sensor when the cable winch is in a vertically stretched state and the buoy is in the water to the calibration horizontal line position. In other words, the determination of the release tension threshold L1 and the retraction tension threshold L2 mainly depends on the depth of the buoy in the water. The range of the buoy's water depth is generally determined based on historical experience or experimental values.
[0154] 3. Positioning cable release and tightening control
[0155] The motion state of the underwater robot is determined based on the output speed of the underwater inertial navigation module. The motion state includes moving, stopping and working. Stopping and working are collectively referred to as non-moving states.
[0156] When the underwater robot moves, the cable winch automatically releases the cable, and the cable tension monitored by the tension sensor decreases. At this time, the positioning cable is in a relaxed state.
[0157] When the robot stops underwater and enters a resting state, the cable winch receives instructions from the microprocessor and automatically reels the cable according to the tension threshold L2, causing the cable to enter a diagonal and straightened state until it reaches a vertical state, ensuring the position coordinates of the above-water positioning device can be effectively transmitted underwater. Simply put, when the tension measured by the tension sensor is less than the tension threshold L2, the cable winch will begin to tighten the positioning cable until the tension approaches L2.
[0158] It should be noted that the tension release threshold L1 is the positioning cable risk avoidance release threshold. Regardless of whether the robot is moving or not, in order to prevent the float from being dragged into the water, when the tension monitoring value reaches L1, the positioning cable release instruction is executed.
[0159] In one embodiment, the method for transmitting the position coordinates is described in detail as follows:
[0160] Step 401: Switching the water surface coordinate positioning mode.
[0161] When the GNSS signal is good, the GNSS is in a fixed solution state and the GNSS positioning built into the SLAM positioning module is used; when the GNSS signal is blocked, the multi-source fusion SLAM positioning mode is used based on the typical structural features of the shielding cover; in terms of the switching control between the GNSS mode and the SLAM positioning mode, the reliability of the GNSS solution is evaluated, the status of the shielding area is judged by high-definition camera images, and the acquisition of laser point cloud structural features are comprehensively judged to determine whether the vehicle has entered the shielding area. If so, the SLAM positioning mode is triggered.
[0162] Step 402: Long-term flight time constraint and positioning in the shielded area.
[0163] In order to avoid the divergence of positioning in the shielded area for a long time, the coordinates of feature points such as beams and pile corners and the typical beam side length are used as constraints; the feature point coordinates are extracted from the laser point cloud model through the feature recognition algorithm, and the coordinates initially measured of the feature points in the shielded environment are used as constant constraint values. Subsequently, the intersection positioning of three or more feature points is used to continuously provide accurate corrections for the float positioning.
[0164] Step 403: Coordinate transfer.
[0165] Figure 5 This is a schematic diagram of another underwater robot positioning system provided in an embodiment of the present application. Figure 5 In the figure, when the underwater robot stops, the cable winch is reeled in and tightened, and the tension reaches the threshold value L2, the position coordinates of the water positioning device (that is, the position coordinates of the SLAM positioning module) are (X0, Y0, H0), which is also called the SLAM positioning reference point; the roll output by the water inertial navigation module is σ1, and the pitch is σ2; the distance between the SLAM positioning reference point and the bottom reference surface of the buoy (that is, the lowest point on the buoy surface) is the calibration value h0 (h0 is determined when the underwater robot positioning system is designed), and the depth measured by the depth meter is H1. The coordinates transmitted to the underwater positioning module (X, Y, H) are:
[0166]
[0167] The above coordinate calculation results can be used to correct the underwater inertial navigation module in a timely manner.
[0168] In one embodiment, the specific steps for completing underwater robot positioning using the underwater robot positioning system of each of the above embodiments are as follows:
[0169] Step 501: Referring to steps 301 and 302, calibrate the functional relationship between the buoyancy of the float and its immersion depth through physical simulation tests; calibrate the cable release tension threshold L1 and the cable retraction tension threshold L2 based on the test simulation; L1 is the dragging into the water risk avoidance threshold and should be greater than L2.
[0170] Step 502: The SLAM positioning module locates and outputs the posture in real time, the depth meter measures the water depth in real time, the tension sensor monitors the tension in real time, and the underwater inertial navigation module outputs the speed information in real time. The microprocessor relies on the multimodal time synchronization algorithm to process the above four types of information in real time; the underwater inertial navigation module outputs the speed information to the microprocessor in real time, and the microprocessor determines the motion state of the underwater robot based on whether the speed of the underwater inertial navigation module is 0.
[0171] Step 503: After the robot enters the water for the first time, the cable is released by the cable winch until the robot touches the bottom, so that the cable is in a relaxed state; through step 502: the output speed is 0, and it is determined that the robot is in a rest state.
[0172] Step 504: Referring to step 302, when the speed output by the underwater inertial navigation module is 0, the microprocessor determines the state of the cable according to the attitude and tension monitoring data, outputs control instructions to the cable winch control unit in real time, and executes steps 5041-5043.
[0173] Step 5041: Based on the real-time output of the SLAM positioning module, the posture tends to be horizontal or oscillates regularly. Furthermore, the tension sensor value is low, far below L2. A multimodal time synchronization algorithm is used to synchronize the calculations and achieve temporal alignment between the posture and tension. Based on these two characteristics, the cable is determined to be slack, and the cable winch executes the command to tighten the positioning cable.
[0174] Step 5042: The posture output in real time by the SLAM positioning module tends to be tilted, and the tension sensor is significantly increased compared to before the reeling operation is performed. It is determined that the cable is in an oblique state, and the cable reeling instruction continues to be executed.
[0175] Step 5043: When the posture output in real time by the SLAM positioning module tends to be horizontal and the tension sensor measurement value tends to L2, the cable winch stops reeling in the cable instruction.
[0176] Step 505: During the entire underwater working cycle (movement-rest-operation) of the robot, the SLAM positioning module always automatically switches the positioning mode according to whether there is any shielding, and performs surface positioning and posture output to the microprocessor according to steps 401 and 402; after step 5042 is completed, the microprocessor realizes data synchronization calculation based on the multimodal time synchronization algorithm, calculates the coordinates of the underwater robot according to step 403 and outputs them to the underwater inertial navigation module, and reassigns high-precision coordinates to the underwater inertial navigation module.
[0177] Step 506: When the robot is in a resting state (the underwater inertial navigation module output speed is 0), the underwater inertial navigation module is reset to its initial value. When the operation at the point is completed, the robot will move to the next point and rely entirely on the underwater inertial navigation module for underwater positioning.
[0178] Step 507: During the movement, the microprocessor generates a positioning cable release instruction to the cable winch control unit according to the speed output by the underwater inertial navigation module being greater than 0. The cable winch control unit executes the positioning cable release operation according to the received instruction.
[0179] Step 508: When the robot finishes moving and re-enters the rest state (the output speed of the underwater inertial navigation module is 0), execute steps 504 and 505 to re-assign the initial value to the underwater inertial navigation module.
[0180] Step 509: During the full underwater working cycle of the robot, in order to prevent the robot from suddenly slipping and causing the float to be dragged into the water, causing the SLAM positioning module to sink into the water, when the microprocessor receives the sudden increase in the speed of the underwater inertial navigation module and the tension monitoring value suddenly increases abnormally and tends to L1, it will promptly generate a command to release the positioning cable and send it to the cable winch control unit, and the control unit will promptly execute the release of the cable.
[0181] By implementing the above steps, the initial calculation value of the underwater inertial navigation module is continuously corrected to ensure high-precision underwater positioning throughout the entire working cycle.
[0182] In several embodiments provided in this application, the disclosed devices may also be implemented in other ways. The device embodiments described above are merely illustrative. For example, the flowcharts and block diagrams in the accompanying drawings show the possible architectures, functions, and operations of the devices according to the various embodiments of the present application. In this regard, each box in the flowchart or block diagram may represent a module, a program segment, or a portion of code, and a module, a program segment, or a portion of code may contain one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the boxes may also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes may actually be executed substantially in parallel, or they may sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of boxes in the block diagram and / or flowchart, may be implemented using a dedicated hardware-based system that performs a specified function or action, or may be implemented using a combination of dedicated hardware and computer instructions.
[0183] In addition, the functional modules in each embodiment of the present application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.
Claims
1. An underwater robot positioning system, characterized in that: The underwater robot positioning system includes an above-water positioning device, a connecting device and an underwater positioning device; The above-water positioning device includes a float, a spherical bearing and an above-water positioning module; the connecting device includes a tension sensor, a positioning cable and a cable winch; the underwater positioning device includes an underwater positioning module, a depth gauge and an underwater robot; The buoy is used to support the above-water positioning module; the spherical bearing is used to connect the above-water positioning module and the tension sensor, and keep the above-water positioning device and the positioning cable in the same straight line; the above-water positioning module is used to determine the first position information of the above-water positioning device; the tension sensor is used to monitor the tension of the positioning cable to keep the positioning cable in a straight state; the positioning cable is used to connect the above-water positioning device and the underwater positioning device, and send the first position information from the above-water positioning module to the underwater positioning module; the cable winch is used to release or tighten the positioning cable according to the tension of the positioning cable; the depth gauge is used to measure the depth of the underwater robot; the underwater positioning module is used to determine the second position information of the underwater robot when the underwater robot is in a moving state, and receive the third position information of the underwater robot determined according to the first position information and the depth when the underwater robot is in a non-moving state.
2. The underwater robot positioning system according to claim 1, characterized in that: The water positioning module is a SLAM positioning module for real-time positioning and map construction, and the SLAM positioning module includes one or more of a water inertial navigation module, a high-definition camera, a laser radar and a global navigation satellite system GNSS module.
3. The underwater robot positioning system according to claim 2, characterized in that: The above-water positioning module is used to determine the first position information of the above-water positioning device, including: Acquiring sensor data from the above-mentioned water inertial navigation module, high-definition camera, lidar, and GNSS module; The first position information is determined based on the sensor data.
4. The underwater robot positioning system according to claim 2, characterized in that: The above-water inertial navigation module is used for the roll and pitch of the positioning cable.
5. The underwater robot positioning system according to claim 4, characterized in that: The underwater positioning module includes an underwater inertial navigation module.
6. The underwater robot positioning system according to claim 5, characterized in that: The float includes a microprocessor installed inside the float; The microprocessor is used to process the first position information of the above-water positioning device, the tension of the positioning cable, the depth of the underwater robot and the speed of the underwater inertial navigation module.
7. The underwater robot positioning system according to claim 6, characterized in that: The microprocessor is also used to synchronize the time when the first position information of the above-water positioning device, the tension of the positioning cable, the depth of the underwater robot and the speed of the underwater inertial navigation module arrive at the microprocessor through a multimodal time synchronization algorithm.
8. The underwater robot positioning system according to claim 6, characterized in that: The microprocessor is used to process the speed of the underwater inertial navigation module, including: The microprocessor determines the motion state of the underwater robot according to the speed of the underwater inertial navigation module; When the speed of the underwater inertial navigation module is equal to 0, the underwater robot is in a non-moving state; When the speed of the underwater inertial navigation module is greater than 0, the underwater robot is in a moving state.
9. The underwater robot positioning system according to claim 8, characterized in that: The microprocessor is used to process the first position information of the above-water positioning device, the tension of the positioning cable, and the speed of the underwater inertial navigation module, including: When the underwater robot is in a non-moving state, the microprocessor determines the state of the positioning cable according to the first position information and the tension, and controls the cable winch according to the state of the positioning cable; When the underwater robot is in a moving state, the microprocessor controls the cable winch according to the tension.
10. The underwater robot positioning system according to claim 6, characterized in that: The microprocessor is used to process the first position information of the above-water positioning device and the depth of the underwater robot, including: The microprocessor determines the position coordinates of the underwater robot according to the position coordinates of the above-water positioning device, the roll and pitch of the positioning cable, and the depth of the underwater robot.