An unmanned ship autonomous cruising method and device

By dividing the water area into a grid matrix to generate a cruise trajectory and using the situation matrix to update the grid attribute information, the unmanned surface vessel (USV) can efficiently avoid obstacles and automatically resupply, solving the problems of low autonomous cruise efficiency and insufficient endurance of USVs and improving the autonomous cruise capability of USVs.

CN115981324BActive Publication Date: 2026-05-05ZHUHAI YUNZHOU INTELLIGENCE TECH COMPANY
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ZHUHAI YUNZHOU INTELLIGENCE TECH COMPANY
Filing Date
2022-12-28
Publication Date
2026-05-05

AI Technical Summary

Technical Problem

Existing obstacle avoidance algorithms for unmanned surface vessels (USVs) perform poorly when dealing with moving obstacles. Machine learning algorithms are lengthy and inefficient to train, and rule-based constraint algorithms struggle to adapt to complex situations, resulting in low autonomous cruising efficiency and insufficient endurance for USVs.

Method used

The system divides a preset water area into a grid matrix, generates a set of grid trajectory units, updates grid attribute information using a situation matrix, generates a cruise trajectory, avoids obstacles using equidistant grids, and performs automatic refueling when energy is low to enhance endurance.

Benefits of technology

It improves the obstacle avoidance efficiency of unmanned surface vessels during autonomous cruise, reduces detours, saves time, and enhances endurance through automatic resupply, adapting to various complex obstacles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115981324B_ABST
    Figure CN115981324B_ABST
Patent Text Reader

Abstract

This application relates to the field of unmanned surface vessel (USV) technology and provides an autonomous cruising method for USVs. The method includes: dividing a preset water area into a grid matrix and acquiring environmental data within the preset water area, the environmental data including water area data and obstacle data; setting the attribute information of the grid corresponding to the water area data as water area grids, setting the attribute information of the grid corresponding to the obstacle data as obstacle grids, and setting the attribute information of the water area grids adjacent to the obstacle grids as equidistant grids; traversing all grids within the preset water area and generating a grid trajectory unit set using the equidistant grids; acquiring a situation matrix centered on the USV's location at each moment, generating a cruising trajectory based on the situation matrix, and cruising according to the cruising trajectory. This scheme utilizes a grid trajectory unit set to achieve obstacle avoidance for various obstacles, thereby contributing to the autonomous cruising of the USV.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of unmanned surface vessel (USV) technology, and in particular to a method and apparatus for autonomous cruise of an USV. Background Technology

[0002] Unmanned surface vessels (USVs) are surface vessels operated without human intervention. They are typically equipped with advanced control, sensor, and communication systems and are primarily used to perform various dangerous tasks and missions unsuitable for manned vessels. To ensure that an unmanned swarm can autonomously navigate the ocean, USVs must be able to autonomously avoid various static and dynamic obstacles encountered during navigation, and should also automatically recharge when their energy is low.

[0003] Traditional solutions mainly employ the following methods: one is based on path planning algorithms, treating obstacles as avoidance points in path planning and performing task allocation and path optimization together; another is based on machine learning algorithms, which, based on deep or reinforcement learning algorithms, treat obstacles as image data, collect feature information, autonomously select avoidance strategies, and execute obstacle avoidance actions, accumulating obstacle avoidance experience data through repeated iterations to improve the success rate of obstacle avoidance; and yet another is based on rule-constrained algorithms, which establish mathematical models for obstacle avoidance through simple rules, such as artificial potential fields, Boids algorithms, velocity obstacle methods, and modeling obstacle avoidance algorithms based on the International Maritime Collision Avoidance Code, etc., and implement obstacle avoidance actions through mathematical models.

[0004] However, among the above methods, path planning algorithms are less effective at handling moving obstacles; machine learning algorithms rely on real-world obstacle image data, resulting in a lengthy training process and low efficiency; and rule-based constraint algorithms have simple rules that are difficult to adapt to complex situations. Summary of the Invention

[0005] This application provides an autonomous cruising method for unmanned surface vessels (USVs), which can solve the technical problem of how to achieve efficient obstacle avoidance and long-term endurance of USVs during cruising.

[0006] In a first aspect, embodiments of this application provide an autonomous cruise method for unmanned surface vessels, the method comprising:

[0007] The preset water area is divided into a grid matrix, and environmental data within the preset water area is obtained. The environmental data includes water area data and obstacle data.

[0008] Set the attribute information of the squares corresponding to the water area data as water area squares, set the attribute information of the squares corresponding to the obstacle data as obstacle squares, and set the attribute information of the water area squares adjacent to the obstacle squares as equidistant squares.

[0009] Traverse all squares within a preset water area and generate a set of square trajectory cells using equidistant squares. This set of square trajectory cells includes the trajectory routes that the unmanned surface vessel can use to avoid obstacles during its cruise.

[0010] Obtain the situation matrix centered on the location of the unmanned surface vessel at each moment. The situation matrix includes water area grids and obstacle grids.

[0011] Within the set of grid trajectory cells, query the cells in the situation matrix one by one, update the attribute information of the cells in the situation matrix according to the query results, and output the situation matrix after the query is completed.

[0012] A cruise trajectory is generated based on the situation matrix, and cruise operations are performed according to the cruise trajectory. Based on the generated set of grid trajectory cells, the cruise trajectory is generated using the situation matrix to implement obstacle avoidance maneuvers. It can navigate close to obstacle edges and adapt well to the limitations of obstacles such as concave surfaces.

[0013] In one implementation, the squares in the situation matrix are queried sequentially within the set of grid trajectory cells, and the attribute information of the squares in the situation matrix is ​​updated based on the query results, including:

[0014] If a cell in the situation matrix can be found in the set of cell trajectory cells, then the cell's attribute information is updated to an equidistant cell; otherwise, the cell's attribute information remains unchanged.

[0015] In one example, the obstacle data includes static obstacle data and dynamic obstacle data, and the obstacle grid includes static obstacle grids and dynamic obstacle grids. The method also includes:

[0016] When the obstacle data corresponding to a square in the situation matrix is ​​dynamic obstacle data, the attribute information of that square is updated to be a dynamic obstacle square.

[0017] In one implementation, the cruise trajectory is generated based on the situation matrix, including:

[0018] Determine the attribute information of the square corresponding to the location of the unmanned surface vessel in the situation matrix, generate a cruise trajectory based on the attribute information of the square, and conduct cruise.

[0019] When the attribute information is a water area grid, maintain the forward movement command to the target location; or...

[0020] When the attribute information is an equidistant grid, execute the obstacle avoidance command; or...

[0021] When the attribute information is a dynamic obstacle grid, execute the wait instruction.

[0022] In one implementation, when the attribute information is an equidistant grid, an obstacle avoidance command is executed, including:

[0023] The rotation direction is determined based on the direction of travel to the target location. This avoids detours caused by incorrect direction selection, saving time and improving efficiency.

[0024] The next square to move to is determined by the marker.

[0025] Find the center point of the next moving square and move towards the center point.

[0026] Determine whether to continue executing the obstacle avoidance command based on the attribute information of the next moving square.

[0027] If the attribute information is a water area grid, then the obstacle avoidance command ends; or,

[0028] 0. If the attribute information is not a water area grid, continue to execute the obstacle avoidance command.

[0029] In one implementation, determining the next moving square based on the marker includes:

[0030] Determine whether the square corresponding to the unmanned surface vessel's location has been marked;

[0031] If a square is not marked, determine whether the unmanned surface vessel has reached the center point of the square.

[0032] If the center point is not reached, then move towards the center point of the square; or,

[0033] 5. Mark the square when the center point has been reached;

[0034] Once a square has been marked, proceed to obtain the center point of the next square to move towards and move towards that center point.

[0035] In one implementation, obtaining the center point of the next moving square and moving towards the center point includes:

[0036] Obtain the attribute information of the squares surrounding the unmanned surface vessel based on the rotation direction;

[0037] 0. If no information about the water area grid is obtained, a wait command is executed;

[0038] When information about an unmarked water area is obtained, proceed to that unmarked water area.

[0039] Once all the acquired water squares have been marked, proceed to the water square with the earliest marking time.

[0040] In one implementation, the above method further includes: 5. After the unmanned surface vessel's energy reserves drop to a preset range, executing a return-to-base resupply command. This achieves...

[0041] Automatic resupply of manned vessels enhances the endurance of unmanned vessels.

[0042] Secondly, embodiments of this application provide an unmanned surface vessel (USV) cruising device that has the function of implementing the method in the first aspect or any possible implementation thereof. Specifically, the device includes units for implementing the method in the first aspect or any possible implementation thereof.

[0043] In one embodiment, the device includes:

[0044] The division unit is used to divide a preset water area into a grid matrix and obtain environmental data within the preset water area. The environmental data includes water area data and obstacle data.

[0045] The processing unit is used to set the attribute information of the squares corresponding to the water area data as water area squares, set the attribute information of the squares corresponding to the obstacle data as obstacle squares, and set the attribute information of the water area squares adjacent to the obstacle squares as equidistant squares; it traverses all squares within the preset water area and generates a set of square trajectory units using equidistant squares.

[0046] The cruise unit is used to acquire a situation matrix centered on the location of the unmanned surface vessel at each moment. The situation matrix includes water grids and obstacle grids. The unit sequentially queries the grids in the situation matrix within the grid trajectory unit set, updates the attribute information of the grids in the situation matrix according to the query results, and outputs the situation matrix after the query is completed. The unit generates a cruise trajectory based on the situation matrix and performs cruise according to the cruise trajectory.

[0047] Thirdly, embodiments of this application provide an unmanned system, which includes a central control terminal and an unmanned device terminal, or only an unmanned device terminal. The central control terminal and / or the unmanned device terminal include an intelligent computing device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor. The processor executes the computer program to implement any of the methods described in the first aspect.

[0048] Fourthly, embodiments of this application provide a computer-readable storage medium. The computer-readable storage medium stores a computer program, which, when executed by a processor, implements the method of any of the implementations of the first aspect described above.

[0049] Fifthly, embodiments of this application provide a computer program product that, when run on a terminal device, causes the terminal device to execute any of the implementation methods of the first aspect described above.

[0050] Compared with the prior art, the beneficial effects of the embodiments of this application are: obstacle avoidance actions are implemented based on the generated set of grid trajectory units, which can move close to the edge of the obstacle and can better adapt to the limitations of obstacles such as concave obstacles; at the same time, by using equidistant grids to generate the cruise trajectory, the cruise trajectory with the shortest distance to the obstacle can be obtained, thereby improving the efficiency of autonomous cruise of the unmanned surface vessel.

[0051] Furthermore, based on the above scheme, using the direction of the unmanned surface vessel to the target location to determine the rotation direction can minimize "detours," save time, and improve efficiency.

[0052] Furthermore, based on the above scheme, the automatic resupply command is further utilized to instruct the unmanned surface vessel to perform automatic resupply, thereby enhancing the unmanned surface vessel's endurance. Attached Figure Description

[0053] Figure 1 This is a schematic diagram of a scenario for an autonomous cruise method for an unmanned surface vessel provided in an embodiment of this application;

[0054] Figure 2 This is a flowchart illustrating an autonomous cruise method for an unmanned surface vessel provided in an embodiment of this application;

[0055] Figure 3 This is a schematic diagram of a grid division provided in an embodiment of this application;

[0056] Figure 4 This is a schematic diagram of a set of grid-like trajectory units provided in an embodiment of this application;

[0057] Figure 5 This is a schematic diagram of a situation matrix generation method provided in an embodiment of this application;

[0058] Figure 6 This is a flowchart illustrating another autonomous cruise method for unmanned surface vessels provided in an embodiment of this application;

[0059] Figure 7 This is a schematic diagram of an obstacle avoidance trajectory for an unmanned surface vessel provided in an embodiment of this application;

[0060] Figure 8 This is a schematic diagram illustrating the selection of rotation direction for an unmanned surface vessel according to an embodiment of this application;

[0061] Figure 9 This is a schematic diagram of an unmanned surface vessel autonomously cruising, provided in an embodiment of this application.

[0062] Figure 10 This is a schematic diagram of the structure of the device provided in the embodiments of this application;

[0063] Figure 11This is a schematic diagram of the structure of the intelligent computing device provided in the embodiments of this application. Detailed Implementation

[0064] During autonomous navigation, unmanned swarms frequently encounter various obstacles. These can be categorized by speed (moving obstacles, stationary obstacles), by area (point obstacles, area obstacles), and by shape (convex obstacles, concave obstacles).

[0065] Figure 1 This is a schematic diagram illustrating a scenario of an autonomous cruise method for an unmanned surface vessel provided in an embodiment of this application. Figure 1 As shown, region S represents water area, region A represents irregular boundary obstacle H, region B represents point obstacle I, region C represents convex obstacle J, and region D represents concave obstacle K.

[0066] Current obstacle avoidance methods for unmanned surface vessels (USVs) suffer from several problems, including excessively long path planning times, complex obstacle avoidance algorithms, difficulty in navigating irregular obstacles, and challenges in increasing the swarm size. For example, some obstacle avoidance algorithms can perfectly avoid stationary obstacles, point obstacles, and convex obstacles, but they often encounter various abnormal errors when dealing with moving obstacles and concave obstacles, making them difficult to adapt to various complex scenarios.

[0067] To address the aforementioned issues, this application proposes an autonomous cruise method for unmanned surface vessels (USVs), which generates cruise trajectories based on grid trajectory cells, ensuring that USVs can avoid various obstacles encountered during cruise.

[0068] To illustrate the technical solution of this application, specific embodiments are described below.

[0069] Figure 2 This is a flowchart illustrating an autonomous cruise method for an unmanned surface vessel provided in an embodiment of this application. Figure 2 As shown, the method includes the following steps.

[0070] S101. Divide the preset water area into a grid matrix and obtain the environmental data within the preset water area.

[0071] The environmental data includes water area data and obstacle data.

[0072] Combination Figure 1 It can be seen that, Figure 1 The S area is a preset water area, and the data corresponding to the S area is the water area data. The data corresponding to the A, B, C, and D areas are the various obstacle data.

[0073] S102. Set the attribute information of the squares corresponding to the water area data as water area squares, set the attribute information of the squares corresponding to the obstacle data as obstacle squares, and set the attribute information of the water area squares adjacent to the obstacle squares as equidistant squares.

[0074] In one implementation, the attribute information of the grid within a preset water area is set by acquiring water area data and environmental data.

[0075] In one example, obstacle data includes static obstacle data and dynamic obstacle data, and correspondingly, obstacle grids include static obstacle grids and dynamic obstacle grids.

[0076] Figure 3 This is a schematic diagram of grid division provided in an embodiment of this application. (Combined with...) Figure 3 This clearly shows the attribute information of different squares. For example... Figure 3 As shown, G1 represents the grid corresponding to the location of an unmanned surface vessel, i.e., the dynamic obstacle grid; G2 represents the static obstacle grid; G3 represents the equidistant grid; and G4 represents the water area grid.

[0077] S103. Traverse all squares within the preset water area and generate a set of square trajectory units using equidistant squares.

[0078] In one example, all squares within a preset water area are traversed sequentially, and information from all equidistant squares is used to generate a set of grid trajectory cells. This set of grid trajectory cells includes the trajectory routes that the unmanned surface vessel can use to avoid obstacles during its cruise.

[0079] Figure 4 This is a schematic diagram of a grid trajectory unit set provided in an embodiment of this application. Combined with... Figure 4 This illustrates one scenario for generating grid trajectory cells. For example... Figure 4 As shown, G2 represents static obstacle squares, and G3 represents equidistant squares. All obstacle squares together form a concave obstacle, and the water squares adjacent to the obstacle squares are equidistant squares. All equidistant squares together form a set of square trajectory units.

[0080] In one example, a water square with a radius of 200 meters from the obstacle square can be considered an equidistant square. When the unmanned surface vessel (USV) is cruising, it can be assumed to maintain a 200-meter distance from the obstacle by simply following an equidistant trajectory within the equidistant squares. This is merely an example, not a limitation; the specific numerical range can be chosen based on the actual situation.

[0081] S104. Obtain the situation matrix centered on the location of the unmanned surface vessel at each moment.

[0082] The situation matrix includes water area grids and static obstacle grids, but excludes dynamic obstacle grids.

[0083] In one example, at each moment, the unmanned surface vessel can acquire a situational matrix centered on itself, which can be in the form of a "nine-square grid".

[0084] S105. Query the squares in the situation matrix sequentially within the grid trajectory cell set, update the attribute information of the squares in the situation matrix according to the query results, and output the situation matrix after the query is completed.

[0085] In one example, when a cell in the situation matrix is ​​found in the set of cell trajectory cells, the attribute information of that cell in the situation matrix is ​​updated to an equidistant cell; when the unmanned surface vessel detects that the obstacle data corresponding to a cell in the situation matrix is ​​dynamic obstacle data, the attribute information of that cell is updated to a dynamic obstacle cell. The situation matrix is ​​output after all cells in the situation matrix have been queried.

[0086] For example, when an unmanned surface vessel (USV) acquires information about another USV or other mobile device / equipment during patrol, it sets the grid corresponding to the location of that USV or device / equipment as a dynamic obstacle grid. This method can distinguish between dynamic and static obstacles before obstacle avoidance, aiming to improve the accuracy of obstacle avoidance.

[0087] The following is combined Figure 5 This will illustrate the overall process of the above steps. Figure 5 This is a schematic diagram illustrating the generation of a situation matrix according to an embodiment of this application. For example... Figure 5 As shown, the entire process is divided into four stages. In stage "I", the unmanned surface vessel (USV) acquires information about the surrounding 5x5 grid during its cruise, including information about water grids and obstacle grids. In stage "II", it acquires information about the water grids adjacent to each obstacle grid, i.e., information about equidistant grids. This means the USV can choose a cruise trajectory from the paths corresponding to these grids to avoid obstacles, and at this time, the distance between the USV and the obstacle can be considered constant. In stage "III", it traverses the information of all grids within the 5x5 grid to generate a set of grid trajectory units, i.e., it acquires information about all equidistant grids within the 5x5 grid. In stage "IV", the USV acquires a situational matrix centered on itself at each moment. This situational matrix is ​​in the shape of a "nine-square grid". The two arrows "up" and "right" in the figure represent the two cruise trajectories that the USV can choose to avoid the obstacle grid at this moment (assuming the target point is to the right of the obstacle grid). Compared with the adjacent water grids, although obstacle avoidance can also be achieved, the distance through the equidistant grids is obviously shorter and more efficient.

[0088] This method allows us to determine the shortest cruise path to obstacles, minimizing detours and enabling autonomous cruise while saving time and improving efficiency.

[0089] S106. Generate a cruise trajectory based on the situation matrix, and conduct cruise based on the cruise trajectory.

[0090] In one example, the attribute information of the square corresponding to the location of the unmanned surface vessel in the situation matrix is ​​determined, and a cruise trajectory is generated based on the attribute information of the square for cruise.

[0091] This mainly includes the following situations:

[0092] When the attribute information of the square is a water area square, maintain the command to move towards the target location.

[0093] When the attribute information of the square is an equidistant square, execute the obstacle avoidance command.

[0094] When the attribute information of the square is a dynamic obstacle square, a wait command is executed. For example, if other unmanned surface vessels (USVs) are approaching, the USV will move towards the center of its current position and wait for the other USVs to pass before continuing its patrol.

[0095] Figure 6 This is a flowchart illustrating another autonomous cruise method for unmanned surface vessels provided in an embodiment of this application. Figure 6 As shown, when the attribute information of the square is an equidistant square, the obstacle avoidance command is executed, including the following steps.

[0096] S201. Determine the rotation direction based on the direction to the target location.

[0097] When the obstacle avoidance maneuver is initiated, the rotation direction needs to be determined based on the direction the unmanned surface vessel (USV) is heading towards the target location. The rotation direction can be clockwise or counter-clockwise. The specific rotation method is not limited here and can be chosen based on the actual situation.

[0098] S202. Determine the next square to move to based on the markings.

[0099] First, determine whether the square corresponding to the unmanned surface vessel's (USV) location has been marked. Marking is primarily used to determine whether the USV has passed the center of the current square.

[0100] If the center of a square is not marked, the system continues to determine whether the unmanned surface vessel has reached the center of the square. If it has not reached the center, it moves towards the center of the square; if it has reached the center, it marks the square.

[0101] Once the squares have been marked, proceed to step S204.

[0102] S203. Determine whether to continue executing the obstacle avoidance command based on the attribute information of the next moving square.

[0103] The obstacle avoidance command ends when the next moving square's attribute information is a water square.

[0104] If the attribute information of the next moving square is not a water square, then continue to execute the obstacle avoidance command, that is, execute step S204.

[0105] S204. Obtain the center point of the next moving square and move towards that center point.

[0106] First, obtain the attribute information of the squares around the unmanned surface vessel based on the rotation direction.

[0107] The obtained attribute information can be stored in an array.

[0108] If no information about the water area grid is obtained, a wait command is executed. At this point, it is determined that the area around the unmanned surface vessel (USV) is impassable, and the USV moves towards the current grid while executing the wait command.

[0109] When information about an unmarked water area is obtained, proceed to that unmarked water area.

[0110] Once all the acquired water squares have been marked, proceed to the water square with the earliest marking time.

[0111] Figure 7 This is a schematic diagram of an obstacle avoidance trajectory for an unmanned surface vessel provided in an embodiment of this application. Combined with... Figure 7 As can be seen, when the unmanned surface vessel U wanted to reach the target location T1, it encountered concave obstacles and dynamic obstacles. The lines in the figure represent the cruising trajectory generated by the unmanned surface vessel using the method described above. This method can perfectly avoid concave obstacles and dynamic obstacles. At the same time, by traveling along equidistant grids, the distance between the unmanned surface vessel and obstacles can be kept constant, ensuring the shortest possible distance and improving the accuracy and efficiency of obstacle avoidance.

[0112] Figure 8 This is a schematic diagram illustrating the selection of rotation direction for an unmanned surface vessel (USV) according to an embodiment of this application. Figure 8As shown, when the unmanned surface vessel (USV) travels towards the target location T1, concave obstacles and dynamic obstacles are distributed between the USV and the target location. The solid and dashed lines in the diagram represent two different cruising trajectories generated due to different rotation directions. The dashed lines represent the cruising trajectory generated by counter-clockwise rotation, while the solid lines represent the cruising trajectory generated by clockwise rotation. It is clear that the cruising path represented by the dashed lines is significantly better than the cruising trajectory represented by the solid lines. By determining the direction of the USV towards the target location to determine the rotation direction, and thus generating the cruising trajectory, the waste of time and energy caused by the USV choosing an incorrect rotation direction can be avoided.

[0113] In addition, for unmanned surface vessels to achieve autonomous cruising, they must also have the ability to automatically recharge their energy.

[0114] Once the unmanned surface vessel's energy reserves have dropped to a preset level, it will execute a return-to-base resupply command.

[0115] In one example, when the unmanned surface vessel (USV) is cruising within a preset water area and its energy reserves drop below 10%, it executes a return-to-base resupply command. The resupply location can be the departure point or another pre-defined resupply location; the resupply duration can be 10 minutes. This is merely an example and not a limitation; the resupply time and location can be set according to actual circumstances.

[0116] In one example, when an unmanned surface vessel (USV) is cruising within a preset water area, the coverage rate of the cruise within the preset water area over the past 5 minutes is calculated every 10 minutes. When the coverage rate is less than 90%, an additional USV can be dispatched to participate in the cruise. When the coverage rate is greater than or equal to 90%, no additional USV needs to be dispatched.

[0117] Figure 9This is a schematic diagram of an unmanned surface vessel autonomously cruising, provided in an embodiment of this application. As described above, when the unmanned surface vessel U begins its cruise, it encounters an irregular boundary obstacle A while traveling towards the target location T1. A cruise trajectory is generated based on the situation matrix, and the rotation direction is determined according to the direction of U's journey to T1. It then travels along the equidistant grid around the irregular boundary obstacle A towards T1. While traveling towards the target location T2, it encounters a point obstacle B. Again, a cruise trajectory is generated using the situation matrix, and the rotation direction is determined according to the direction of U's journey to T2. It then travels along the equidistant grid around the point obstacle B towards T2. While traveling towards the resupply location S1, it encounters a convex obstacle C and a dynamic obstacle. A cruise trajectory is generated using the situation matrix, and the rotation direction is determined according to the direction of U's journey to S1. It then travels along the equidistant grid around the convex obstacle C and the dynamic obstacle towards the resupply location S1. Finally, while traveling towards the target location T3, it encounters a concave obstacle D. It then travels along the equidistant grid around the concave obstacle D towards T3. This demonstrates that this method enables more effective obstacle-close rotation maneuvers and adapts well to the limitations imposed by concave obstacles. This method can not only avoid various obstacles, but also achieve automatic resupply, thus meeting the needs of autonomous cruising of unmanned surface vessels.

[0118] The foregoing mainly describes an unmanned surface vessel (USV) cruising method according to an embodiment of this application with reference to the accompanying drawings. It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially, these steps are not necessarily executed in the order shown in the figures. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least a portion of steps or stages in other steps. The following describes an apparatus according to an embodiment of this application with reference to the accompanying drawings. For brevity, appropriate omissions will be made when describing the apparatus below; relevant content can be referred to in the relevant descriptions of the methods above, and will not be repeated.

[0119] Figure 10 A schematic diagram of the structure of an unmanned surface vessel (USV) cruise device provided in the application embodiment.

[0120] like Figure 10 As shown, the device 1000 includes the following units.

[0121] The partitioning unit 1001 is used to divide the preset water area into a grid matrix and obtain environmental data within the preset water area. The environmental data includes water area data and obstacle data, which is the method corresponding to S101 above.

[0122] The processing unit 1002 is used to set the attribute information of the grid corresponding to the water area data as water area grid, set the attribute information of the grid corresponding to the obstacle data as obstacle grid, and set the attribute information of the water area grid adjacent to the obstacle grid as equidistant grid; traverse all grids within the preset water area and generate a grid trajectory unit set using equidistant grids, which is the method corresponding to S102 and S103 above.

[0123] Cruise unit 1003 is used to acquire a situation matrix centered on the location of the unmanned surface vessel at each moment. The situation matrix includes water area grids and obstacle grids. It sequentially queries the grids in the situation matrix within the grid trajectory unit set, updates the attribute information of the grids in the situation matrix according to the query results, and outputs the situation matrix after the query is completed. It generates a cruise trajectory based on the situation matrix and performs cruise according to the cruise trajectory, which is the method corresponding to S104, S105, and S106 above.

[0124] In one example, the cruise unit 1003 can also be used to execute the methods corresponding to S201 to S204 above.

[0125] It should be noted that the information interaction and execution process between the above-mentioned units are based on the same concept as the method embodiments of this application. For details on their specific functions and technical effects, please refer to the method embodiments section, which will not be repeated here.

[0126] Figure 11 This is a schematic diagram of the structure of the intelligent computing device provided in the embodiments of this application. Figure 11 As shown, the intelligent computing device 3000 of this embodiment includes: at least one processor 3100 ( Figure 11 (Only one is shown) a processor, a memory 3200, and a computer program 3210 stored in the memory 3200 and executable on at least one processor 3100, wherein the processor 3100 executes the computer program 3210 to implement the steps in the above embodiments.

[0127] The processor 3100 can be a Central Processing Unit (CPU), or it can be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor.

[0128] In some embodiments, the memory 3200 may be an internal storage unit of the intelligent computing device 3000, such as a hard disk or RAM of the intelligent computing device 3000. In other embodiments, the memory 3200 may be an external storage device of the intelligent computing device 3000, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the intelligent computing device 3000. Furthermore, the memory 3200 may include both internal and external storage units of the intelligent computing device 3000. The memory 3200 is used to store operating system, application programs, boot loader data, and other programs, such as program code for computer programs. The memory 3200 can also be used to temporarily store data that has been output or will be output.

[0129] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units is merely an example. In practical applications, the above functions can be assigned to different functional units or 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. The functional units in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. Furthermore, the specific names of the functional units are only for easy differentiation and are not intended to limit the scope of protection of this application. The specific working process of the units in the above system can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0130] This application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps described in the various method embodiments above.

[0131] This application provides a computer program product that, when run on a computer, can implement the methods described above.

[0132] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments of this application can be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include at least: any entity or device capable of carrying computer program code to a photographing device / terminal device, a recording medium, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium. Examples include USB flash drives, portable hard drives, magnetic disks, or optical disks. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electrical carrier signals or telecommunication signals.

[0133] It should be understood that the sequence numbers of the steps in the above embodiments do not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. In the description, specific details such as particular system structures and technologies are set forth for illustrative purposes rather than for limiting purposes, so as to provide a thorough understanding of the embodiments of this application. However, those skilled in the art should understand that this application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of this application with unnecessary details.

[0134] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.

[0135] It should also be understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.

[0136] Furthermore, in the description of this application and the appended claims, the terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.

[0137] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0138] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0139] In the embodiments provided in this application, it should be understood that the disclosed apparatus, intelligent computing device, and method can be implemented in other ways. For example, the apparatus and intelligent computing device embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0140] 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. A method for autonomous cruising of an unmanned surface vessel, characterized in that, include: The preset water area is divided into a grid matrix and environmental data within the preset water area is obtained. The environmental data includes water area data and obstacle data. The attribute information of the square corresponding to the water area data is set as water area square, the attribute information of the square corresponding to the obstacle data is set as obstacle square, and the attribute information of the water area square adjacent to the obstacle square is set as equidistant square. Traverse all squares within the preset water area and generate a set of square trajectory units using the equidistant squares; Obtain a situational matrix centered on the location of the unmanned surface vessel at each moment, the situational matrix including the water area grid and the obstacle grid; The grid trajectory unit set is used to sequentially query the grids in the situation matrix, and the attribute information of the grids in the situation matrix is ​​updated according to the query results. This includes: when a grid in the situation matrix is ​​found in the grid trajectory unit set, the attribute information of the grid is updated to be an equidistant grid; otherwise, the attribute information of the grid remains unchanged. After the query is complete, the situation matrix is ​​output. A cruise trajectory is generated based on the situation matrix, and cruise is performed according to the cruise trajectory; wherein, when the attribute information is an equidistant grid, an obstacle avoidance command is executed; the cruise trajectory is to travel along the equidistant grid while maintaining a constant distance from the obstacle.

2. The method as described in claim 1, characterized in that, The obstacle data includes static obstacle data and dynamic obstacle data, the obstacle grid includes static obstacle grids and dynamic obstacle grids, and the method further includes: When the obstacle data corresponding to a square in the situation matrix is ​​dynamic obstacle data, the attribute information of that square is updated to be a dynamic obstacle square.

3. The method as described in claim 1, characterized in that, The step of generating the cruise trajectory based on the situation matrix includes: Determine the attribute information of the square corresponding to the location of the unmanned surface vessel within the situation matrix, generate a cruise trajectory based on the attribute information of the square, and conduct cruise. When the attribute information is a water area grid, maintain the command to proceed to the target location; or... When the attribute information is a dynamic obstacle grid, execute the wait instruction.

4. The method as described in claim 3, characterized in that, When the attribute information is an equidistant grid, the obstacle avoidance command is executed, including: The direction of rotation is determined based on the direction to the target location; Determine the next square to move to based on the markings; Obtain the center point of the next moving square and move towards the center point; Determine whether to continue executing the obstacle avoidance command based on the attribute information of the next moving square. When the attribute information is a water area grid, the obstacle avoidance command ends; or, If the attribute information is not a water area grid, then the obstacle avoidance command continues to be executed.

5. The method as described in claim 4, characterized in that, The step of determining the next moving square based on the mark includes: Determine whether the square corresponding to the location of the unmanned surface vessel has been marked; If the square is not marked, then determine whether the unmanned surface vessel has reached the center point of the square. If the center point is not reached, then proceed towards the center point of the square; or, When the center point has been reached, mark the square; When the square has been marked, the step is to obtain the center point of the next moving square and move towards the center point.

6. The method as described in claim 5, characterized in that, The step of obtaining the center point of the next moving square and moving towards the center point includes: The attribute information of the grid around the unmanned surface vessel is obtained based on the rotation direction; If the information of the water area grid cannot be obtained, a wait command is executed; When information about an unmarked water area square is obtained, proceed to that unmarked water area square; Once all the obtained water area squares have been marked, proceed to the water area square with the earliest marking time.

7. The method as described in claim 1, characterized in that, The method further includes: After the energy reserves of the unmanned surface vessel drop to a preset range, a return resupply command is executed.

8. An unmanned system, the unmanned system comprising a central control terminal and an unmanned device terminal, or only the unmanned device terminal, wherein the central control terminal and / or the unmanned device terminal comprises an intelligent computing device, the intelligent computing device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method as described in any one of claims 1-7.

9. A computer-readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1-7.

Citation Information

Patent Citations

  • Intelligent unmanned ship path planning method based on IA* algorithm

    CN109374004A