Underwater surveying method and device and underwater robot
By generating a closed datum graphic and performing equidistant shrinkage processing, combined with water depth measurement and dynamic adjustment of water area boundaries, the problem of surveying equipment easily getting stuck in silt in shallow water areas near the shore was solved, achieving safe and efficient surveying operations.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHENZHEN QYSEA TECH CO LTD
- Filing Date
- 2026-03-27
- Publication Date
- 2026-06-12
AI Technical Summary
Existing surveying equipment is prone to getting stuck in silt when it is near shallow water areas, causing work to be interrupted and affecting the continuity and safety of surveying tasks.
By generating a closed datum graphic and performing equidistant shrinkage processing to generate a navigation reference graphic, and combining water depth measurement and depth threshold to dynamically adjust the water area boundary, the surveying route is planned to ensure that the surveying operation is carried out in a safe water area.
This effectively avoids the risk of siltation on the riverbank, improves the safety and continuity of surveying operations, and increases surveying efficiency.
Smart Images

Figure CN122192262A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of underwater exploration technology, and in particular to an underwater mapping method, apparatus and underwater robot. Background Technology
[0002] In applications such as water mapping, underwater environmental exploration, and shoreline resource surveys, surveying equipment often needs to collect accurate data on shoreline areas where the water surface meets the land, as well as underwater areas within specific water depths. Existing surveying equipment often operates in shallow water areas near the shore where silt deposits are present. These areas have complex geological conditions and poor load-bearing capacity. Without awareness of the shoreline environment, if surveying equipment follows a predetermined path too close to the shore, it is highly susceptible to becoming stuck in the silt, unable to extricate itself, and causing work interruptions. In severe cases, getting stuck in the silt can lead to equipment capsizing or water damage, increasing maintenance costs and affecting the continuity and safety of the surveying mission. Summary of the Invention
[0003] Based on this, it is necessary to address the technical problem of low efficiency caused by easy interruption of existing surveying operations, and propose an underwater surveying method, device and underwater robot.
[0004] Firstly, an underwater mapping method is provided, the method comprising: The shoreline boundary data is collected by a boundary detection device, and a closed reference graphic representing the area of the water to be surveyed is generated based on the shoreline boundary data. The closed reference graphic is equidistantly shrunk according to a preset safety distance threshold to generate a navigation reference graphic for the underwater robot. The underwater robot is controlled to navigate along the navigation reference pattern, and the water depth value corresponding to each measuring point is measured in real time during the navigation process; By combining a preset depth threshold with the water depth measured in real time at each of the aforementioned measuring points, the water area boundary of the navigation reference graphic is dynamically adjusted to generate a navigation execution area. Plan a surveying path within the waters corresponding to the navigation area, and control the underwater robot to perform surveying operations along the surveying path.
[0005] Secondly, an underwater mapping device is provided, the device comprising: The data acquisition module is used to acquire shoreline boundary data through a boundary detection device and generate a closed reference graphic representing the area of the water body to be surveyed based on the shoreline boundary data. The processing module is used to perform equidistant shrinking processing on the closed reference graphic according to a preset safety distance threshold to generate a navigation reference graphic for underwater robot navigation. The measurement module is used to control the underwater robot to navigate along the navigation reference pattern and to measure the water depth value corresponding to each measuring point in real time during navigation. The generation module is used to dynamically adjust the water area boundary of the navigation reference graphic by combining a preset depth threshold with the water depth measured in real time at each of the measurement points, so as to generate the navigation execution area. The control module is used to plan a surveying path within the water area corresponding to the navigation area and control the underwater robot to perform surveying operations along the surveying path.
[0006] Thirdly, an underwater robot is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the above-described intelligent question-and-answer processing method.
[0007] The beneficial effects of this application are: This application generates a closed datum graphic to provide a precise water area benchmark for surveying. Then, it generates a navigation reference graphic through equidistant shrinkage processing, proactively introducing a safety distance mechanism to avoid the risk of shoreline siltation. Subsequently, it measures water depth in real time along the navigation reference graphic and dynamically adjusts the water area boundary based on depth thresholds, generating an execution navigation area that adapts to water depth conditions, effectively addressing water level fluctuations. Finally, it plans and executes the surveying operation within the execution navigation area, ensuring that the surveying process is conducted within a safe and effective water area. This method, through the collaborative design of precise boundary identification, preset safety distances, dynamic water depth adaptation, and automatic generation of the work area, solves the problems of fixed areas, poor water depth adaptability, and shoreline siltation risks in traditional surveying, effectively improving the safety, continuity, and efficiency of surveying operations. Attached Figure Description
[0008] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0009] in: Figure 1 A flowchart illustrating the underwater mapping method provided in this application embodiment; Figure 2 A schematic diagram illustrating the principle of equidistant inward contraction provided in an embodiment of this application; Figure 3 This is a schematic diagram illustrating the principle of generating an execution navigation region as provided in an embodiment of this application; Figure 4A flowchart illustrating the generation of a closed reference pattern is provided for an embodiment of this application. Figure 5 for Figure 4 A specific flowchart of step S13; Figure 6 for Figure 4 Another specific flowchart of step S13; Figure 7 This is a schematic diagram illustrating the generation principle of the virtual connection line provided in the embodiments of this application; Figure 8 This is a schematic diagram of the process for generating the execution navigation region provided in an embodiment of this application; Figure 9 This is a navigation control flowchart provided in the embodiments of this application during the generation of the navigation execution area; Figure 10 This is a schematic diagram of the update execution navigation area provided in an embodiment of this application; Figure 11 This is a structural block diagram of an underwater mapping device in one embodiment; Figure 12 This is a structural block diagram of an underwater robot in one embodiment. Detailed Implementation
[0010] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0011] The underwater observation system of this application includes: a management device, a surface base station, and at least one underwater robot. The management device can communicate with the underwater robot via cable or the surface base station. In some embodiments, the management device can also be located on the surface base station. The underwater robot mentioned above includes, but is not limited to, types of underwater robots such as remotely operated vehicles (ROVs) and autonomous remotely controlled vehicles (ARVs), and can also be underwater detection equipment, underwater submarine equipment, or other underwater operation equipment; this application does not impose any limitations on this.
[0012] The management equipment is installed in an aquatic environment to plan navigation paths for underwater robots to observe underwater objects (such as bridge piers, ship hulls, etc.), and to configure the navigation paths to designated underwater robots. The underwater robots then observe the objects based on the navigation paths to monitor for defects such as cracks and corrosion. The management equipment can be a mobile device, tablet computer, or fixed computer, etc., and this application does not impose any restrictions on this.
[0013] Floating base stations can also take the form of ship hulls or other waterborne equipment. They are typically equipped with GNSS (Global Navigation Satellite System) and a USBL (Ultra-Short Baseline) transducer array positioned below the water surface. Floating base stations also serve as communication hubs between management equipment and underwater robots, handling task scheduling and ensuring coordinated responses from management equipment commands and underwater robots. In some embodiments, the floating base station also has the capability to supply power to the underwater robot.
[0014] In this embodiment, the underwater robot is equipped with a USBL transponder, which works in conjunction with the USBL transducer array set up by the surface base station for cooperative positioning. The positioning principle is as follows: the surface base station obtains the position coordinates of the surface robot based on the GNSS module, the underwater robot uses the USBL transponder to measure the relative position offset between itself and the surface base station, and then calculates its own current position coordinates based on the relative position offset and the position coordinates of the surface base station.
[0015] The present application will now be described in detail through specific embodiments.
[0016] Please see Figure 1 As shown, Figure 1 A flowchart illustrating the underwater mapping method provided in this application embodiment includes the following steps: S1. Collect shoreline boundary data through a boundary detection device, and generate a closed reference graphic representing the area of the water to be surveyed based on the shoreline boundary data.
[0017] Specifically, the underwater robot uses its onboard boundary detection device to collect data on the shoreline boundary of the area under test. The boundary detection device employs a multi-sensor fusion approach, including at least one of a sonar sensor, a visual sensor, a GPS module, and a lidar sensor. During navigation, the underwater robot uses the boundary detection device to acquire real-time information about the boundary between the shoreline and the water body, recording the collected information as shoreline boundary data. This shoreline boundary data includes the coordinates of multiple discrete boundary points, as well as the acquisition time and sensor type information for each boundary point.
[0018] After collecting data on multiple shoreline boundaries, the underwater robot processes this data. First, feature points are extracted from the shoreline boundary data, including turning points, inflection points, and intersections between the shoreline and the water. Then, a feature point matching algorithm is used to spatially align shoreline boundary data collected from different time periods or by different sensors. Based on this spatial alignment, the aligned shoreline boundary data segments are stitched together to eliminate gaps between adjacent data segments and errors in overlapping areas. Finally, the stitched and merged boundary points are connected sequentially to form a continuous and closed boundary line, i.e., a closed reference figure. This closed reference figure completely represents the area of the water body to be measured; its boundary corresponds to the actual shoreline position, and the interior region of the closed reference figure represents the water body to be measured.
[0019] For example, in a reservoir surveying task, an underwater robot equipped with sonar and vision sensors navigates along the reservoir shoreline. The sonar sensors detect the boundary between the underwater bank and the land, while the vision sensors identify shoreline features above the water. When encountering a winding shoreline, the underwater robot collects shoreline boundary data in segments, each segment containing the coordinates of several boundary points. The underwater robot extracts inflection points as feature points from each segment and uses a matching algorithm to align the feature points in each segment, eliminating potential misalignments during stitching. Then, the aligned boundary points are merged and connected to generate a closed reservoir shoreline boundary map. This map fully represents the area of the reservoir to be surveyed, and the area inside the map is the target water area for subsequent surveying operations.
[0020] S2. Based on the preset safety distance threshold, the closed reference graphic is equidistantly shrunk to generate a navigation reference graphic for the underwater robot.
[0021] Specifically, after the underwater robot acquires a closed reference image, a safe distance threshold is set. This safe distance threshold is predetermined based on the underwater robot's size, maneuverability, and the characteristics of the shoreline environment. It is used to ensure that the underwater robot maintains a sufficient safe distance from the shoreline during subsequent navigation. The safe distance threshold can be set to a fixed value, such as 3 meters or 5 meters, or it can be dynamically adjusted according to the distribution of silt on the shoreline or the extent of shallow water.
[0022] The underwater robot uses a closed reference shape as a reference and performs equidistant shrinkage on it. Equidistant shrinkage refers to moving each boundary line of the closed reference shape parallel to its normal direction inwards along the shape, with the distance moved equal to a safety distance threshold. During equidistant shrinkage, the underwater robot needs to identify and handle potential self-intersections that may occur after the movement. For example, when the closed reference shape has narrow areas, shrinkage may cause boundary lines to intersect. For any self-intersections, the underwater robot eliminates them through trimming or merging, ensuring that the shrunken shape remains continuous and smooth.
[0023] The new graphic obtained after equidistant shrinkage is the navigation reference graphic. The navigation reference graphic is located inside the closed reference graphic, and the distance between each point on the navigation reference graphic and its corresponding point on the closed reference graphic is equal to a safe distance threshold. The navigation reference graphic serves as the basis for the navigation trajectory in subsequent depth measurements. The underwater robot will navigate along the navigation reference graphic, thus avoiding getting too close to the shoreline and sinking into silt or shallow areas.
[0024] For example, see Figure 2 The diagram illustrates the principle of equidistant inward movement. If the safety distance threshold is set to 3 meters, the underwater robot will move each boundary line of the closed reference figure 3 meters parallel inward into the water. Connecting the offset points yields a new closed curve, which serves as the navigation reference figure. The robot will then navigate along this curve, avoiding getting too close to the shore and sinking into silt or shallows.
[0025] S3. Control the underwater robot to navigate along the navigation reference map and measure the water depth value corresponding to each measuring point in real time during the navigation.
[0026] Specifically, after acquiring a navigation reference image, the underwater robot autonomously navigates along the trajectory set within that image. The navigation reference image is a closed curve, and the underwater robot maintains its position on this curve throughout its navigation, or corrects for real-time positioning deviations to ensure its trajectory closely matches the navigation reference image. The underwater robot maintains a stable, preset speed and a horizontal attitude to ensure the accuracy of subsequent depth measurements.
[0027] During navigation along a navigation reference map, the underwater robot measures water depth in real time using onboard depth sounding equipment. This equipment includes at least one of a downward-probing multibeam echo sounder, a single-beam echo sounder, or a Doppler velocimeter. The underwater robot triggers a depth measurement at each measurement point, which is a sampling point on the navigation reference map distributed at preset intervals. These intervals can be equal time intervals or equal distance intervals. The underwater robot combines its own depth gauge readings with the distance from the bottom measured by the depth sounding equipment to calculate the actual water depth at that measurement point. The water depth is the vertical distance from the water surface to the bottom.
[0028] The underwater robot associates and records the geographic coordinates of each measurement point with the measured water depth value at that location, forming a measurement point dataset. This dataset contains the planar / 3D coordinates of each measurement point and its corresponding water depth value. The underwater robot continuously measures and records during its navigation until it has traversed the entire navigation reference map.
[0029] For example, after acquiring a navigation reference map, the underwater robot travels along the map at a speed of 1 meter per second. The robot is programmed to collect depth data every meter of travel, meaning it establishes a measurement point every meter on the navigation reference map. When the robot reaches a measurement point, its depth gauge shows a current depth of 1.5 meters, and its depth sounder measures a distance of 3.7 meters from the bottom. The robot then calculates the actual depth at that point to be 5.2 meters. It associates and stores the latitude and longitude coordinates of this measurement point with the depth value of 5.2 meters. The robot continues to travel along the navigation reference map, sequentially completing the depth measurements and data recording for all measurement points.
[0030] S4. Combining the preset depth threshold with the real-time water depth measured at each measuring point, dynamically adjust the water area boundary of the navigation reference graphic to generate the navigation area to be executed.
[0031] Specifically, during the underwater robot's navigation along the navigation reference map, a depth threshold is pre-set. This depth threshold is determined based on the requirements of the surveying task and represents the minimum water depth required to meet the surveying conditions, for example, 5 meters. The depth threshold serves as the basis for determining whether a measurement point location is suitable for subsequent surveying operations.
[0032] The underwater robot sequentially reaches each measurement point along the navigation reference map, acquiring real-time water depth values at each point. These values represent the water depth at that location. The underwater robot compares the water depth at each measurement point with a depth threshold, determining whether the measurement point falls within the water boundary of the navigation area based on the comparison result.
[0033] For any measurement point, if the water depth at that point is greater than or equal to a depth threshold, then that point is marked as a boundary point that meets the water depth condition. At this measurement point, the underwater robot does not need to adjust its course and continues to navigate along the navigation reference graph to the next measurement point.
[0034] For any measurement point, if the water depth at that point is less than the depth threshold, it indicates that the water depth at that point does not meet the requirements for surveying operations. At this point, the underwater robot begins its journey away from the navigation reference map, perpendicular to the map and pointing away from the shoreline. During this journey, the underwater robot continuously measures the water depth at each point it passes through until the water depth at a certain point reaches or exceeds the depth threshold. This point is then marked as a boundary point meeting the water depth requirements. After completing the journey, the underwater robot returns to its original measurement point on the navigation reference map or directly navigates along the map to the next measurement point to continue performing water depth measurements and assessments at subsequent points.
[0035] After traversing all measurement points on the navigation reference map, the underwater robot obtains a series of boundary points that meet the water depth requirements. These boundary points form a new closed boundary line, namely the water boundary of the navigation execution area. The navigation execution area is enclosed by this water boundary, and any location within the navigation execution area satisfies the condition that the water depth is not less than a depth threshold. The navigation execution area is used to replace the navigation reference map and serves as the basis for subsequent mapping and path planning.
[0036] For example, see Figure 3 The diagram shown illustrates the principle of generating the navigation execution area provided in this application. The underwater robot has a set depth threshold of 5 meters. When the underwater robot navigates along the navigation reference map to a certain measurement point, and the measured water depth is 3 meters, less than the 5-meter threshold, the underwater robot immediately starts from that measurement point and navigates outwards in a direction perpendicular to the navigation reference map. During this outward navigation, the underwater robot continuously measures the water depth. When it reaches a position where the measured water depth is 5.2 meters, reaching or exceeding the 5-meter threshold, the underwater robot records this position as a boundary point meeting the water depth condition and then returns to the navigation reference map to continue navigation. When the underwater robot reaches another measurement point and the measured water depth is 6 meters, greater than the 5-meter threshold, it directly records this measurement point as a boundary point meeting the water depth condition. After traversing all measurement points, the underwater robot connects all the recorded boundary points sequentially to form a new closed boundary line. The area enclosed by this boundary line is the navigation execution area.
[0037] S5. Plan a surveying path within the water area corresponding to the navigation area, and control the underwater robot to perform surveying operations along the surveying path.
[0038] Specifically, after acquiring the navigation area, the underwater robot plans a mapping path within that area. The mapping path refers to the trajectory the underwater robot must take to complete the mapping operation within the navigation area. Based on the boundary shape and size of the navigation area, as well as any potential underwater obstacles, the underwater robot uses a path planning algorithm to generate a mapping path covering the entire navigation area. The path planning process considers the underwater robot's turning radius, the effective swath width of its onboard mapping sensors, and the need for the underwater robot to maintain a horizontal navigation attitude, ensuring that the generated mapping path covers no areas without duplication or omission.
[0039] When planning a mapping path within the navigation area, the underwater robot first acquires the boundary information of the navigation area and the information of any marked obstacles within the area. If there are obstacles marked during the previous mapping process within the navigation area, the underwater robot automatically avoids these obstacles when planning the mapping path, ensuring a safe distance between the mapping path and the obstacles. The underwater robot can generate the mapping path using a bow-shaped reciprocating scanning method. The spacing between adjacent reciprocating paths is determined based on the effective observation width of the mapping sensor, ensuring that the mapping data of adjacent paths can be seamlessly integrated and covered.
[0040] If the navigation area is large, the underwater robot can divide it into multiple sub-areas, plan a mapping path within each sub-area, and arrange multiple underwater robots to perform mapping operations in parallel within their respective sub-areas. The mapping paths within each sub-area are connected end-to-end, ensuring that the mapping data from multiple underwater robots can be stitched together to form a complete mapping result for the navigation area.
[0041] After the surveying path is planned, the underwater robot autonomously navigates along the path and begins its surveying work. Surveying work involves the underwater robot collecting various data within its navigation area using its onboard surveying sensors. These sensors include at least one of a multibeam echo sounder, an underwater camera, and a water quality sensor, used to collect water depth and topographic data, underwater image data, and water quality parameter data, respectively. As the underwater robot navigates along the surveying path, it continuously collects data at a preset frequency and associates the collected data with the geographic coordinates of the current measurement point, storing or transmitting it in real-time to a ground control center or management equipment.
[0042] During surveying operations, the underwater robot simultaneously activates its obstacle avoidance detection unit to scan the work area ahead of the surveying path in real time. The obstacle avoidance detection unit includes at least one of a sonar sensor, a visual sensor, and a lidar sensor. When the obstacle avoidance detection unit detects an obstacle ahead of the surveying path, the underwater robot acquires the obstacle's position, outline, and size data to determine its hazard level. For obstacles that can be bypassed, the underwater robot dynamically adjusts its surveying path, bypassing the obstacle from one side, and then returns to the original surveying path to continue the surveying operation. The underwater robot records the obstacle's position and outline information and marks the area where the obstacle is located in the navigation area for automatic avoidance during subsequent surveying path planning.
[0043] After the underwater robot completes data collection at all measurement points along the surveying path, the surveying operation ends. The collected surveying data is processed to generate topographic maps, image maps, or water quality distribution maps of the navigation area, which serve as the final results of the surveying operation.
[0044] For example, after acquiring the navigation area, the underwater robot generates a bow-shaped mapping path based on the area boundaries, with the spacing between adjacent paths set at 2 meters to accommodate the camera's field of view. The underwater robot navigates along the mapping path, activating a multibeam echo sounder to collect water depth data and simultaneously capturing seabed video using an underwater camera. When the obstacle avoidance unit detects a reef ahead, the underwater robot slows down and adjusts its course to bypass the reef from the right, continuing to collect data during the detour. After the detour, it returns to the original mapping path. The underwater robot records the reef's location and marks it as an obstacle area within the navigation area. After completing the entire navigation path, the underwater robot stores all water depth data and video data to generate a seabed topographic map and image mosaic of the navigation area.
[0045] The underwater robot described in this application can autonomously complete the entire mapping process from shoreline boundary identification to dynamic water depth adaptation, generating accurate mapping areas and planning efficient paths, achieving highly adaptable mapping in complex aquatic environments. This method effectively solves problems in traditional mapping such as discontinuous shoreline detection, area failure due to water level changes, and vehicles getting stuck in silt on the shore, significantly improving the automation level, data accuracy, and operational safety of mapping operations. It is particularly suitable for mapping tasks in waters with tortuous shorelines, variable water depths, and tidal influences.
[0046] In one possible embodiment, see Figure 4 , Figure 4 This is a flowchart illustrating the generation of a closed datum pattern according to an embodiment of this application, specifically including the following steps: S11. Collect multiple shoreline boundary data using at least one boundary detection device.
[0047] S12. Extract feature points from multiple shoreline boundary data to obtain feature points for each boundary line.
[0048] S13. Match and align the feature points of each boundary line segment to generate a closed reference figure.
[0049] In step S11, the underwater robot uses its onboard boundary detection device to collect data on the shoreline of the area to be surveyed. The boundary detection device employs a multi-sensor fusion approach, including at least one of a sonar sensor, a visual sensor, a global positioning system module, and a lidar. During navigation, the underwater robot acquires real-time information about the boundary between the shoreline and the water body through the boundary detection device and records the collected information as shoreline boundary data.
[0050] When an underwater robot carries a single boundary detection device, it moves along the shoreline of the area to be surveyed during navigation. The boundary detection device collects multiple segments of shoreline boundary data at different times and locations, with each segment corresponding to information about a continuous shoreline. When an underwater robot carries multiple boundary detection devices, these devices can simultaneously collect shoreline boundary data from different angles or locations, obtaining multiple segments of shoreline boundary data. Regardless of whether a single device collects data at multiple times or multiple devices collect data simultaneously, the final multi-segment shoreline boundary data includes the position coordinates of each boundary point, as well as the corresponding collection time and sensor type information.
[0051] During the data collection process, the underwater robot records its own position and attitude information. The data collected by the boundary detection device is then fused with the position and attitude data of the underwater robot to ensure that each section of the shoreline boundary data has an accurate spatial reference.
[0052] For example, in a reservoir mapping task, an underwater robot is equipped with sonar and vision sensors. The underwater robot navigates along the reservoir shoreline. When it reaches the east side of the reservoir, the sonar sensor collects shoreline boundary data for a segment of the shoreline, containing the coordinates of multiple boundary points where the underwater slope meets the land. When it reaches the west side of the reservoir, the vision sensor collects shoreline boundary data for a segment of the shoreline, containing the coordinates of multiple boundary points above the water surface. These two shoreline boundary data segments are stored as independent data segments. If the underwater robot is equipped with two vision sensors facing different directions simultaneously, it can collect shoreline boundary data segments from two different directions at the same time.
[0053] In step S12, after acquiring multiple segments of shoreline boundary data, the underwater robot extracts feature points for each segment. Feature points are key points that represent the geometric characteristics of the shoreline boundary, including shoreline turning points, inflection points, points with significant curvature changes, and intersections between the shoreline and the water. The underwater robot identifies and extracts these feature points by analyzing the positional relationships, directional changes, and curvature changes between adjacent boundary points in each segment of shoreline boundary data.
[0054] For shoreline boundary data acquired by sonar sensors, the underwater robot identifies feature points based on changes in echo intensity and abrupt changes in terrain. For shoreline boundary data acquired by visual sensors, the underwater robot extracts feature points using image edge detection and corner detection algorithms. For shoreline boundary data acquired by the GPS module, the underwater robot identifies feature points based on abrupt changes in the direction of trajectory points. The extracted feature points retain their original position coordinates, and the shoreline boundary data segment to which the feature point belongs is marked.
[0055] During feature point extraction, the underwater robot controls the number and distribution of feature points according to a preset sampling interval and curvature threshold. The sampling interval is used to avoid feature points being too dense, and the curvature threshold is used to ensure that the feature points can reflect the main geometric features of the boundary line and to avoid extracting invalid feature points due to noise interference.
[0056] For example, an underwater robot acquires shoreline boundary data for a segment of the eastern coastline, containing 100 consecutive boundary points. The robot analyzes the coordinate changes of these 100 points, calculates the direction angle of the lines connecting adjacent points, and identifies inflection points when the direction angle change exceeds 30 degrees. The robot also calculates the curvature value of each point, identifying inflection points when the curvature value exceeds a preset threshold. Through this analysis, the underwater robot extracts five feature points from this data segment, including two inflection points and three inflection points, and records them as belonging to the eastern shoreline data segment. For the visual data of the western shoreline, the underwater robot uses image processing to identify two corner points and one rock protrusion as feature points.
[0057] In step S13, the underwater robot matches and aligns the feature points extracted from each shoreline boundary data segment. The purpose of matching and alignment is to unify multiple shoreline boundary data segments collected at different times or by different devices into the same spatial coordinate system, eliminating positional deviations caused by underwater robot movement, sensor differences, or different collection times, thus laying the foundation for subsequent stitching and fusion to form a complete shoreline boundary.
[0058] The underwater robot first identifies feature point pairs that may belong to the same physical location from all feature points. These feature point pairs are usually located in the transition region between adjacent data segments. The underwater robot uses a feature point matching algorithm to calculate the spatial transformation relationship between these feature point pairs, which includes translation and rotation. Based on the calculated transformation relationship, the underwater robot transforms all boundary points in each shoreline boundary data segment to the same coordinate system, thus achieving spatial alignment between adjacent data segments in the transition region.
[0059] For aligned adjacent data segments, overlapping or gap regions may exist. When there is an overlapping region between adjacent data segments, the underwater robot performs fusion processing on the boundary points within the overlapping region. This fusion processing involves assigning different weights to each boundary point based on its measurement accuracy and acquisition time, and then performing a weighted average of the boundary points within the overlapping region to eliminate overlap errors. When there is a gap region between adjacent data segments, the underwater robot uses an interpolation algorithm to generate supplementary boundary points within the gap region, filling in the gap, based on the local orientation and curvature characteristics of the boundary lines on both sides of the gap.
[0060] The underwater robot connects the fused boundary points with the interpolated supplementary boundary points in sequence to form a continuous and closed boundary line, which is the closed datum figure. The closed datum figure completely represents the area of the water body to be surveyed. The boundary of the closed datum figure corresponds to the actual position of the shoreline, and the internal area of the closed datum figure is the water body to be surveyed.
[0061] For example, an underwater robot acquires data segments of the eastern and western shorelines, with an uncollected gap between them. The end feature point of the eastern segment is point A, and the beginning feature point of the western segment is point B. The underwater robot uses a feature point matching algorithm to find that points A and B are located on opposite sides of the gap, and that the two segments are generally aligned. The robot calculates the translation and rotation required to align the eastern and western data segments, transforming all boundary points in both segments to the same coordinate system, ensuring that the relative positions of points A and B conform to the natural orientation of the shoreline. For the gap between points A and B, the underwater robot uses cubic spline interpolation to generate 10 supplementary boundary points based on the boundary orientation before point A and after point B, filling the gap completely. Finally, the underwater robot connects all the boundary points sequentially, forming a closed curve that completely encloses the water area of the reservoir to be mapped, thus creating a closed reference figure.
[0062] In this embodiment, the underwater robot uses a boundary detection device to collect multiple shoreline boundary data, extract feature points, and perform matching and alignment. This allows the scattered shoreline information to be stitched together and fused into a complete closed reference graphic. This method solves the problem that a single detection method or a single collection is insufficient to obtain a complete shoreline boundary. It is particularly suitable for complex scenarios such as winding shorelines and semi-enclosed waters, providing an accurate water area benchmark for subsequent surveying and mapping operations.
[0063] In one possible embodiment, see Figure 5 , Figure 5 yes Figure 4 A specific flowchart of step S13 includes the following steps: S131A. Based on the feature points of each boundary line segment, a feature point matching algorithm is used to calculate the transformation parameters between adjacent boundary lines.
[0064] Specifically, after extracting feature points from each boundary line segment, the underwater robot needs to determine the spatial transformation relationship between adjacent boundary lines. Transformation parameters describe the values required to align one boundary line with another after translation, rotation, or even scaling. The underwater robot first identifies adjacent boundary lines, which are two boundary lines that are spatially connected or have overlapping areas. For each pair of adjacent boundary lines, the underwater robot searches for corresponding feature point pairs from the feature points of both boundary lines. Corresponding feature point pairs are feature points that belong to the same location in physical space but have different coordinates in different data segments.
[0065] Underwater robots employ feature point matching algorithms to find corresponding feature point pairs and calculate transformation parameters. Commonly used feature point matching algorithms include the Iterative Closest Point (ILP) algorithm and the Random Sample Consensus (RSC) algorithm. The ILP algorithm minimizes the distance between feature point sets of two boundary lines through iterative optimization, ultimately obtaining the rotation matrix and translation vector. The RSC algorithm improves the robustness of transformation parameters by eliminating erroneous matching point pairs through random sampling and consistency checks. Transformation parameters include at least translation and rotation, and may also include scaling to correct for scale differences between different sensors when necessary.
[0066] When calculating transformation parameters, underwater robots prioritize using feature point pairs with high confidence, such as inflection points and other points with obvious geometric features. For cases with multiple corresponding feature point pairs, the underwater robot uses the least squares method to solve for the optimal transformation parameters, minimizing the average distance between all corresponding point pairs.
[0067] For example, an underwater robot acquires data segments from the eastern and western shorelines. The eastern segment has three feature points at its end, and the western segment has three feature points at its beginning. The underwater robot uses an iterative nearest-point algorithm to match these six feature points, calculating that the required rotation angle is 3 degrees and the translation is 2 meters east and 1 meter north, respectively, to transform the eastern data segment to the coordinate system of the western data segment. These transformation parameters are then used to subsequently unify all boundary points of the eastern data segment to the coordinate system of the western data segment.
[0068] S132A. Based on the transformation parameters, transform multiple boundary lines to the same coordinate system to achieve spatial alignment of adjacent boundary lines.
[0069] After obtaining the transformation parameters between adjacent boundary lines, the underwater robot transforms all boundary lines to the same coordinate system. Typically, the underwater robot selects the coordinate system of one segment of the boundary lines as the global coordinate system; for example, it might choose the coordinate system of the first segment acquired, or the coordinate system of the segment with the widest coverage. Then, based on the previously calculated transformation parameters, the underwater robot sequentially transforms all boundary points of the other boundary segments to the global coordinate system through rotation and translation.
[0070] During the transformation, the underwater robot applies the same transformation parameters to every boundary point in each boundary segment, ensuring that the entire boundary segment remains geometrically unchanged, only altering its spatial position and orientation. After the transformation, adjacent boundary lines achieve spatial alignment in overlapping or connecting areas, and the two originally separate boundary segments appear continuous or partially overlapping in the global coordinate system.
[0071] For cases with multiple boundary lines, the underwater robot uses a segment-by-segment approach to complete the global transformation. For example, the second boundary line is first transformed to the coordinate system of the first boundary line, then the third boundary line is transformed to the coordinate system of the already transformed second boundary line, and so on, until all boundary lines are ultimately located in the coordinate system of the first boundary line. If there are multiple branches, a transformation tree is built using a graph theory-like method to unify them into a single reference coordinate system.
[0072] For example, the underwater robot uses the coordinate system of the eastern data segment as its global coordinate system. Based on the transformation parameters calculated in step S131, all boundary points of the western data segment are rotated and translated. After the transformation, the position and orientation of the western data segment are correctly aligned with the eastern data segment in the connecting area. The two data segments exhibit a continuous trend in the global coordinate system, and the distance between the end feature point of the eastern data segment and the beginning feature point of the western data segment is significantly reduced, but minor misalignments or gaps may still exist.
[0073] S133A. If there is an overlapping area between adjacent boundary lines after alignment, extract the boundary point data within the overlapping area and perform fusion processing on the boundary point data.
[0074] When adjacent boundary lines are spatially aligned, if boundary points are collected from both boundary lines within a certain area, that area is considered an overlapping region. Overlapping regions may occur because sensors simultaneously cover the same area, or because the underwater robot passes the same location at different times. The underwater robot detects overlapping regions by comparing the spatial distances between boundary points on the two boundary lines. When the distance between points on one boundary line and points on the other boundary line is less than a preset threshold, these points are determined to be within the overlapping region.
[0075] For overlapping regions, the underwater robot needs to fuse the redundant data provided by the two boundary lines to eliminate overlap errors and form a single boundary line. The basic idea of the fusion process is to perform a weighted average of the boundary points within the overlapping region, with the weights determined based on the measurement accuracy or acquisition time of each boundary point. Generally, it is believed that sensors with higher measurement accuracy or more recent data acquisition times have greater weights. The underwater robot merges the boundary points of the two boundary lines within the overlapping region according to their weights, generating a new set of boundary points. These new boundary points represent the position of the fused boundary line.
[0076] Fusion processing can also employ curve fitting, performing least-squares fitting on all boundary points within the overlapping region to obtain a smooth curve as the boundary line of that region. The fitted boundary points can be sampling points on the fitted curve or control points of the fitted curve. After fusion processing, the number of boundary points within the overlapping region is reduced, their positions are more precise, and duplication or misalignment caused by measurement errors is eliminated.
[0077] For example, the eastern and western data segments overlap by approximately 10 meters at a river bend. The eastern data segment has 20 boundary points within this area, while the western data segment has 18. The underwater robot analyzed the positions of these points and found an average deviation of approximately 0.3 meters between the two sets. Based on the accuracy of the two sensors (sonar being more accurate than vision), the underwater robot assigned a weight of 0.6 to the points in the eastern data segment and a weight of 0.4 to the points in the western data segment. A weighted average was then applied to each corresponding location, generating 20 new boundary points. These new points combined the advantages of both sets of data, resulting in positions closer to the actual shoreline.
[0078] S134A. If there is a gap between adjacent boundary lines after alignment, an interpolation algorithm is used to generate supplementary boundary points in the gap area based on the local orientation and curvature characteristics of the boundary lines on both sides of the gap.
[0079] When adjacent boundary lines are aligned in space, any gaps between them—areas without boundary points—are called gap regions. These gap regions are typically caused by sensors failing to detect that section of the shoreline, for example, due to obstructions or the underwater robot not navigating to that area. To form a continuous, closed shoreline boundary, the underwater robot needs to fill in these gap regions with boundary points.
[0080] The underwater robot first determines the start and end points of the gap region, namely the end point of the previous boundary line and the beginning point of the subsequent boundary line. Then, it analyzes the local orientation and curvature characteristics near these two points; that is, based on the trends of several boundary points before the end point and several boundary points after the beginning point, it infers the expected shoreline shape of the gap region. Based on these characteristics, the underwater robot selects a suitable interpolation algorithm to generate supplementary boundary points. Commonly used interpolation algorithms include linear interpolation, polynomial interpolation, and spline interpolation. For regions with gentle curvature changes, linear interpolation is sufficient; for regions with significant curvature, cubic spline interpolation can achieve a smoother and more natural transition.
[0081] The underwater robot determines the number of supplementary boundary points based on a preset interpolation density, for example, generating one point every 0.5 meters or 1 meter. The generated points should ensure that the entire boundary line is smooth and continuous within the gap region and consistent with the orientation of the boundary lines on both sides. After interpolation is complete, the supplementary boundary points are inserted between the two boundary lines to fill the gap.
[0082] For example, the end point of the eastern data segment is A, and the beginning point of the western data segment is B, with a straight-line distance of 5 meters between A and B. The underwater robot analyzes the five boundary points before point A and finds that the shoreline runs at 30 degrees east of north, with relatively low curvature; analyzing the five boundary points after point B, it finds that the shoreline runs at 25 degrees east of north, also with relatively low curvature. Therefore, it is determined that the shoreline in the gap area is approximately a straight line. The underwater robot uses linear interpolation to generate a supplementary point every 0.5 meters along the line connecting A and B, generating a total of nine points. These points are then sequentially inserted between A and B, connecting the eastern and western data segments into a continuous boundary line.
[0083] S135A: Connect the boundary points after fusion processing or the supplementary boundary points generated by interpolation to form a continuous and smooth closed reference pattern.
[0084] After the above processing, the underwater robot obtained the processing results for all boundary segments: for overlapping areas, it obtained the merged boundary points; for areas with gaps, it obtained the interpolated supplementary boundary points; for areas with neither overlap nor gaps, it retained the original boundary points. The underwater robot then connected these points sequentially along the shoreline to form a complete closed boundary line.
[0085] During the connection process, the underwater robot needs to consider the smoothness of the boundary lines. Excessive directional changes between adjacent points can lead to sharp corners or jitter in the boundary lines. The underwater robot can smooth the connected boundary lines, for example, by using moving averages or Bézier curve fitting, to make the final closed baseline graphic more consistent with the natural shape of the actual shoreline. The smoothing process should be controlled within a reasonable range to avoid over-smoothing that could result in the loss of feature points.
[0086] The resulting closed reference figure is a closed polygon composed of ordered boundary points, which fully represents the extent of the water area to be surveyed. This figure can serve as a reference for subsequent surveying steps, used to generate navigation reference figures and execute navigation areas.
[0087] For example, the underwater robot arranges the boundary points of the merged data segment on the east side, the original boundary points of the data segment on the west side, and the supplementary boundary points generated by interpolation in the gap region in sequence. Starting from the beginning of the eastern data segment, it passes through the merged region and the gap region in turn, until it reaches the end of the western data segment, and finally returns to the starting point, forming a closed loop. The underwater robot performs cubic spline smoothing on the entire closed boundary line to remove any possible tiny jagged edges, resulting in a smooth closed curve, which is the closed reference figure. This figure accurately reflects the actual shoreline outline of the reservoir, and the internal area is the water area to be mapped.
[0088] In this embodiment, the underwater robot accurately calculates the transformation parameters between adjacent boundary lines based on a feature point matching algorithm, unifying multiple boundary lines into the same coordinate system to achieve spatial alignment. For overlapping areas, fusion processing is performed to eliminate redundant errors, and for gap areas, interpolation algorithms are used to generate supplementary boundary points to fill the gaps. Finally, the processed boundary points are connected to form a continuous and smooth closed reference figure. This method effectively solves the problems of misalignment, overlap, and missing data in multi-source shoreline data stitching, generating a high-precision water area reference, providing a reliable foundation for subsequent surveying and mapping operations.
[0089] In one possible embodiment, see Figure 6 As shown, Figure 6 middle Figure 4 Another flowchart of step S13 includes the following steps: S131B When it is detected that the water area covered by multiple shoreline boundaries is a semi-enclosed water area and there are unclosed opening areas, the feature points of the end boundary lines on both sides of the opening area are obtained.
[0090] During the process of collecting and initially processing multiple shoreline boundary data, underwater robots need to determine the type of the current water area and the completeness of the boundary data. Semi-enclosed water areas refer to water types that are entirely surrounded by land but have one or more openings, such as bays, lagoons, and river estuaries. Unclosed opening areas refer to regions where the boundary lines are discontinuous due to sensor failure to collect data or the actual geographical environment, such as the outlet of a bay or the junction of a lake and a river.
[0091] Underwater robots identify semi-enclosed waters and open areas by analyzing the spatial distribution of collected shoreline boundary data. If multiple shoreline boundary data segments collectively enclose a nearly closed area, but there is a long blank area preventing the boundary line from closing, and the ends of the boundary lines on both sides of the blank area point towards each other or towards the outside of the water, then the water area can be determined to be semi-enclosed, and the blank area is an open area. The identification of open areas can also be combined with geographical features, such as topographic information about the surrounding water area obtained through a GPS module, to determine whether the open area corresponds to an actual geographical passage such as a strait or estuary.
[0092] After identifying the opening region, the underwater robot acquires the end boundary lines on both sides of the opening region. The end boundary line refers to the last segment of shoreline boundary data that constitutes the boundary of the opening region on both sides. Each end boundary line contains several boundary points, with the point closest to the opening region called the end point. The underwater robot extracts feature points from these two end boundary lines. Feature points include the end points themselves, as well as key points near the end points, such as turning points and inflection points, that reflect the local geometric features of the boundary line. The extracted feature points are used for subsequent calculation of the virtual connecting line.
[0093] For example, in a bay mapping task, an underwater robot collected data segments along the eastern and western shorelines of the bay. The eastern shoreline data segment ended east of the bay's outlet, and the western shoreline data segment ended west of the bay's outlet, with an opening of approximately 500 meters wide between the two segments. Analysis by the underwater robot revealed that the two data segments collectively formed a U-shape, with the opening facing the ocean. Therefore, the water area was determined to be semi-enclosed, and the blank area between the eastern and western data segments was the opening. The underwater robot then acquired 10 boundary points near the end of the eastern shoreline data segment and 10 boundary points near the end of the western shoreline data segment as feature points. These feature points included their respective endpoints and turning points with significant curvature changes.
[0094] S132B. Based on the characteristic points of the end boundary line and the local trend of the end boundary line, calculate the virtual connection line between the boundary lines on both sides of the opening area.
[0095] After the underwater robot acquires feature points of the boundary lines at both ends of the opening area, it needs to construct a virtual connecting line that can reasonably connect the two boundary lines. The virtual connecting line is not the actual shoreline data collected, but a virtual boundary inferred from the geometric features of the two boundary lines, used to fill the opening area and close the boundary.
[0096] The underwater robot first analyzes the local trend of the end boundary lines on both sides. The local trend refers to the direction of extension of the end boundary line within a small range near the opening region, which is usually obtained by fitting the tangent directions of several boundary points near the end point or fitting a short curve. The underwater robot can calculate the first derivative at the end point or use the least squares method to fit a straight line or curve to obtain the direction of extension of the side boundary line at the edge of the opening region.
[0097] Based on the local directional trends on both sides and the positions of feature points, the underwater robot selects an appropriate curve generation method to calculate the virtual connecting line. If the directional trends on both sides are relatively gentle and generally point towards each other, linear interpolation or quadratic curve fitting can be used to generate a smooth connecting curve. If the directional trends on both sides have obvious curvature or angles, cubic spline interpolation or Bézier curves can be used to generate a connecting curve with continuous curvature. When generating the virtual connecting line, the rationality of actual geographical features needs to be considered. For example, at the mouth of a bay, the virtual connecting line should conform to the natural shape of the strait, rather than a simple straight line.
[0098] During the calculation process, the underwater robot ensures that the two ends of the virtual connecting line smoothly connect with the boundary lines at both ends. That is, the tangent of the virtual connecting line at the starting point is consistent with the local direction of the left boundary line, and the tangent at the ending point is consistent with the local direction of the right boundary line. At the same time, points on the virtual connecting line are generated at preset intervals, such as one point every 5 meters or 10 meters, so that they can be combined with other boundary points to form a closed shape later.
[0099] For example, regarding the eastern and western boundary lines of the bay, the underwater robot analyzed 10 feature points near the eastern boundary point and fitted a local orientation of 30 degrees west of north at the eastern boundary. Analyzing the 10 feature points near the western boundary point, the robot fitted a local orientation of 20 degrees east of north at the western boundary. The straight-line distance between the two boundary points is 500 meters, and both orientations roughly point towards the center of the opening. The underwater robot used cubic spline interpolation, starting from the eastern boundary point and using the local orientation as the starting tangent direction, and ending at the western boundary point and using the local orientation as the ending tangent direction, to generate a smooth curve as a virtual connecting line. A point is generated every 10 meters on this curve, for a total of 50 points. The curve formed by these points naturally connects the eastern and western shorelines, conforming to the typical shape of a bay outlet.
[0100] S133B: Connect the virtual connecting line with multiple shoreline boundaries to generate a closed reference figure.
[0101] After obtaining the virtual connecting line, the underwater robot stitches it together with the existing multiple segments of shoreline boundary data. The stitching process follows the natural order along the shoreline, starting from a segment of actually collected shoreline boundary data, passing through other actual data segments in sequence, and finally returning to the starting point via the virtual connecting line, forming a closed loop.
[0102] During the stitching process, the underwater robot needs to ensure a smooth transition between the virtual connecting lines and the actual boundary data at the connection points. If there are minor misalignments or angular discontinuities, a small number of points near the connection points can be locally smoothed, for example, by using a weighted average or moving average, so that the entire closed figure does not have obvious abrupt changes at the connection points. After stitching, the virtual connecting lines become part of the closed reference figure, filling in the original open area.
[0103] The final closed datum graphic is a closed polygon composed of actually collected shoreline boundary data and virtual connecting lines, fully representing the extent of the water area to be surveyed. For semi-enclosed water areas, the closed datum graphic includes both the actual shoreline and the virtual connecting lines, with the virtual connecting lines corresponding to opening areas in the actual geographical environment, such as bay outlets or river mouths. This graphic serves as the reference for subsequent surveying steps, used to generate navigation reference graphics and execute navigation areas.
[0104] For example, see Figure 7 As shown, Figure 7 This is a schematic diagram illustrating the generation principle of the virtual connection line provided in this application embodiment. The underwater robot splices together the eastern shoreline data segment, the western shoreline data segment, and the virtual connection line generated in step S132B. The splicing sequence starts from the starting point of the eastern shoreline data segment, passes through all boundary points of the eastern shoreline data segment, reaches the eastern end point, enters the starting point of the virtual connection line, passes through 50 points along the virtual connection line, reaches the western end point, and then continues along all boundary points of the western shoreline data segment, finally returning to the starting point of the eastern shoreline data segment, forming a closed loop. The underwater robot performs local smoothing processing at the connection points between the eastern end point and the starting point of the virtual connection line, and between the western end point and the end point of the virtual connection line, to ensure continuous curvature at the connection points. The final generated closed reference graphic completely represents the bay water area, where the eastern and western shorelines are actual collected data, and the bay outlet is the boundary formed by the virtual connection line.
[0105] In this embodiment, the underwater robot can calculate virtual connecting lines based on the feature points and local trends of the boundary lines at both ends of a semi-enclosed waterway with open areas. It then stitches these virtual connecting lines with the actually collected shoreline boundary data to generate a closed reference figure. This method solves the problem that the shoreline boundary cannot close naturally in semi-enclosed waterways due to geographical openings. It ensures that even in the presence of open areas such as straits and estuaries, a complete and closed reference figure for the area to be surveyed can still be obtained, providing a unified graphic basis for subsequent surveying operations. This method is particularly suitable for automated surveying of complex waterways such as bays, lagoons, and estuaries.
[0106] In one possible embodiment, see Figure 8 , Figure 8 This is a schematic diagram of the process for generating an execution navigation region provided in an embodiment of this application, which specifically includes the following steps: S41. When the current water depth is detected to be less than the preset depth threshold, control the underwater robot to sail away from the shoreline and continue to measure the water depth during the sailing process until the measured water depth is greater than or equal to the preset depth threshold, and mark the current point as a candidate boundary point.
[0107] As the underwater robot navigates along a navigation reference map and measures water depth in real time, it needs to compare the water depth measured at each measurement point with a pre-set depth threshold. The depth threshold is a value determined according to the requirements of the surveying task, used to determine whether the water depth at the current measurement point meets the basic conditions for subsequent surveying operations, such as 5 meters. When the underwater robot measures a water depth at a certain measurement point that is less than the depth threshold, it indicates that the water at that location is shallow and unsuitable as a boundary for subsequent surveying operations.
[0108] At this point, the underwater robot needs to adjust its course from this measurement point, moving away from the shoreline and into the outer waters. The direction away from the shoreline is determined by using the normal direction of the navigation reference graphic at that measurement point as a basis. The normal direction is perpendicular to the curve of the navigation reference graphic and points away from the shoreline. Based on its own positioning information and the geometric characteristics of the navigation reference graphic, the underwater robot calculates the deviation course in real time and controls its thrusters to navigate in that direction.
[0109] During the divergence navigation, the underwater robot keeps its depth sounding equipment continuously operating, measuring the water depth at each location it passes through. Each new depth value is immediately compared to a depth threshold. If the measured depth is still less than the threshold, the underwater robot continues to navigate in the divergence direction until a depth value at a location is greater than or equal to the threshold. At this point, the underwater robot stops its divergence navigation and records the current location as a candidate boundary point. The coordinates of the candidate boundary point, along with the water depth value at that location, are stored as a basis for subsequently generating the navigation area.
[0110] During the divergence maneuver, the underwater robot also needs to calculate the distance it has diverged from in real time to avoid deviating from the designated operating area or entering unsafe waters due to excessive divergence. A maximum divergence distance threshold can be preset, for example, 50 meters. If, during the divergence maneuver, the divergence distance reaches the maximum divergence distance threshold, but the measured water depth value still does not reach the depth threshold, the underwater robot stops the divergence maneuver and marks the current position as a candidate boundary point. In this case, the candidate boundary point represents the deepest position that can be reached within the acceptable divergence range, although the water depth may still be less than the ideal threshold, but it serves as the boundary point for actual operation.
[0111] For example, an underwater robot has a set depth threshold of 5 meters and a maximum deviation distance threshold of 30 meters. When the underwater robot navigates along a navigation reference map to a certain measurement point, the measured water depth is 3.2 meters, which is less than 5 meters. Based on the normal direction of this measurement point, the underwater robot determines its deviation direction from the shoreline to be perpendicular to the direction pointing outwards on the navigation reference map. The robot begins its deviation navigation while continuously measuring the water depth. When the deviation navigation reaches 15 meters from the starting point, the measured water depth is 5.1 meters, reaching the depth threshold. The robot stops navigation and records this location as a candidate boundary point with coordinates of 118.35 degrees east longitude and 24.68 degrees north latitude, and a water depth of 5.1 meters. If the water depth is still only 4.8 meters when the deviation navigation reaches 30 meters, which is less than 5 meters, the robot will also stop navigation and record this 30-meter location as a candidate boundary point with a water depth of 4.8 meters.
[0112] S42. Traverse the boundary lines of the navigation reference graphic to obtain all candidate boundary points, and generate the execution navigation area based on each candidate boundary point.
[0113] After completing one lap along the navigation reference map, the underwater robot has performed depth measurement and judgment processing on all measurement points on the map. Measurement points with depth values reaching a depth threshold are directly used as candidate boundary points; for measurement points with depth values less than the depth threshold, corresponding candidate boundary points are obtained by deviating from the navigation path. Therefore, the underwater robot obtains a series of discrete candidate boundary points, distributed outside the navigation reference map, forming a new point set.
[0114] The underwater robot needs to connect these discrete candidate boundary points in a certain order to form a continuous and closed boundary line, i.e., the water boundary of the navigation area. The spatial distribution of the candidate boundary points may correspond to a navigation reference graphic; typically, each candidate boundary point corresponds to a measurement point location on the navigation reference graphic or a point on its opposite extension line. The underwater robot can arrange the corresponding candidate boundary points sequentially according to the original measurement point locations on the navigation reference graphic, forming an ordered point sequence.
[0115] For this ordered sequence of points, the underwater robot uses a curve fitting algorithm to generate a smooth closed curve. Commonly used fitting algorithms include spline interpolation, polynomial fitting, or Bézier curve fitting. During the fitting process, it is necessary to ensure that the generated curve is as close as possible to each candidate boundary point, while maintaining the smoothness and continuity of the curve. If the distance between some adjacent candidate boundary points is too large, interpolation points can be appropriately increased during the fitting process to make the curve smoother and more natural.
[0116] The closed curve generated by the fitting represents the water boundary of the navigation execution area. The navigation execution area is enclosed by this boundary, and any location within it satisfies the condition that the water depth is not less than a depth threshold, or at least represents the deepest water achievable within an acceptable deviation range. The navigation execution area replaces the navigation reference graphics and serves as the basis for subsequent mapping path planning. Planning the mapping path within the navigation execution area ensures that the underwater robot operates in areas with sufficient water depth, avoiding operational interruptions or equipment damage due to insufficient water depth.
[0117] For example, the underwater robot sets up 200 measurement points along the navigation reference map. Of these, 120 points have water depths directly greater than or equal to 5 meters; these points themselves are candidate boundary points. The remaining 80 points have water depths less than 5 meters, and these 80 corresponding candidate boundary points were obtained by deviating from the navigation path. The underwater robot arranges these 200 candidate boundary points sequentially according to the order of the measurement points on the navigation reference map. Then, using a cubic spline interpolation algorithm, a smooth closed curve is generated using these 200 points as control points. This curve lies outside the navigation reference map in some areas, corresponding to boundary points obtained by deviating from the navigation path; in other areas, it overlaps with the navigation reference map, corresponding to measurement points with directly met water depth requirements. The area enclosed by this closed curve is the navigation execution area, where the water depth at all locations meets the requirement of 5 meters or more, suitable for subsequent mapping operations.
[0118] In this embodiment, during navigation along the navigation reference map, the underwater robot dynamically adjusts its boundary position based on a comparison between real-time measured water depth values and preset depth thresholds. For areas with insufficient water depth, it expands outwards by deviating from the navigation path until the water depth reaches the threshold, obtaining new boundary points. For areas with sufficient water depth, the original measurement point positions are directly retained as boundary points. After traversing all measurement points, the obtained candidate boundary points are fitted to generate the navigation area. This method realizes the transformation from fixed safe distance navigation to dynamic water depth adaptation, ensuring that the water depth conditions of the surveyed area meet the operational requirements. It effectively solves the problem of planning area failure caused by underwater topographic changes or water level fluctuations, improving the reliability and adaptability of surveying operations.
[0119] In one possible embodiment, see Figure 9 , Figure 9 This is a navigation control flowchart provided in an embodiment of this application for generating a navigation execution area, which specifically includes the following steps: S411. When the current water depth is detected to be less than the depth threshold, obtain the current position of the underwater robot on the navigation reference graphic and the normal direction at the current position. The normal direction is perpendicular to the navigation reference graphic and points to the side away from the shoreline.
[0120] While navigating along a navigation reference map and measuring water depth in real time, the underwater robot immediately triggers a departure procedure when the measured depth value at a certain measuring point is less than a preset depth threshold. At this time, the underwater robot needs to determine its precise position on the navigation reference map, i.e., its current position. The current position refers to the location of the underwater robot when it receives the command that the water depth value is less than the threshold; this position is located on or very close to the navigation reference map.
[0121] To determine the deviation from the course, the underwater robot needs to calculate the normal direction at its current location. The normal direction is a straight line perpendicular to the curve of the navigation reference figure, pointing away from the shoreline. The method for calculating the normal direction is based on the geometry of the navigation reference figure. The navigation reference figure consists of a series of ordered boundary points. The underwater robot can fit the tangent direction at the current location to several neighboring points, and then calculate the normal direction based on the tangent direction. There are two normal directions: one pointing inwards from the shoreline, and the other pointing outwards away from the shoreline. The underwater robot chooses the direction pointing away from the shoreline.
[0122] After obtaining the normal direction, the underwater robot records this direction as the reference direction for its divergence navigation. Simultaneously, the underwater robot stores the coordinates of its current location for subsequent calculations of the divergence distance.
[0123] For example, an underwater robot navigates along a navigation reference curve, which is an approximately elliptical closed curve. When the robot reaches a point on the ellipse, the measured water depth is 3.8 meters, less than the 5-meter depth threshold. The robot immediately acquires the coordinates of its current position and, by analyzing the positions of five boundary points before and after that point, fits the tangent direction at that point. Based on the tangent direction, it calculates two normal directions perpendicular to the tangent. By determining the location of the shoreline, the robot determines that the direction pointing outwards from the ellipse is the direction away from the shoreline, i.e., the normal direction.
[0124] S412. Determine the deviation course based on the normal direction, and control the underwater robot to navigate along the deviation course and the preset deviation distance.
[0125] The underwater robot uses the normal direction obtained in step S411 as its departure direction, meaning it will travel in a straight line along that direction. To control the navigation process, the underwater robot needs to be set with a preset departure distance. This preset departure distance is a maximum navigation distance limit used to prevent the robot from drifting indefinitely away from the shoreline, leaving the work area, or entering unsafe waters. The preset departure distance can be set in advance according to mission requirements, for example, 2 meters or 3 meters.
[0126] The underwater robot begins its journey along a deviating course, continuously measuring water depth during the voyage. During this journey, the robot monitors two conditions in real time: first, whether the current water depth has reached or exceeded a depth threshold; and second, whether the distance traveled has reached a preset deviating distance. If the water depth reaches the threshold first, the robot will stop its deviating journey prematurely and record the current location as a candidate boundary point. If the voyage reaches the preset deviating distance but the water depth has not yet reached the threshold, the robot will also stop and record that distance point as a candidate boundary point. Therefore, the preset deviating distance acts as a boundary constraint, ensuring that the robot completes the deviating operation within a limited range.
[0127] During the voyage, the underwater robot maintains a stable course and continuously records its trajectory and measurement data for subsequent processing.
[0128] For example, the underwater robot has a preset departure distance of 30 meters. After determining the departure direction in step S411, the robot begins to travel in a straight line in that direction. The initial water depth is 3.8 meters, and the water depth gradually increases as the robot travels. When the robot travels to 15 meters from the starting point, the measured water depth is 5.2 meters, reaching the depth threshold of 5 meters. The robot immediately stops traveling and marks the position at 15 meters as a candidate boundary point. If the water depth is still only 4.9 meters when the robot travels to 10 meters, which is less than 5 meters, the robot also stops traveling and marks the position at 10 meters as a candidate boundary point. In either case, the departure travel is completed within the preset distance, and candidate boundary points are obtained for constructing the navigation area.
[0129] Through the above steps, the underwater robot can accurately obtain its current position and normal direction when the water depth is insufficient, and navigate along the opposite course to a preset distance or a position where the water depth meets the requirements, achieving adaptive boundary expansion. This method ensures accurate deviation from the navigation direction and controllable distance, avoids blind navigation, provides a reliable base point for subsequently generating a precise execution navigation area, and ensures the operational safety of the underwater robot.
[0130] In one possible embodiment, the method of this application further includes: S7. Retrieve the historically generated execution navigation area, and re-verify and update the execution navigation area based on the water depth re-measurement of at least two points within the execution navigation area.
[0131] In particular, before starting a new round of surveying operations, underwater robots need to assess the impact of water level changes on the existing navigation area. Water level changes can be caused by factors such as tides, rainfall, and upstream water flow, leading to changes in the water depth conditions of the original navigation area. Some areas may no longer meet the depth threshold requirements, or areas that were previously too shallow may become workable. Therefore, underwater robots need to retrieve historically generated navigation area data, re-measure the water depth at key points to determine if the water level has changed, and update the navigation area accordingly to ensure that the area for subsequent surveying operations always meets the operational requirements.
[0132] In one possible embodiment, see Figure 10 As shown, Figure 10 This is a flowchart illustrating the process of updating the execution navigation area provided in an embodiment of this application, specifically including the following steps: S71. During the current surveying operation, collect the current water depth values of at least two points within the navigation area in real time.
[0133] During the current surveying operation, the underwater robot needs to simultaneously monitor water level changes in the navigation area. The navigation area is the water region upon which the current surveying operation is based, and the water depth conditions within this area directly affect the effectiveness of the surveying work. To determine whether the water level has changed, the underwater robot needs to select at least two points within this area to re-measure the water depth and obtain the current water depth values at these points, which will serve as a basis for subsequent comparison with historical data.
[0134] Point selection can be based on various rules. The underwater robot can select the geometric center of the navigation area, as this is typically representative. Alternatively, it can select feature points on the boundary of the navigation area, such as locations with significant changes in boundary curvature, as these points are sensitive to changes in water depth. Multiple points can also be selected within the area according to a uniform distribution principle to ensure coverage of different water depths. At least two points should be selected to ensure consistency of data from multiple points, eliminating local measurement errors and accurately determining the overall trend of water level changes. These points can be pre-set and stored in the system before the start of the current mapping operation, or they can be dynamically determined based on real-time conditions during the operation.
[0135] The underwater robot plans its navigation path based on the coordinates of the selected points. Since these points are located within the navigation area and generally have good water depth, the underwater robot can navigate to each point sequentially, either during breaks in the current mapping work or following the optimized path order. During navigation, the underwater robot maintains a safe speed and avoids known obstacles to ensure safe navigation.
[0136] Upon reaching each location, the underwater robot measures the current water depth using its onboard depth sounding equipment. This equipment includes at least one of a multibeam echo sounder, a single-beam echo sounder, or a Doppler velocimeter. During measurement, the underwater robot maintains a stable horizontal attitude, ensuring the transducer of the depth sounding equipment is perpendicular to the water surface or bottom to obtain accurate depth readings. The underwater robot records the precise coordinates of the current location, the measured water depth, and the timestamp of the measurement. After completing the measurement at one location, the underwater robot continues to the next location, repeating the above measurement process until the current water depth values for all selected locations have been collected.
[0137] The collected current water depth value will be temporarily stored in local memory, and the corresponding location identifier and measurement time will be marked for subsequent comparison and analysis with historical water depth values. If a location is found to be inaccessible or the measurement data is abnormal during the acquisition process, the underwater robot can attempt to remeasure or skip that location, but it must ensure that the final number of valid locations is no less than two.
[0138] For example, an underwater robot is performing a surveying operation in a reservoir, navigating a roughly elliptical, enclosed water area. Three fixed points are pre-defined as water level monitoring points: Point 1 is located at the center of the area, with coordinates of 118.35°E, 24.68°N; Point 2 is located near the northeastern boundary of the area, with coordinates of 118.36°E, 24.67°N; and Point 3 is located on the southwestern side of the area near the shore, with coordinates of 118.34°E, 24.66°N. The underwater robot, following a zigzag path, passes near these three points sequentially according to its path plan. When it reaches Point 1, the robot pauses data acquisition, activates its multibeam echo sounder to measure the water depth, finding it to be 8.5 meters, and records the coordinates and measurement time. The surveying operation then continues. When it reaches Point 2, it again pauses surveying and measures the water depth, finding it to be 5.4 meters. Finally, the current water depth at point three was measured to be 5.6 meters. The underwater robot stored the current water depth values at these three points and associated them with the corresponding point markers.
[0139] S72. Obtain the historical water depth values of at least two points within the execution navigation area. The historical water depth values are the water depth values collected in the previous operation cycle or the initial calibration reference water depth values.
[0140] After the underwater robot has collected the current water depth values at at least two points within its navigation area, it needs to obtain the corresponding historical water depth values for these points. The historical water depth values are used to compare with the current water depth values to determine water level changes. There are two possible sources for the historical water depth values: one is the water depth value collected in the previous cycle, and the other is the initial calibration reference water depth value.
[0141] The water depth values collected in the previous cycle refer to the water depth data measured and stored by the underwater robot at the same location during the previous mapping operation. The previous cycle can be the previous complete mapping task or the previous water level monitoring cycle. The initial calibration reference water depth values refer to the water depth data measured at these locations and used as a reference when the navigation area is first established, or standard water depth values set based on historical data.
[0142] The underwater robot reads historical water depth values corresponding to the current sampling point from its local storage module. The storage module maintains a historical water depth database, where each record contains information such as point coordinates, sampling period, water depth value, and sampling time. Based on the coordinates of the current point, the underwater robot retrieves historical records for the same or nearest locations from the database. If multiple historical periods exist for the same point, the underwater robot can choose the most recent period as a comparison benchmark, or it can select a specific historical period according to preset rules.
[0143] During the process of acquiring historical water depth values, the underwater robot needs to confirm the spatial comparability between the acquired data and the current location. If there is a slight deviation between the coordinates of the current location and the coordinates of the location in the historical records, the underwater robot can use nearest neighbor interpolation or coordinate matching algorithms to correct for this discrepancy, ensuring the reasonableness of the comparison. After acquiring the historical water depth values, the underwater robot establishes a correspondence between them and the current water depth values, preparing for subsequent difference calculations.
[0144] For example, after the underwater robot collects the current water depth values for points 1, 2, and 3, it retrieves the historical water depth values for these three points from its local storage module. The storage module records that point 1's water depth in the previous period was 8.2 meters (collected last week); point 2's water depth in the previous period was 5.1 meters; and point 3's water depth in the previous period was 5.3 meters. The underwater robot confirms that the deviation between the currently collected point coordinates and the historical point coordinates is within 0.5 meters, assuming they belong to the same location, and therefore maps these historical water depth values to the current water depth values. For another newly selected point 4, if the database does not contain data from the previous period, but has a baseline water depth of 5.0 meters from the initial establishment of the area, the underwater robot uses this baseline water depth value as the historical water depth value for point 4.
[0145] S73. Calculate the difference between the current water depth value and the corresponding historical water depth value at each point to obtain the water depth change at each point.
[0146] After acquiring the current water depth values and corresponding historical water depth values at at least two points within its navigation area, the underwater robot needs to perform difference calculations on each pair of data. This difference calculation is fundamental to determining water level changes; by quantifying the difference between the current and historical water depths, it provides data support for subsequent analysis of water level change trends.
[0147] For each selected location, the underwater robot performs the following operations. First, it reads the current water depth value for that location from temporary storage. This value was measured and recorded in real time in step S71. Second, it reads the historical water depth value corresponding to that location from the historical database. This value was retrieved in step S72 and may come from the data collected in the previous cycle or the initial calibration baseline data. Then, the underwater robot performs a subtraction operation, subtracting the historical water depth value from the current water depth value. The difference is the water depth change at that location. The water depth change is a numerical value, which may be positive, negative, or zero. A positive number indicates that the current water depth at that location is greater than the historical water depth, meaning the water level is rising; a negative number indicates that the current water depth is less than the historical water depth, meaning the water level is falling; zero indicates that the water level has not changed.
[0148] The underwater robot processes each selected point sequentially using the method described above, ensuring that each point receives a corresponding change in water depth. During the calculation process, the underwater robot retains sufficient significant figures to reflect subtle differences in water depth changes. After the calculation is complete, the underwater robot stores these water depth change values in temporary memory and associates them with the corresponding point identifiers, ready for use in the next step of water level change trend analysis. These water depth changes will serve as the direct basis for subsequent determination of whether the water level has changed.
[0149] For example, in step S71, the underwater robot collects the current water depth at point 1 as 8.5 meters, point 2 as 5.4 meters, and point 3 as 5.6 meters. In step S72, it obtains the historical water depth values at point 1 as 8.2 meters, point 2 as 5.1 meters, and point 3 as 5.3 meters. The underwater robot calculates the water depth change at each point. The water depth change at point 1 is 8.5 meters minus 8.2 meters, which equals 0.3 meters. The water depth change at point 2 is 5.4 meters minus 5.1 meters, which equals 0.3 meters. The water depth change at point 3 is 5.6 meters minus 5.3 meters, which equals 0.3 meters. The calculation results show that the water depth change at all three points is 0.3 meters, indicating that the water level at these points has risen by 0.3 meters. The underwater robot stores these three water depth change values and marks the corresponding locations for use in step S74. S74. When the water depth changes at at least two points exceed the preset change threshold and the water depth change trends at at least two points are the same, it is determined that the water level has changed. Based on the real-time water depth value after the change, the area that meets the depth threshold condition is re-selected from the water area corresponding to the closed reference graphic to update the execution navigation area.
[0150] After calculating the water depth changes at various points within its navigation area, the underwater robot needs to comprehensively analyze these changes to determine whether the water level has changed overall. This judgment process involves two key conditions: the magnitude of the water depth changes and the consistency of the water depth change trend.
[0151] For the first condition, the underwater robot compares the water depth change at each point with a preset change threshold. The change threshold is a pre-defined value used to distinguish between normal fluctuations and significant changes. The setting of the change threshold needs to consider the accuracy of the measuring instruments, the normal range of water level fluctuations caused by environmental factors, and the tolerance of the mapping operation to water depth conditions. For example, the change threshold can be set to 0.2 meters. If the water depth change at a point is less than or equal to the change threshold, the water level change at that point is considered to be within the normal fluctuation range and insufficient to trigger a region update. Only when the water depth change exceeds the change threshold is the change at that point considered significant.
[0152] Regarding the second condition, the underwater robot analyzes the signs of the water depth changes at all points to determine if their trends are the same. A similar trend means that the water depth changes at all points are either all positive or all negative. A positive value indicates that the water depth at all points has increased, meaning the water level is rising; a negative value indicates that the water depth at all points has decreased, meaning the water level is falling. If the water depth changes at each point have both positive and negative values, it indicates that the water level changes are spatially inconsistent, possibly caused by local factors rather than a global change. In this case, it is not appropriate to determine that the water level has changed.
[0153] When an underwater robot detects that the water depth changes at at least two points exceed a preset threshold, and these points exhibit the same trend of change, it determines that a water level change has occurred. After determining a water level change, the underwater robot needs to re-determine a work area that meets the requirements of the surveying operation, i.e., update the navigation area.
[0154] The specific method for updating the execution navigation area is based on the changed real-time water depth values. It involves re-selecting areas from the water area corresponding to the closed reference graphic that meet the depth threshold conditions. The closed reference graphic is an initially generated complete shoreline boundary graphic representing the area to be mapped. Using the closed reference graphic as a basis, and considering the current actual water depth distribution, the underwater robot re-determines which water areas meet the depth threshold conditions. The depth threshold is the minimum water depth required for the mapping operation, for example, 5 meters. During the selection process, the underwater robot can use the same method as when initially generating the execution navigation area, i.e., re-measuring the water depth along the navigation reference graphic, or correcting the boundary of the original execution navigation area based on the magnitude of water level changes to generate a new water area boundary.
[0155] The area enclosed by the re-selected water boundaries becomes the updated execution navigation area. This updated execution navigation area replaces the original one and serves as the basis for subsequent mapping operations. The underwater robot stores the boundary data of the updated execution navigation area and uses this area in subsequent mapping path planning and mapping operations.
[0156] For example, in step S73, the underwater robot calculates that the water depth change at point one is 0.3 meters, the water depth change at point two is 0.3 meters, and the water depth change at point three is 0.3 meters. The preset change threshold is 0.2 meters, and the water depth changes at all three points exceed 0.2 meters. Furthermore, the water depth changes at these three points are all positive and show the same trend, indicating that the overall water level is rising. Based on this, the underwater robot determines that the water level has changed.
[0157] After determining the water level change, the underwater robot retrieves the closed reference map and navigation reference map. Since the water level has risen by approximately 0.3 meters, areas where the water depth was previously slightly below the 5-meter depth threshold on the navigation reference map may now be above 5 meters. The underwater robot retraces one lap along the navigation reference map, measuring the current water depth in real time at each measurement point. Points with depths of 5 meters or more are recorded as candidate boundary points, and then a new water area boundary is generated. The area enclosed by the new water area boundary is the updated navigation area, which expands outward and increases in size compared to the original area, with all boundary points meeting the depth threshold condition of 5 meters or more. The underwater robot stores the updated navigation area boundary data for subsequent mapping operations.
[0158] In this embodiment, the underwater robot collects the current water depth values of multiple points within the navigation area in real time during the mapping operation, compares them with historical water depth values, calculates the water depth change, and determines the water level change trend. When the changes at multiple points all exceed a threshold and the trends are consistent, it is determined that the water level has changed and the navigation area is updated. This method achieves real-time perception and rapid response to water level changes, ensuring that the mapping area always meets the water depth requirements, avoiding the failure of historical areas due to water level fluctuations, and improving the continuity and data reliability of the mapping operation.
[0159] Please see Figure 11 As shown, in one embodiment, an underwater mapping device is provided, the device comprising: The acquisition module 1101 is used to acquire shoreline boundary data through the boundary detection device and generate a closed reference graphic representing the area of the water to be surveyed based on the shoreline boundary data; Processing module 1102 is used to perform equidistant shrinking processing on the closed reference graphic according to the preset safety distance threshold to generate a navigation reference graphic for underwater robot navigation. Measurement module 1103 is used to control the underwater robot to navigate along the navigation reference graphic and to measure the water depth value corresponding to each measuring point in real time during navigation. The generation module 1104 is used to dynamically adjust the water area boundary of the navigation reference graphic by combining the preset depth threshold and the water depth measured in real time at each measuring point location, so as to generate the navigation execution area. The control module 1105 is used to plan a surveying path within the water area corresponding to the navigation area and control the underwater robot to perform surveying operations along the surveying path.
[0160] For other details regarding the implementation of the above technical solution by each module in the above underwater mapping device, please refer to the description in the underwater mapping method provided in the above invention embodiments, which will not be repeated here.
[0161] In one embodiment, an underwater robot is provided, the internal structure of which can be shown in the following diagram. Figure 12 As shown, the underwater robot includes a processor, memory, network interface, and database connected via a system bus. The processor provides computational and control capabilities. The memory includes non-volatile and / or volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage media. The network interface allows the underwater robot to communicate with external clients via a network connection. When the computer program is executed by the processor, it implements the functions or steps of an underwater mapping method.
[0162] In one embodiment, an underwater robot is proposed, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement... Figure 1 The method shown can be referred to for details. Figure 1 As shown, it will not be elaborated further here.
[0163] In one embodiment, a computer-readable storage medium is provided that stores a computer program, which is loaded and executed by a processor as described above. Figure 1 The method steps of the illustrated embodiment can be found in the following documentation for detailed execution. Figure 1 The specific details of the illustrated embodiments will not be elaborated here. It should be noted that the functions or steps that can be implemented by the computer-readable storage medium or the underwater robot described above can be referred to the relevant descriptions on the server side and the client side in the foregoing method embodiments. To avoid repetition, they will not be described one by one here.
[0164] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
[0165] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is used as an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above.
[0166] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.
Claims
1. An underwater mapping method, characterized in that, Includes the following steps: The shoreline boundary data is collected by a boundary detection device, and a closed reference graphic representing the area of the water to be surveyed is generated based on the shoreline boundary data. The closed reference graphic is equidistantly shrunk according to a preset safety distance threshold to generate a navigation reference graphic for the underwater robot. The underwater robot is controlled to navigate along the navigation reference pattern, and the water depth value corresponding to each measuring point is measured in real time during the navigation process; By combining a preset depth threshold with the water depth measured in real time at each of the aforementioned measuring points, the water area boundary of the navigation reference graphic is dynamically adjusted to generate a navigation execution area. Plan a surveying path within the waters corresponding to the navigation area, and control the underwater robot to perform surveying operations along the surveying path.
2. The underwater mapping method according to claim 1, characterized in that, The process of acquiring shoreline boundary data through a boundary detection device and generating a closed reference graphic representing the area of the water body to be mapped based on the shoreline boundary data includes: Multiple shoreline boundary data are collected using at least one of the aforementioned boundary detection devices; Feature points are extracted from the multiple shoreline boundary data to obtain the feature points of each boundary line segment. The closed reference graphic is generated by matching and aligning the feature points of each boundary line segment.
3. The underwater mapping method according to claim 2, characterized in that, Based on the feature points of each boundary line segment, the closed reference graphic is generated by matching and aligning them, including: Based on the feature points of each boundary line segment, a feature point matching algorithm is used to calculate the transformation parameters between adjacent boundary lines. Based on the transformation parameters, the multiple boundary lines are transformed to the same coordinate system, so that adjacent boundary lines are spatially aligned. If there is an overlapping area between adjacent boundary lines after alignment, extract the boundary point data within the overlapping area and perform fusion processing on the boundary point data; If there is a gap between adjacent boundary lines after alignment, an interpolation algorithm is used to generate supplementary boundary points in the gap area based on the local orientation and curvature characteristics of the boundary lines on both sides of the gap. The boundary points after fusion processing or the supplementary boundary points generated by interpolation are connected to form a continuous and smooth closed datum pattern.
4. The underwater mapping method according to claim 2, characterized in that, The process of matching and aligning feature points based on the boundary lines of each segment to generate the closed reference graphic includes: When it is detected that the water area covered by the multiple shoreline boundaries is a semi-enclosed water area and there is an unclosed opening area, the feature points of the end boundary lines on both sides of the opening area are obtained. Based on the feature points of the end boundary line and the local trend of the end boundary line, calculate the virtual connection line between the boundary lines on both sides of the opening area; The virtual connecting line is spliced with the multiple shoreline boundaries to generate the closed reference graphic.
5. The underwater mapping method according to claim 1, characterized in that, The process of dynamically adjusting the water boundary of the navigation reference graphic by combining a preset depth threshold with the real-time water depth measured at each of the aforementioned measuring points to generate a navigation execution area includes: When the current water depth is detected to be less than the preset depth threshold, the underwater robot is controlled to sail away from the shoreline and continue to measure the water depth during the sailing process until the measured water depth is greater than or equal to the preset depth threshold. The current point is then marked as a candidate boundary point. The navigation reference graph is traversed to obtain all candidate boundary points, and the execution navigation area is generated by fitting each candidate boundary point.
6. The underwater mapping method according to claim 5, characterized in that, The step of controlling the underwater robot to navigate away from the shoreline when the current water depth is detected to be less than the preset depth threshold includes: When the current water depth is detected to be less than the depth threshold, the current position of the underwater robot on the navigation reference graphic and the normal direction at the current position are obtained. The normal direction is perpendicular to the navigation reference graphic and points to the side away from the shoreline. The divergence course is determined based on the normal direction, and the underwater robot is controlled to navigate along the divergence course and a preset divergence distance.
7. The underwater mapping method according to claim 1, characterized in that, The method further includes: The historically generated execution navigation area is retrieved, and the execution navigation area is re-verified and updated based on the water depth re-measurement of at least two points within the execution navigation area.
8. The underwater mapping method according to claim 7, characterized in that, The process of retrieving the historically generated execution navigation area, and re-verifying and updating the execution navigation area based on the water depth re-measurement results at at least two points within the execution navigation area, includes: During the current surveying operation, the current water depth values at at least two points within the navigation area are collected in real time. Obtain historical water depth values for at least two points within the execution navigation area. The historical water depth values are water depth values collected in the previous operation cycle or the initial calibrated reference water depth values. Calculate the difference between the current water depth value and the corresponding historical water depth value at each point to obtain the water depth change at each point; When the water depth changes at at least two points exceed a preset threshold and the water depth changes at at least two points have the same trend, it is determined that the water level has changed. Based on the real-time water depth value after the change, the region that meets the depth threshold condition is re-selected from the water area corresponding to the closed reference graphic to update the navigation area.
9. An underwater mapping device, characterized in that, The device includes: The data acquisition module is used to acquire shoreline boundary data through a boundary detection device and generate a closed reference graphic representing the area of the water body to be surveyed based on the shoreline boundary data. The processing module is used to perform equidistant shrinking processing on the closed reference graphic according to a preset safety distance threshold to generate a navigation reference graphic for underwater robot navigation. The measurement module is used to control the underwater robot to navigate along the navigation reference pattern and to measure the water depth value corresponding to each measuring point in real time during navigation. The generation module is used to dynamically adjust the water area boundary of the navigation reference graphic by combining a preset depth threshold with the water depth measured in real time at each of the measurement points, so as to generate the navigation execution area. The control module is used to plan a surveying path within the water area corresponding to the navigation area and control the underwater robot to perform surveying operations along the surveying path.
10. An underwater robot, characterized in that, The underwater robot includes a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the underwater mapping method as described in any one of claims 1 to 8.