Method for controlling an uncrewed surface vessel
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- FNV IP BV
- Filing Date
- 2024-06-19
- Publication Date
- 2026-04-22
Smart Images

Figure IB2024055995_19122024_PF_FP_ABST
Abstract
Description
METHOD FOR CONTROLLING AN UNCREWED SURFACE VESSELFIELD
[0001] The disclosure relates to methods and systems for controlling an uncrewed surface vessel. More particularly, the disclosure relates to a method and system for generating a mission plan, for an uncrewed surface vessel, to survey a body of water that has been divided into a plurality of subareas. Unlocking insights from Geo-Data, the present invention further relates to improvements in sustainability and environmental developments: together we create a safe and liveable world.BACKGROUND
[0002] There is general and ongoing need for methods and systems to improve the efficiency of subsea surveying. In subsea surveying, at least one sensor is provided underneath the surface of a body of water, such as seas, rivers, or lakes. These sensors are provided to capture surveying data which relates to characteristics of the subsea environment. This surveying data may for example be related, but not limited, to the geometry of the seabed, detecting e.g., boulders, and mapping the seabed for various subsea operations. Surveying data may also be related to detecting subsurface objects, buried below the seabed, such as pipelines, unexploded ordinances such as sea mines, or the like. Further, the surveying data may be related to the soil types below the seabed, which may be relevant to pre-engineering surveys for e.g., wind farm foundations.
[0003] Traditional vessels are large, have a high weight and require a large crew to operate the vessel during a survey mission. As such, they have a high energy expenditure and are generally considered environmentally unfriendly. In addition, offshore missions often require heavy equipment during sensor deployment, leading to potentially hazardous situations for crewmembers.
[0004] Attempts have been made to reduce environmental impact of survey missions and to simultaneously improve safety. An uncrewed surface vessel (USV) may be used to perform survey missions and pose several advantages. USVs are vessels which travel on the surface of a body of water and are typically used for survey operations as they can be deployed to collect measurements without needing to be crewed. This means that they can be lighter, smaller, and thus use less fuel. In addition, since no crew is required on board the USV, the safety during survey missions improves. In addition, they can operate at all times, and survey planning may require fewer adaptations to weather or seasonal variations.
[0005] USVs require fuel or another form of stored energy to operate, which is often limited. As such, the size of a survey area that a USV can cover is limited by the USV’s energy capacity. When surveying a body of water that exceeds the energy capacity of the USV, multiple trips and refuelling / recharging of the USV is required, and inefficiencies may result from the routes taken. There is a need for methods and systems that can be used to generate a mission plan that is optimised to reduce operation time and energy usage when surveying a body of water.OVERVIEW
[0006] According to a first example of the present disclosure, there is provided a computer- implemented method for generating a mission plan for an uncrewed surface vessel (USV) to survey a body of water. In some implementations, the method further comprises generating one or more candidate mission plans by dividing a survey area of the body of water into a plurality of subareas for each generated candidate mission plan and assigning an entrance coordinate and an exit coordinate to each subarea of the plurality of subareas. In some implementations, the method further comprises generating, for each of the one or more candidate mission plans, transit routes between one or more refuelling stations and the plurality of subareas by determining a route between the entrance coordinate and / or the exit coordinate of one or more subareas of the plurality of subareas and the one or more refuelling stations. In some implementations, the method further comprises generating, for each of the one or more candidate mission plans, a survey route for each subarea of the plurality of subareas which starts from the entrance coordinate and finishes at the exit coordinate of each subarea. In some implementations, the method further comprises evaluating the performance of each of the one or more candidate mission plans based on the transit routes and survey routes. In some implementations, the method further comprises determining the mission plan using the evaluated performance of the one or more candidate mission plans. In some implementations, the mission plan is determined using the evaluated performance by comparing the evaluated performance, e.g. the total time required, of the one or more candidate mission plans. In an implementation, the determined mission plan may be the candidate mission plan which has the lowest total time required. In another implementation, if, e.g., the total energy consumption was used to evaluate the performance, then the mission plan may be determined by comparing the evaluated performance, e.g., the total energy consumption, of the one or more candidate mission plans. In an implementation, the determined mission plan may be the candidate mission plan which has the lowest total energy consumption. In another implementation, if, e.g., the total distance was used to evaluate the performance, then the mission plan may be determined by comparing the evaluated performance, e.g., the total distance required, of the one or more candidate mission plans. In an implementation, the determined mission plan may be the candidate mission plan which has the lowest total distance required.
[0007] Dividing a survey area into subareas enables larger areas to be surveyed, which would otherwise exceed the energy capacity of a USV. Further, as the mission plan is optimised jointly, i.e. takes into account all of the subareas simultaneously, the overall operation time, energy usage, and / or distance for surveying the survey area is reduced.
[0008] In some implementations, the method further comprises generating, one or more additional candidate mission plans from the one or more candidate mission plans. In some implementations, the method further comprises generating, for each of the one or more additional candidate mission plans, transit routes between one or more refuelling stations and the plurality of subareas by determining a route between the entrance coordinate and / orthe exit coordinate of one or more subareas of the plurality of subareas and the one or more refuelling stations. In some implementations, the method further comprises generating, for each of the one or more additional candidate mission plans, a survey route for each subarea of the plurality of subareas which starts from the entrance coordinate and finishes atthe exit coordinate of each subarea. In some implementations, the method further comprises determining the mission plan based on the evaluated performance of the one or more candidate mission plans and the one or more additional candidate mission plans.
[0009] Generating one or more additional candidate mission plans increases the number of candidate mission plans which are considered for evaluation. This enables a wider search space of candidate mission plans for the determination of the mission plan. In this way, the mission plan is determined more efficiently.
[0010] In some implementations, there are at least two candidate mission plans, and the one or more additional candidate mission plans are generated by combining at least one feature from at least two randomly selected candidate mission plans (that, in some implementations, have the same number of subareas and the same shape of subareas), the at least one feature includes at least one of: the entrance coordinates of at least one subarea; and the exit coordinates of at least one subarea.
[0011] This approach of combining features from at least two randomly selected candidate mission plans enables a simple and efficient method of generating additional mission plans from previously generated candidate mission plans.
[0012] In some implementations, the method comprises outputting the mission plan as a set of coordinates for execution by a USV.
[0013] In some implementations, the method comprises generating a mission plan for multiple USVs.
[0014] Generating a mission plan for multiple USVs enables an efficient mission plan to be determined when there is more than one USV. The generated mission plan can be completed in a fast and efficient manner by distributing the surveying task to multiple USVs.
[0015] In some implementations, determining the mission plan based on the evaluated performance of the one or more candidate mission plans, further comprises iteratively generating, one or more additional candidate mission plans from the one or more candidate mission plans and any previously generated one or more additional candidate mission plans. In some implementations, determining the mission plan further comprises iteratively generating, for each of the one or more additional candidate mission plans, transit routes between one or more refuelling stations and the plurality of subareas by determining a route between the entrance coordinate and / or the exit coordinate of one or more subareas of the plurality of subareas and the one or more refuelling stations. In some implementations, determining the mission plan further comprises iteratively generating, for each of the one or more additional candidate mission plans, a survey route for each subarea of the plurality of subareas which starts from the entrance coordinate and finishes at the exit coordinate of each subarea. In some implementations, determining the mission plan further comprises iteratively evaluating the performance of each of the one or more additional candidate mission plans based on the generated transit routes and survey routes. In some implementations, the determined mission plan may be selected by comparing the evaluated performance of the one or more candidate mission plans (and the one or more additional candidate mission plans). In some implementations, the determined mission plan may be the candidate mission plan which has the lowest total time required, lowest total energy consumption or lowest total distance required.
[0016] Determining the mission plan using the aforementioned iterative steps provides an approach that enables the consideration of a large range / variety of mission plans from generating additional candidate mission plans iteratively. Further, generating one or more additional candidate mission plans from the one or more candidate mission plans and any previously generated one or more additional candidate mission plans enables features to be passed from one iteration to the next, which allows features to be retained across iterations.
[0017] In some implementations, an end condition for the iteration is determined based on the difference in evaluated performance of the plurality of candidate mission plans and additional candidate mission plans between one or more iterations, and / or based on when a set number of iterations have been reached.
[0018] In some implementations, determining the mission plan based on the evaluated performance of the one or more candidate mission plans further comprises iteratively removing, based on the evaluated performance, one or more additional candidate mission plans and / or one or more candidate mission plans.
[0019] Iteratively removing candidate mission plans based on the evaluated performance enables mission plans that do not perform well to be removed from the determination of the mission plan, thereby preventing the inclusion of their mission plan features into the generation of additional candidate mission plans. Meanwhile, more performant candidate mission plans are retained for the determination of the mission plan, and pass on their features to the generation of additional candidate mission plans. In this way, removing poor performing candidate mission plans allows an efficient traversal through the search space of candidate mission plans, by filteri ng / avo id i ng the features of poor performing candidate mission plans that contribute to their poor performance. Further, the removal of candidate mission plans based on the evaluated performance reduces computational processing requirements as the number of candidate mission plans that are considered is decreased.
[0020] In some implementations, removing, based on the evaluated performance, one or more additional candidate mission plans and / or one or more candidate mission plans uses at least one of a tournament selection, reward-based selection or fitness proportionate selection.
[0021] In some implementations, the number of additional candidate mission plans generated is equal to the number of mission plans removed.
[0022] Removing an equal number of candidate mission plans to the number of additional candidate mission plans generated enables the number of candidate mission plans considered at each iteration to be constant. This can avoid the increase in computational resources involved when additional candidate mission plans are generated at each iteration.
[0023] In some implementations, evaluating the performance of each of the one or more candidate mission plans or, if present, the one or more additional candidate mission plans comprises determining a total time required for a USV when following the generated transit routes and the survey routes for a respective mission plan. In some implementations, determining the total time required determines the total sum of the time required for a USV to follow the transit routes and survey routes for each of the plurality of subareas for a respective candidate mission plan.
[0024] In some implementations, evaluating the performance of each of the one or more candidate mission plans or, if present, the one or more additional candidate mission plans comprises determining a total energy consumption of a USV when following the generated transit routes and survey routes for a respective mission plan. In some implementations, determining the total energy consumption determines the total sum of the energy consumption for a USV to follow the transit routes and survey routes for each of the plurality of subareas for a respective candidate mission plan. In some implementations, the average rate of energy expenditure may be calculated for the evaluation of the performance.
[0025] In some implementations, evaluating the performance of each of the one or more candidate mission plans or, if present, the one or more additional candidate mission plans comprises determining a total distance required for a USV when following the generated transit routes and the survey routes for a respective mission plan. In some implementations, determining the total distance required determines the total sum of the distance required for a USV to follow the transit routes and survey routes for each of the plurality of subareas for a respective candidate mission plan.
[0026] In some implementations, evaluating the performance of each of the one or more candidate mission plans or, if present, the one or more additional candidate mission plans is further based on an estimation of quality of data used to generate the transit routes and survey routes.
[0027] Incorporating an estimation of quality of data enables candidate mission plans that use higher quality data (data that is more precise and / or accurate) to be rewarded compared to candidate mission plan that use lower quality data (data that is less reliable, precise and / or accurate). In this way, candidate mission plans which are generated using high quality data are, e.g. scored / ranked higher, more likely to be the determined mission plan.
[0028] In some implementations, generating the transit routes comprises generating a weighted graph that represents a geographical map of the body of water, the weighted graph comprising a plurality of nodes, each node storing metocean data. In some implementations, generating the transit routes further comprises generating, using the weighted graph, a route that minimises at least one of time, energy consumption, or distance of the USV when following the route.
[0029] Using a weighted graph enables the efficient determination of a transit route by using costs / weights based on metocean data stored at the plurality of nodes. A route is generated which can take into account multiple metocean factors simultaneously for the route generation.
[0030] In some implementations, the generated weighted graph is stored after generation and is reused for the generation of the transit routes and / or survey routes.
[0031] By reusing the generated weighted graph for the generation of transit routes and / or survey routes, computational resources and processing requirements is reduced by avoiding the re-generation of the weighted graph (thereby avoiding additional processor clock cycles, memory usage, etc.).
[0032] In some implementations, the weighted graph uses a combination of metocean historical data and metocean live data.
[0033] Using a combination of metocean historical data and metocean live data for the weighted graph improves the accuracy and reliability of the transit routes generated using the weighted graph. In some cases, fresh / live data can be used to supplement or replace historical data to provide an updatedweighted graph, which better reflects the surrounding environment associated with the survey area. In some cases, when live data is not available, historical data can be relied upon to provide an estimate of the surrounding environment associated with the survey area.
[0034] In some implementations, the metocean data is updated using live data provided from the USV or from a server.
[0035] In some implementations, receiving an update to the metocean data in the weighted graph causes the determined mission plan to be updated.
[0036] The advantage of updating the determined mission plan when an update to the metocean data in the weighted graph is received, is that the determined mission plan can be updated on the fly to take into account any changes in the surrounding environment associated with the survey area.
[0037] In some implementations, generating the transit route using the weighted graph uses an A* search algorithm.
[0038] Using an A* search algorithm provides an efficient approach for the transit route generation as, in addition to the cost from start point, it further takes into account a cost to the goal point in the route generation.
[0039] In some implementations, the weighted graph is further weighted based on at least one of: current; obstacles in the body of water; wind speed; wave height; temperature of the air; temperature of the water; and characteristics of the USV.
[0040] In some implementations, the survey routes are generated to form a boustrophedon path.
[0041] Using a boustrophedon path enables more efficient combining / correlation of data of adjacent paths for the measured surveying data.
[0042] In some implementations, generating, one or more additional candidate mission plans from the one or more candidate mission plans and any previously generated one or more additional candidate mission plans, further comprises modifying a candidate mission plan using a mutation operator that changes at least one of: the entrance coordinates of at least one subarea; the exit coordinates of at least one subarea; the number of subareas; the shape of at least one subarea; and the transit routes.
[0043] The mutation operator enables an efficient approach to increasing the search space by introducing potentially new features that have not been present in the candidate mission plans of previous iterations. This increases the diversity of the candidate mission plans, which enables improved converging towards the determination of a mission plan that is more performant.
[0044] In some implementations, modifying one or more candidate mission plans using a mutation operator comprises representing a candidate mission plan of the one or more candidate mission plans using a binary string. In some implementations, modifying one or more candidate mission plans using the mutation operator further comprises randomly flipping at least one bit of the binary string.
[0045] Representing candidate mission plans as a binary string and randomly flipping a bit is a simple and efficient approach to modifying a candidate mission plan, as the specific underlying features corresponding to one or more bits do not need to be taken into consideration to modify / mutate the mission plan.
[0046] In some implementations, dividing the survey area into a plurality of subareas comprises generating one or more seed coordinates within the survey area. In some implementations, dividing thesurvey area into a plurality of subareas further comprises partitioning the survey area using Voronoi cell decomposition using the one or more seed coordinates as Voronoi centres.
[0047] Dividing the survey area using Voronoi cell decomposition provides an efficient method for dividing the survey area of any shape into a specified number of subareas equivalent to the number of seed coordinates. Further, the survey area can be easily modified by changing the seed coordinates, leading to efficient generation of additional candidate mission plans.
[0048] In some implementations, the one or more additional candidate mission plans are generated to be unique to each other and / or to the one or more candidate mission plans.
[0049] Generating unique additional candidate mission plans enables the stagnation of candidate mission plans to be avoided / prevented, i.e., candidate mission plans that have the same or similar features. By ensuring that additional candidate mission plans are unique to one another, the diversity of the features of candidate mission plans is improved, which enables improved convergence towards the determination of a mission plan that is more performant.
[0050] In some implementations, there are at least two candidate mission plans, and the one or more additional candidate mission plans are generated by combining at least one feature from at least two randomly selected candidate mission plans, the at least one feature includes at least one of: the transit routes; and the seed coordinates of Voronoi cells.
[0051] Generating one or more additional mission plans by combining features that includes at least one of transit routes and seed coordinates of Voronoi cells enables new candidate mission plans to be generated that retain the same or similar features of candidate mission plans from previous iterations.
[0052] According to another aspect of the present disclosure, there is provided a system comprising one or more processors and a computer readable medium comprising instructions that, when executed by the one or more processors, cause the one or more processors to perform any of the methods disclosed herein.
[0053] In some implementations, the system comprises an uncrewed surface vessel (USV) comprising means for receiving and executing a mission plan generated according to any of the methods disclosed herein.
[0054] According to another aspect of the present disclosure, there is provided a computer readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform any of the methods disclosed herein.
[0055] According to another aspect of the present disclosure there is provided a computer program comprising instructions which, when the program is executed by one or more processors, cause the one or more processors to perform any of the methods disclosed herein.
[0056] According to another aspect of the present disclosure there is provided an uncrewed surface vessel (USV) comprising means for receiving and executing a mission plan that is generated according to any of the methods disclosed herein.BRIEF DESCRIPTION OF THE DRAWINGS
[0057] In order to describe the manner in which the above-recited and other advantages and features of the disclosure can be obtained, a more particular description of the principles briefly described abovewill be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only exemplary implementations of the disclosure and are therefore not to be considered to be limiting of its scope, the principles herein are described and explained with additional specificity and detail through the use of the accompanying drawings in which:
[0058] Figure 1 shows a method of generating a mission plan for a USV to survey a body of water;
[0059] Figure 2 shows a method of determining a mission plan using an iterative process;
[0060] Figure 3 shows an example visual representation survey area which has been divided using Voronoi decomposition;
[0061] Figure 4 shows an example visual representation of the assignment of entrance coordinates and exit coordinates and transit routes for the example survey area of Fig. 3.
[0062] Figure 5 shows an example visual representation of a weighted graph and transit routes minimised by time, distance and energy consumption;
[0063] Figure 6 shows an example visual representation of a survey route.
[0064] Figure 7 shows an example visual representation of generating additional candidate mission plans;
[0065] Figure 8 shows an example visual representation of generating additional candidate mission plans from two candidate mission plans; and
[0066] Figure 9 shows a block diagram of a computing device which can be used to implement the disclosed methods.DETAILED DESCRIPTION OF THE DRAWINGS
[0067] The following is a description of certain embodiments of the invention, given by way of example only and with reference to the drawings.
[0068] Various implementations of the disclosure are discussed in detail below. While specific implementations are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations may be used without parting from the spirit and scope of the disclosure. Thus, the following description and drawings are illustrative and are not to be construed as limiting. Numerous specific details are described to provide a thorough understanding of the disclosure. However, in certain instances, well-known or conventional details are not described in order to avoid obscuring the description. A reference to an implementation in the present disclosure can be a reference to the same implementation or any other implementation. Such references thus relate to at least one of the implementations herein.
[0069] The terms used in this specification generally have their ordinary meanings in the art, within the context of the disclosure, and in the specific context where each term is used. Alternative language and synonyms may be used for any one or more of the terms discussed herein, and no special significance should be placed upon whether or not a term is elaborated or discussed herein. In some cases, synonyms for certain terms are provided. A recital of one or more synonyms does not exclude the use of other synonyms. The use of examples anywhere in this specification including examples of any terms discussed herein is illustrative only and is not intended to further limit the scope and meaningof the disclosure or of any example term. Likewise, the disclosure is not limited to various implementations given in this specification.
[0070] The following examples will be described, to aid understanding, in the context of an uncrewed surface vessel (USV) that is surveying a body of water. It will, however, be appreciated that the disclosed methods and systems may be applied to other surface, air, land, underwater, mixed type (e.g. amphibious), or space vehicles to survey a region of air, earth, or space. A survey or surveying may be defined as the collection or collecting of measurements from a region of interest, e.g., a body of water. Said region of interest, may also be known as a survey area. It is noted that a survey area is not limited to a two-dimensional plane but may encompass a depth of water below the surface of the body of water. In other words, the survey area or region of interest may be a space defined in three dimensions. To aid understanding, the body of water described herein is to be an ocean, but may also be a lake, a river, or the like.
[0071] As will be described further herein, a mission plan is a representation of transit routes and survey routes, which are executed by a USV to cover / survey a survey area. A mission plan may optionally include additional information, as shown in the example visual representations of Figs. 3, 4, 7 and 8, like refuelling stations, Voronoi centres, entrance and exit coordinates, borders, etc. A candidate mission plan is a mission plan that is a candidate for being the final mission that is selected, i.e., the mission plan that is determined using the evaluated performance of the one or more candidate mission plans. The determined mission plan may optionally be output for execution by a USV. Further details for how this mission plan is determined is described below in reference to Figs. 1 and 2. For the purposes of understanding, the mission plans are described herein using a visual representation. However, as will be apparent to the person skilled in the art, the mission plan may be represented in any other form, e.g., characters in a text file, variables in a data structure, or any other form suitable for execution on a processor.
[0072] The survey area is divided into a plurality of subareas to enable larger areas to be surveyed that would otherwise exceed the energy capacity of a USV. Dividing the survey area into a plurality of subareas may also provide further advantages as will be described in the following examples. In one example, the total time and / or total distance to cover / survey a survey area may be reduced when it is divided into a plurality of subareas. Specifically, as the USV can refuel / recharge at a refuelling station between the surveying of the plurality of subareas, the USV can expend more energy to move at a higher speed when in normal circumstances energy may need to be conserved. In another example, it may improve time and / or energy efficiency for a USV to survey a plurality of subareas when taking into consideration factors, such as, the weight of the energy, maintenance / servicing to ensure performance of the USV, or storage capacity of the USV for the surveying data. As the mission plan is optimised jointly across all of the plurality of subareas, the most time, energy and / or distance efficient route may be determined for the mission plan as a whole. In this way, the disclosed methods enable efficient surveying of a survey area. As discussed in reference to the survey area, each of the plurality of subareas may also be a space defined in three dimensions.
[0073] Entrance and exits coordinates are assigned to each subarea of the survey area, which may indicate when the USV should start or stop surveying. The USV may start / continue collectingmeasurements when proximate to or arriving at the entrance coordinate. Similarly, the USV may pause / stop collecting measurements when proximate to or arriving at the exit coordinate. The entrance and exit coordinates are also used for determining transit routes and survey routes, as will be described further herein. The entrance and exit coordinates are assigned to either a border between subareas or a perimeter of the survey area. Assigning entrance coordinates and exit coordinates to borders of subareas enables efficient calculation of the survey route. In some cases, the entrance and exit coordinates may overlap, i.e., the coordinates of the entrance and exit coordinates may be the same. That is, transit routes may be generated between the entrance coordinate and / or the exit coordinate of each subarea and the one or more refuelling stations. Similarly, survey routes may be generated to start and finish at an entrance coordinate or the exit coordinate. It is noted that the positions of the entrance and / or exit coordinates, ratherthan being fixed coordinates, may alternatively or additionally be assigned relative to a subarea. For example, such relative assignment can allow an entrance and / or exit coordinate to be specified to be a cardinal direction or angle with respect to the geometric centre of a subarea.
[0074] In the event that an emergency situation occurs resulting in the USV having to turn back to nearest port, the methods described herein can be performed again, to determine a mission plan that uses the remaining survey area that still needs to be surveyed. The previous determined mission plan may be used as input into the methods described herein to enable faster determination of the new mission plan.
[0075] Refuelling stations are locations, which may be represented by coordinates, for a USV to refuel / recharge. At the same time, the USV may be maintenance / serviced and collected surveying data be offloaded or processed. Refuelling stations may be located at ports or in some cases be located offshore in the ocean. Using multiple refuelling stations may enable the generation of efficient transit routes between the one or more refuelling stations and the plurality of subareas.
[0076] The determined mission plan described herein enables the surveying of all subareas of survey area by a USV as a continuous route. In other words, if after surveying a first subarea the USV returns to a first refuelling station, the USV is required to depart from the first refuelling station to continue to a second subarea. Continuity of the route followed by a USV in a mission plan may be implemented in method 100 and 200 by linking subareas that are surveyed one after another with the same refuelling station. However, in some implementations, multiple USVs may be used to enable the USV to start from different starting points, e.g., different refuelling stations, to complete the mission plan jointly using multiple USVs.
[0077] A variety metocean and geographical data may be used for the methods and systems described herein. Metocean concerns understanding meteorological and oceanographic conditions in offshore coastal engineering or renewable energy projects. Metocean data thus refer to wind, wave and climate (etc.) conditions as found on a certain location. They are most often presented as statistics, including seasonal variations, scatter tables, wind roses and probability of exceedance. The metocean data may include, depending on the project and its location, statistics on meteorology such as wind speed, direction, gustiness, wind rose and wind spectrum, air temperature, humidity, occurrence and strength of typhoons, hurricanes and cyclones. Metocean data may also include physical oceanographysuch as water level fluctuations, historical, expected, and seasonal sea level changes, storm surges, tides, tsunamis, seiches, wind waves characterized by e.g., wave height and periods, propagation directions and (directional) spectra, bathymetry, salinity, temperature and constituent measurements, stratification, density-driven currents and internal waves, ice occurrence, extent, thickness, strength and seabed gauging. In particular, metocean data may be historical data and / or live data. Live data of the surrounding environment can be collected by the USV and communicated between the USV and a server, thereby incorporating live data of the USV to the methods and systems described herein. Metocean data, e.g., from Fugro’s Metocean database, may include at least one of current; wind speed; wave height; temperature of the air and temperature of the water. Historical metocean data and live metocean data, both of which may be from sources other than or in addition to the USV, are used in the methods and systems described herein, and in particular in the generation of transit routes and survey routes, and the evaluation of performance. Characteristics of the USV may be additionally used in the methods and systems described herein, and in particular in the division of the survey area, generation of transit routes and survey routes, and the evaluation of performance. As will be apparent to the person skilled in the art, the condition / state of the USV, e.g., speed, energy level or consumption, geographic position, surveying data, may also be communicated between the USV and a server. When working with survey areas on the surface of the Earth, the curvature of the Earth may need to be taken into account. A coordinate system and / or standard, such as the World Geodetic System (WGS-84), may be used in the methods and systems described herein.
[0078] When a USV is travelling between two points, e.g., point A to point B, the shortest route between point A and point B is often not the most efficient route. This is because the USV may be affected by external factors such as current; wind speed; wave height; temperature of the air; and temperature of the water (metocean related factors), and also factors like obstacles in the body of water; characteristics of the USV; and COLREGs. Taking into account external factors reduces operation time, distance travelled and / or energy consumption of the USV. The methods and systems described herein generate routes and determine a mission plan for a survey area by dividing the survey area into a plurality of subareas. In particular, the methods and systems described herein consider a simultaneous optimisation of various aspects of a mission plan, such as, how a survey area is to be divided, which refuelling stations are used, and how transit routes and survey routes are to be generated.
[0079] A method 100 of generating a mission plan for a USV to survey a body of water will now be described in reference to Figure 1. Referring to Fig. 1 , the method begins at step 102 with generating one or more candidate mission plans by dividing a survey area of the body of water into a plurality of subareas for each generated candidate mission plan and assigning an entrance coordinate and an exit coordinate to each subarea of the plurality of subareas. The method continues from step 102 to step 106, optionally carrying out step 104 by generating one or more additional candidate mission plans from the one or more candidate mission plans. At step 106, the method continues with generating, for each of the one or more candidate mission plans, transit routes between one or more refuelling stations and the plurality of subareas by determining a route between the entrance coordinate and / or the exit coordinate of one or more subareas of the plurality of subareas and the one or more refuelling stations. In some implementations, transit routes are generated by determining a route between the entrancecoordinate and the exit coordinate of each subarea of the plurality of subareas and the one or more refuelling stations. Next, at step 108, the method continues with generating, for each of the one or more candidate mission plans, a survey route for each subarea of the plurality of subareas which starts from the entrance coordinate and finishes at the exit coordinate of each subarea. The method continues at step 110 with evaluating the performance of each of the one or more candidate mission plans based on the transit routes and survey routes. Finally, at step 112, the method continues with determining the mission plan using the evaluated performance of the one or more candidate mission plans, and optionally, outputting the mission plan for execution by a USV.
[0080] While the steps of Fig. 1 are described in order, as will be apparent to the skilled person, the steps may be re-ordered in view of the outputs of the steps. An example of a possible re-ordering of the steps is, with reference to Fig. 1 , to first perform step 108 before step 106 (i.e. swapping the positions of steps 106 and 108).
[0081] At step 102, one or more candidate mission plans are generated by dividing the survey area of the body of water into a plurality of subareas for each generated candidate mission plan and assigning an entrance coordinate and an exit coordinate to each subarea of the plurality of subareas. As will be apparent to the skilled person, a survey area can be divided in any number of ways. In some implementations, the survey area is divided using Voronoi cell decomposition, which is further described with reference to Fig. 3 below. In some implementations, dividing the survey area uses external factors, such as, characteristics of the USV to determine the number of subareas. For example, the survey area may be divided based on USV characteristics, such as, at least one of energy capacity, expected operating time and expected survey area coverage. In this way, the survey area may be divided into as few subareas that are needed while ensuring that the size of the subarea does not exceed the operational limit of the USV. In some further implementations, the dividing of the survey area based on USV properties further takes into account the transit routes and / or the survey routes, and in particular the required time, energy consumption, and / or required distance for the transit routes and / or survey routes.
[0082] Entrance coordinates and exit coordinates are assigned to each subarea of the plurality of subareas, which define the coordinates that are used to generate transit routes between the subareas and the refuelling stations. The entrance and exit coordinates are also used to determine survey routes, which start at an entrance coordinate and end at an exit coordinate for each subarea of the plurality of subareas. Further details of the generation of the transit routes and the generation of the survey routes is further described with reference to Figs. 4, 5 and 6 below.
[0083] In some implementations, the entrance coordinates and exit coordinates for each subarea of the plurality of subareas are assigned randomly (e.g. pseudo-randomly using computer generated randomisation). In some implementations, the entrance and exit coordinates may use a heuristic to place entrance and exit coordinates closer to a refuelling station. An example implementation of such a heuristic is to weight the entrance and exit coordinates such that coordinates which are closer to a refuelling station (e.g. using a distance metric such as Euclidean distance) are more likely to be selected as the entrance coordinate and / or exit coordinate. In some implementations, the entrance and exit coordinates may be defined by user input. For any of the aforementioned randomly, heuristically or userassignment of the entrance and exit coordinates, in some implementations, the entrance and exit coordinates may be assigned such that they are generated 180 degrees from each other relative to a line of symmetry drawn through the geometric centre of the subarea (e.g., the entrance coordinates and exit coordinates of Figs. 4, 6, 7 and 8).
[0084] The survey area may be defined by receiving input specifying a region of interest in, e.g., a body of water. In some implementations, the input may be a set of coordinates that specify the perimeter of the body of water, where the survey area is defined as the area enclosed by the coordinates defining the perimeter. As will be apparent, input specifying the survey area may be provided in different forms, e.g., a visual representation of the area, user input specifying a geometric shape, intersecting a number of lines and / or planes to define the survey area, etc. Input specifying the survey area may be manually input by a user, be pre-set and stored in memory, retrieved over a network / internet, or otherwise received by a system carrying out the methods disclosed herein.
[0085] At optional step 104, the method generates one or more additional candidate mission plans from the one or more candidate mission plans. Generating candidate mission plans at this stage means that a higher number of mission plans is considered for determination, thereby enabling a mission plan to be determined from a wider range of mission plans. The additional candidate mission plans are extra / further candidate mission plans to be considered in the determination of the mission plan that are generated to increase the number of candidate mission plans for consideration. In particular, the transit routes and survey routes of the additional candidate mission plans may be identically generated to the candidate mission plans according to steps 106 and 108. Similarly, the evaluation of the performance of the additional candidate mission plans may be identically evaluated to the candidate mission plans in step 110. At step 112, the evaluated performance of the one or more candidate mission plans and the one or more additional candidate mission plans (if present) is used to determine the mission plan to be executed by the USV, which is optionally output for execution by a USV. In particular, the output for execution by a USV may be a list of coordinates for the USV to follow optionally including entrance coordinates and / or exit coordinates to indicate when the USV should start and stop surveying. In some implementations, the output for execution by a USV may optionally further include determined velocities v and / or vusv(the determination of the velocities are described with reference to Figs. 5 and 6) to enable the USV to execute the mission plan at the determined speed(s) for the transit routes and survey routes. Further details of the how additional candidate mission plans may be generated is described with reference to Figs. 7 and 8.
[0086] At step 106, transit routes are generated for each of the one or more candidate mission plans (and the one or more additional candidate mission plans, if present), the transit routes being between one or more refuelling stations and the plurality of subareas. Specifically, a pair of transit routes are generated for each subarea of the plurality of subareas for each of the one or more candidate mission plans. The pair of transit routes for each subarea is composed of a transit route from a refuelling station to an entrance coordinate of a subarea (may be seen as a “departure transit route” towards a subarea), and transit route from an exit coordinate of the subarea to a refuelling station (may be seen as a “return transit route” from a subarea). The refuelling station for the departure transit route may not be the same as the refuelling station for the return transit route, but in some implementations, the refuelling stationfor the departure transit route and return transit route may be the same. Further details of the generation of the transit routes are described with reference to Figs. 4 and 5.
[0087] The refuelling station used for a departure transit route for any given subarea for a candidate mission plan may be assigned randomly (e.g., pseudo-randomly using computer generated randomisation). In some implementations, a heuristic may be used to assign the refuelling station. An example of such a heuristic is to assign the refuelling station which is closest to the entrance coordinate (e.g. using a distance metric such as Euclidean distance). In some implementations, the refuelling station for a departure transit route may be assigned by user input. Similarly, the refuelling station used for a return transit route for a subarea of the plurality of subareas for a mission plan may be assigned randomly (e.g., pseudo-randomly using computer generated randomisation). In some implementations, a heuristic may be used which assigns a refuelling station that is closest to the exit coordinate (e.g. using Euclidean distance). In some implementations, the refuelling station for a return transit route may be assigned by user input.
[0088] At step 108, the method continues with generating, for each of the one or more candidate mission plans (and the one or more additional candidate mission plans), a survey route for each subarea of the plurality of subareas, which starts from the entrance coordinate and finishes at the exit coordinate of each subarea. Further details of the generation of the survey routes are described with reference to Fig. 6.
[0089] At step 110, the method continues with evaluating the performance of each of the one or more candidate mission plans (and the one or more additional candidate mission plans) based on the transit routes and survey routes. A first approach to evaluating the performance is by determining a total time required for a USV to follow the generated transit routes and survey routes. Specifically, this is the total sum of the time required for a USV to follow the transit routes and survey routes for each of the plurality of subareas for a respective candidate mission plan. A second approach to evaluating the performance is by determining a total energy consumption of a USV to follow the generated transit routes and survey routes. In other words, this is the total sum of the energy consumption for a USV to follow the transit routes and survey routes for each of the plurality of subareas for a respective candidate mission plan. In some implementations, the average rate of energy expenditure may be calculated additionally or instead. A third approach to evaluating the performance is by determining a total distance required for a USV to follow the generated transit routes and survey routes. Specifically, this is the total sum of the distance required for a USV to follow the transit routes and survey routes for each of the plurality of subareas for a respective candidate mission plan. Further detail for how the required time, total energy consumption, and required distance is determined is described with reference to Figs. 5 and 6.
[0090] At step 112, the method continues with determining a mission plan using the evaluated performance, based on e.g., time, energy consumption, or distance, of the one or more candidate mission plans (and the one or more additional candidate mission plans). If the metric that was used to evaluate the performance of the one or more candidate mission plans was the total time required, then determined mission plan may be selected by comparing the evaluated performance, i.e., the total time required of the one or more candidate mission plans (and the one or more additional candidate mission plans). In one implementation, the determined mission plan may be the candidate mission plan whichhas the lowest total time required. Similarly, if, e.g., the total energy consumption was the metric used to evaluate performance, then the mission plan may be determined by comparing the evaluated performance, i.e., the total energy consumption of the one or more candidate mission plans (and the one or more additional candidate mission plans). In another implementation, the determined mission plan may be the candidate mission plan which has the lowest total energy consumption. In another implementation, the determined mission plan may be the candidate mission plan which has the lowest total distance required.
[0091] In some implementations, both the total time required, and total energy consumption are determined, and a weighting between the two metrics (i.e. total time required and total energy consumption) is used to evaluate the performance of the candidate mission plans. Similarly, a weighting between total time and total distance may also be utilized, or a weighting between total distance and energy consumption. In particular, a weighted score or ranking using the two metrics may be determined for each of the one or more candidate mission plans. The weighting may be equal or unequal depending on whether the two metrics are equal in consideration, or one is considered to be more important. In another implementation, a weighted score may be utilized for all three of time, distance and energy consumption. Other variables can similarly be included and weighted.
[0092] As an example, a weighted score that is equally weighted between two metrics, e.g., total time and energy consumption, may be determined by calculating a score out of 100, where 0-50 points are determined for each metric. For the total time required, a lower total time relative to other candidate mission plans or to a fixed benchmark may result in a higher score. Similarly, for the total energy consumption, a lower energy consumption relative to other candidate mission plans or to a fixed benchmark may result in a higher score. The two scores are then combined to form a weighted score. Such a weighted score may be calculated for each of the one or more candidate mission plans (and the one or more additional candidate mission plans) and used to determine a mission plan at step 112 by comparing the weighted scores, i.e. the evaluated performances. In some implementations, the determined mission plan may be the candidate mission plan which has the highest weighted score (or ranking).
[0093] In some implementations, an estimation of quality of data, e.g. metocean data, used for the generation of the transit routes and / or survey routes may be optionally incorporated to the evaluation of the performance of the candidate mission plans. In certain implementations, quality of data may be defined as the accuracy and precision of the data used in the generation of the transit routes and / or survey routes and can be estimated in any number of ways. For example, this can include taking into consideration a level of uncertainty of the data, the identity of the source that provides the data (e.g., whether by satellite, the USV or ocean buoys), whether the data is historical or live, etc. The estimation of the quality of data may be incorporated into the aforementioned weighting for the evaluation of the performance of the one or more candidate mission plans. Specifically, quality of data may be considered alone for the evaluation of the performance of the one or more candidate mission plans or in conjunction with the total required time, the total energy consumption, and / or total required distance. The data referred to for the quality of data may be data of the external factors, which may include metocean data and characteristics of the USV.
[0094] In some implementations, the total energy consumption of a USV between two refuelling stations is optionally further incorporated into the aforementioned weighting for evaluation of the performance of the candidate mission plans. The total energy consumption of the USV between two refuelling stations is the total energy required to follow the two generated transit routes to a subarea (departure transit route and return transit route) and to follow the generated survey route for the subarea. The total energy consumption of a USV between two refuelling stations may be weighted / scored based on whether it exceeds or the extent that it approaches a threshold, e.g. the energy capacity of a USV. The threshold may be based on characteristics of the USV. The threshold may additionally account for external factors as described herein. The threshold may also be updated using live data as described herein. Determining and / or updating the threshold using external factors enables the threshold to accurately reflect the expected energy consumption of the USV. In some implementations, a candidate mission plan may be removed (e.g. in step 210 of method 200) if the total energy consumption of the USV between two refuelling stations exceeds the threshold. The total energy consumption of the USV between two refuelling stations may be considered alone for the evaluation of the performance of the one or more candidate mission plans, or in conjunction with one or more of the total required time, the total energy consumption, total required distance, and the quality of data. In some implementations, such a threshold may be used for the evaluation of the performance for the total required time, the total energy consumption, the total required distance, and / or the quality of data, and used to remove one or more candidate mission plans (e.g., in step 210 of method 200).
[0095] It is noted that the USV may in some cases survey one or more subareas before refuelling if the USV has sufficient energy to do so by, e.g., determining that the energy consumption of the USV between the two refuelling stations including surveying of the one or more subareas does not exceed or approach the threshold.
[0096] In some implementations, exclusion zones, maximum (or minimum) speed limit zones, and / or noise levels may be incorporated into the aforementioned weighting or thresholding for the evaluation of the performance of the candidate mission plans. The exclusion zones, in certain implementations, may refer to regions of a body of water that are restricted from traversing by a USV (e.g. marine protected area for endangered species, dangerous, restricted or prohibited areas / regions). In other implementations, the exclusion zones are considered obstacles and are incorporated into the transit (and survey) route generation according to the methods disclosed herein. In certain implementations, speed limit zones may refer to zones of the body of water that have a maximum or minimum speed limit. In other implementations, a speed limit may be incorporated which considers a maximum and / or minimum speed limit of the USV when following the generated transit and / or survey routes. Likewise, in certain implementations, the incorporation of noise levels may be respect to a region of the body of water, or may consider the noise level of the USV when following the generated transit and / or survey routes.
[0097] A method 200 of determining a mission plan using an iterative process will now be described in reference to Figure 2. Referring to Fig. 2, the method begins at step 202 with generating one or more additional candidate mission plans from the one or more candidate mission plans and any previously generated one or more additional candidate mission plans. The method continues to step 204 withgenerating, for each of the one or more additional candidate mission plans, transit routes between one or more refuelling stations and the plurality of subareas by determining a route between the entrance coordinate and / or the exit coordinate of one or more subareas of the plurality of subareas and the one or more refuelling stations. In some implementations, transit routes are generated by determining a route between the entrance coordinate and the exit coordinate of each subarea of the plurality of subareas and the one or more refuelling stations. Next, the method continues to step 206 with generating, for each of the one or more additional candidate mission plans, a survey route for each subarea of the plurality of subareas which starts from the entrance coordinate and finishes at the exit coordinate of each subarea. Subsequently, the method continues to step 208 with evaluating the performance of each of the one or more additional candidate mission plans based on the generated transit routes and survey routes. As indicated by arrow 208i in Fig. 2, the iterative process may loop by returning to step 202 after performing step 208. In some implementations, the method optionally continues to step 210 with removing, based on the evaluated performance, one or more additional candidate mission plans and / or one or more candidate mission plans. In this case, as indicated by arrow 21 Oi in Fig. 2, the iterative process may loop by returning to step 202 after performing step 210. In some implementations, the method optionally continues to step 212 with modifying a candidate mission plan using a mutation operatorthat changes at least one of: the entrance coordinates of at least one subarea; the exit coordinates of at least one subarea; the number of subareas; the shape of at least one subarea; and the transit routes. In this case, as indicated by arrow 212i in Fig. 2, the iterative process may loop by returning to step 202 after performing step 212.
[0098] The iterative process of method 200 may optionally include an end condition to exit / stop the iterative process. In some implementations, the end condition for the iteration is determined based on the difference in performance of the plurality of candidate mission plans and additional candidate mission plans between one or more iterations, and / or based on when a set number of iterations have been reached. Specifically, the end condition may be met when the difference in evaluated performance of the plurality of candidate mission plans and additional candidate mission plans between one or more iterations reaches a predetermined threshold, wherein the iteration stops when the predetermined threshold is met or subceeded. The difference in evaluated performance of the plurality of candidate mission plans and additional candidate mission plans between one or more iterations may use the average evaluated performance for all candidate mission plans, or the highest evaluated performance of a candidate mission plan. In some implementations, the end condition for the iteration is when the difference in evaluated performance reaches or subceeds the predetermined threshold for one or more iterations. After exiting the iterative process of method 200, the method may determine the mission plan using the evaluated performance of the one or more candidate mission plans of the last iteration, and optionally output the mission plan for execution by a USV.
[0099] At step 202, the method generates one or more additional candidate mission plans from the one or more candidate mission plans and any previously generated one or more additional candidate mission plans. In some implementations, additional candidate mission plans are generated before entering the iterative process of method 200, i.e., previously generated one or more additional candidate mission plans. The previously generated one or more additional candidate mission plans may alsoadditionally refer to any additional candidate mission plans which were generated in a previous iteration of method 200. Further details of the how additional candidate mission plans may be generated is described with reference to Figs. 7 and 8.
[0100] At step 204, the method generates, for each of the one or more additional candidate mission plans, transit routes between one or more refuelling stations and the plurality of subareas by determining a route between the entrance coordinate and / or the exit coordinate of one or more subareas of the plurality of subareas and the one or more refuelling stations. In some implementations, transit routes are generated by determining a route between the entrance coordinate and the exit coordinate of each subarea of the plurality of subareas and the one or more refuelling stations. The generation of the transit routes in step 204 is identical to step 106 of method 100. If any candidate mission plans or additional candidate mission plans have had transit routes generated already, then this step of generating transit routes may be skipped (for those candidate mission plans) to avoid repeating the generation. This is unless the candidate mission plan(s) has been changed as a result of a mutation operation, e.g., according to step 212, such that new transit routes would need to be generated. In some implementations, generating the transit routes involves determining the difference in the transit routes between the previous and the mutated mission plan. In this way, efficient generation of the transit routes may be enabled by avoiding generation of any transit routes that were previously generated that have not changed.
[0101] At step 206, the method generates for each of the one or more additional candidate mission plans, a survey route for each subarea of the plurality of subareas which starts from the entrance coordinate and finishes at the exit coordinate of each subarea. The generation of the survey routes in step 206 is identical to step 108 of method 100. If any candidate mission plans or additional candidate mission plans have had survey routes generated already, then this step of generating survey routes may be skipped (for those candidate mission plans) to avoid repeating the generation. This is unless the candidate mission plan(s) has been changed as a result of a mutation operation, e.g., according to step 212, in such a way that new survey routes would need to be generated. In some implementations, generating the survey routes involves determining the difference in the survey routes between the previous and the mutated mission plan. In this way, efficient generation of the survey routes may be enabled by avoiding generation of any survey routes that were previously generated and have not changed.
[0102] At step 208, the method evaluates the performance of each of the one or more additional candidate mission plans based on the generated transit routes and survey routes. The evaluation of the performance in step 208 is identical to step 110 of method 100. If any candidate mission plans or additional candidate mission plans have had their performance evaluated already, then this step of evaluating performance may be skipped (for those candidate mission plans) to avoid repeating the evaluation. This is unless the candidate mission plan(s) has been changed as a result of a mutation operation, e.g., according to step 212, in such a way, which would require the performance to be reevaluated. For example, if the mutated candidate mission plan required the generation of a new transit route and / or a new survey route, then the performance will need to be evaluated again. In some implementations, re-evaluating a candidate mission plan may involve determining the difference in thetransit routes and / or survey routes of each of the plurality of subareas, such that the evaluation of the performance is calculated using the differences between the previous and the mutated mission plan. In this way, efficient evaluation of the performance may be enabled by avoiding the evaluating of a candidate mission plan from the beginning.
[0103] In some implementations, at step 210, the method optionally removes, based on the evaluated performance, one or more additional candidate mission plans and / or one or more candidate mission plans. In some implementations, removing the one or more additional candidate mission plans and / or one or more candidate mission plans uses at least one of a tournament selection, reward-based selection, fitness proportionate selection and / or another method of selection which filters / removes the additional candidate mission plans and / or candidate mission plans. As will be apparent to the skilled person, there are numerous variations for how, e.g. one or more items may be removed from a set of one or more items based on an evaluated metric determined for the one or more items. As such, the aforementioned selection methods are not intended to be limiting.
[0104] In some implementations, the number of additional candidate mission plans and / or candidate mission plans (i.e. the total number of removed candidate mission plans) may be equal to the number of additional candidate mission plans generated at step 202, such that the number of candidate mission plans being evaluated at step 208 remains constant. Alternatively, the number of additional candidate mission plans generated in step 202 may be equal to the number of mission plans removed in step 210.
[0105] At step 212, the method optionally modifies one or more additional candidate mission plans from the one or more candidate mission plans and any previously generated one or more additional candidate mission plans, by modifying a candidate mission plan using a mutation operator that changes at least one of: the entrance coordinates of at least one subarea; the exit coordinates of at least one subarea; the number of subareas; the shape of at least one subarea; and the transit routes. In some implementations, if the mission plan is divided using Voronoi decomposition, the number of subareas and the shape of at least one subarea may be changed simultaneously by moving a Voronoi centre of a mission plan. In some implementations, the mutation operator may change the transit routes of a candidate mission plan by (if there are two are more refuelling stations) switching the refuelling station that is used for a departure transit route and / or a return transit route for at least one subarea.
[0106] In some implementations, modifying one or more candidate mission plans using a mutation operator comprises representing a candidate mission plan of the one or more candidate mission plans using a binary string and randomly flipping at least one bit of the binary string. Further details of the how additional candidate mission plans may be generated is described with reference to Figs. 7 and 8.
[0107] While the steps of Fig. 2 are described in order, it will be apparent to the skilled person that the steps may be re-ordered. As noted in relation to method 100 and Fig. 1 , the steps of generating transit routes and survey routes in Fig. 2 may be reversed. Similarly, optional step 210 of removing, based on the evaluated performance, one or more additional candidate mission plans and / or one or more candidate mission plans may be rearranged to an earlier step of method 200. For example, step 210 may be moved to the step preceding step 202, such that one or more additional mission plans (if present) and / or candidate mission plans are removed at the beginning of the iteration. In this case, the iterative process may loop after performing step 208 or optionally after step 212. In someimplementations, step 210 is skipped for just the first iteration such that the one or more candidate mission plans and / or additional candidate mission plans generated before entering the iterative process of method 200 are not considered for removal until the next iteration. In some implementations, step 210 and / or step 202 may be performed every other iteration or some other pattern, ratherthan executed at every iteration. In a similar way, step 212 may be optionally rearranged to be the step preceding step 202 or the preceding step 204. In some implementations, step 212 may optionally be implemented into the iterative process of method 200 multiple times. For example, step 212 may be implemented before step 202, after step 202 and / or during step 202, while still being performed at step 212. In some implementations, one (or more of) step 212 may be performed every other iteration or some other pattern, rather than executed at every iteration. As will be apparent to the skilled person, the order of the steps in method 200 may be re-arranged, and in particular, for optional steps 210 and 212, be added, removed and / or performed across iterations in any number of combinations.
[0108] Figure 3 shows an example visual representation survey area which has been divided using Voronoi decomposition. Referring to Fig. 3, an example survey area 302 is divided into a plurality of subareas 306a-d using Voronoi decomposition. Specifically, one or more seed coordinates 304a-d are generated within the survey area 302 and the survey area 302 is partitioned using the one or more seed coordinates 304a-d as Voronoi centres. The resulting partitions between subareas, i.e. borders 308, in addition to defining the one or more subareas may be optionally used for the generation of survey routes and / or for the assignment of entrance and / or exit coordinates as described herein. In some implementations, dividing the survey area using Voronoi decomposition optionally uses characteristics of the USV to determine the number of subareas. For example, the number of seed coordinates generated may be based on USV properties such as at least one of the energy capacity, expected operating time, or expected survey area coverage. In some further implementations, the dividing of the survey area based on USV properties additionally takes into account the transit routes and / orthe survey routes, to calculate the energy consumption of the USV between the two refuelling stations (as discussed previously), to determine the number of subareas.
[0109] As will be apparent to the skilled person, the seed coordinates may be assigned in any number of ways. For example, it may be assigned randomly (e.g., pseudo-randomly using computer generated randomisation). In some implementations, a heuristic may be used to assign the seed coordinates, i.e. Voronoi centres, to generate a plurality of subareas that are approximately the same size / area. An example of such a heuristic is to generate seed coordinates that maximize the distance (e.g. Euclidean distance) between the one or more seed coordinates. In some implementations, the seed coordinates may be assigned by user input, or otherwise assigned as previously described herein in reference to entrance coordinates and exit coordinates.
[0110] Figure 4 shows an example visual representation of the assignment of entrance coordinates and exit coordinates and transit routes for the example survey area of Fig. 3. Referring to Fig. 4, the survey area 308 which has been divided into a plurality of subareas using Voronoi decomposition is assigned entrance coordinates 402a-d and exit coordinates 404a-d for each subarea of the plurality of subareas. In this example, the entrance and exit coordinates are generated 180 degrees from each other relative to a line of symmetry drawn through the geometric centre of the subarea. Fig. 4 also showsexample departure transit routes 408a-d and return transit routes 410a-d between refuelling stations 406a-c and the entrance coordinates 402a-d and exit coordinates 404a-d for each subarea of the plurality of subareas.
[0111] Figure 5 shows an example visual representation of a weighted graph and transit routes minimised by time, distance and energy consumption. Transit routes may be generated by generating a weighted graph that represents a geographical map of the body of water, the weighted graph comprising a plurality of nodes, each node storing data of external factors, e.g., metocean data and characteristics of the USV; and generating, using the weight graph, a route that minimizes at least one of time, distance or energy consumption of the USV when following the route. Referring to Fig. 5, a weight graph is generated using a plurality of nodes 502, wherein, in this example, each node stores ocean current data. The ocean current data at each of the plurality of nodes 502 can be visualized in Fig. 5 by the vectors drawn at each node, which indicates the ocean current velocity at the node. Further referring to Fig. 5, the weighted graph includes example transit routes which are minimised with respect to time 510, distance 512 and energy consumption 514 of the USV when following the respective route. The transit route is generated from a start point 504, such as a refuelling station, and connects with a goal point 506, such as an entrance coordinate of a subarea (departure transit route). Alternatively, the start point 504 may be the exit coordinate of a subarea and the goal point 506 may be a refuelling station (return transit route).
[0112] The generated transit route may include a determined speed or speeds, for the USV to travel while following the transit route. In some implementations, the determined speed may change at one or more points (e.g. one or more nodes) along the transit route. In some implementations, the determined speed at which the USV travels is constant. As will be apparent to the skilled person, a USV may have the functionality of controlling the speed of the USV according to the determined speed. Referring to Fig. 5, the determined speed for the generated transit route minimised for distance 512 or time 510 may be assigned a speed that is the top speed of the USV. In some implementations, the determined speed(s) are restricted to one of a fixed number of speeds (e.g. one of four), which enables generation of the transit route to be performed more efficiently by reducing the search space. The determined speed(s) may be determined based on characteristics of the USV, e.g., the top speed of the USV.
[0113] Generating, using the weighted graph, a route that minimises at least one of time, distance or energy consumption may be generated by maintaining a tree of routes originating at the start point 504, and extending the route by one adjacent node at a time until the goal point 506 is reached. In some implementations, a priority queue may be used to prioritize nodes that have the lowest cost. The cost is based on whether the transit route is minimised for time, distance or energy consumption, and may optionally be weighted based on external factors such as metocean data and / or characteristics of the USV that is stored at each node. While the methods and systems described herein describe the generation of a transit route between a refuelling station and an entrance or exit coordinate of a subarea, in some implementations, the transit route may incorporate specific points / coordinates that the USV must traverse through. For example, the USV may be required to stop at a specified coordinate for refuelling, maintenance and / or the offloading of surveying data. In some implementations, this is incorporated into the generation of the transit route by setting the specified coordinate as the goal point(to ensure that the USV will traverse / stop at the specified coordinate). To arrive at the entrance or exit coordinate of a subarea after stopping at the specified coordinate, a second route may be generated (according to the methods described herein) by setting the specified coordinate as the start point and the entrance / exit coordinate as the goal point. The two aforementioned routes may be combined to form the transit route from a refuelling station to an entrance or exit coordinate of a subarea. As will be apparent, the USV may stop at one or more specified coordinates, and the aforementioned process may be repeated for each specified coordinate, to generate a transit route that incorporates traversing / stopping at one or more specified points along the transit route.
[0114] If the transit route is minimised for time then a time cost, i.e. required time, is calculated each time the route is extended by one adjacent node in order to calculate the total cost from the start point to the current point on the weighted graph. The required time may be calculated using the following equation:
[0115] t = s / v (1)
[0116] Where t is the time taken for the USV to travel distance s at velocity v. The distance may be calculated by adding the distances (e.g. Euclidean distance) between the nodes.
[0117] If the transit route is minimised for distance, then a distance cost, i.e. distance, may be calculated each time the route is extended by one adjacent node in order to calculate the total distance from the start point to the current point on the weighted graph. The distance may be calculated by adding the distances (e.g., Euclidean distance) between the nodes.
[0118] If the transit route is minimised for energy consumption, then an energy consumption may be calculated each time the route is extended by one adjacent node in order to calculate the total energy consumption from the start point to the current point on the weighted graph. The determination of the total energy consumption is an estimation that uses the velocity of the USV when following the transit routes and survey routes. As discussed, the velocity may be restricted to one of a fixed number of speeds to reduce the search space. The velocity of the USV is correlated with the energy consumption of the USV, but may also be affected by external factors, such as, current; obstacles in the body of water; wind speed; wave height; temperature of the air; temperature of the water; characteristics of the USV; and COLREGs.
[0119] Referring to Fig. 5, the weighted graph includes obstacles 508. However, in some implementations the weighted graph is further weighted based on external factors including at least one of: current; obstacles in the body of water; wind speed; wave height; temperature of the air; temperature of the water; characteristics of the USV; and COLREGs. As noted above, each of the aforementioned external factors may be incorporated into the calculation of the energy consumption by their effect on the velocity of the USV. Obstacles, such as obstacles 508, may be additionally incorporated into the transit route generation by preventing the nodes surrounding the obstacle and / or in the obstacle to be used for the transit route. In some implementations, such nodes may be skipped in the route generation or alternatively assigned a negative velocity (e.g., negative infinity) so that the node is not selected for the transit route generation. COLREGs, which considers regulations for certain situational scenarios, leading to actions taken on safe speeds, narrow channels, etc., may be incorporated similarly to obstacles and / or to the velocity of the USV.
[0120] To illustrate the effect of external factors, ocean currents are considered, which would result in the calculation of the velocity of the USV as:
[0122] Where v is the velocity of the USV, vusvis the net velocity (the velocity which is a result of the USV alone), and vcurrent along usvis the velocity of the ocean current along the USV. It is noted that v in Eq. 2 corresponds to v in Eq. 1 .
[0123] In some implementations, vusv, the net velocity of the USV, is calculated. The net velocity enables an accurate representation of energy consumption of the USV to be determined as it is the velocity of the USV in the absence of external factors.
[0124] The net velocity of the USV may be calculated by rearranging Eq. 2 to vusv= v - Vcurrent along usv’ i-®-. subtracting the velocity of the ocean current along the USV from the velocity of the USV.
[0125] The velocity of the ocean current along the USV, vcurrent along usv, i.e., the velocity of the current in alignment with the route of the USV, may be calculated using the following equation when moving, e.g., from point B to point A:
[0126] VCUrrent_along_USV = (l«l + l*l) / 2 * COS «<Pa+ < / >b) / 2 - 0) (3)
[0127] Where |a| is the magnitude of the vector of the ocean current at point A, |b| is the magnitude of the vector of the ocean current at point B, 4>ais the angle from vector a to the horizontal, <Pbis the angle from vector b to the horizontal, and 9 is the angle between the vector from B to A and the horizontal.
[0128] The relationship between the rate at which energy is expended and the velocity of the USV is usually non-linear. There are a number of factors that contribute to this non-linear behaviour, one factor is that resistive forces are greater at higher velocities thereby requiring more energy overcome friction between the USV and the water. This results in the increased rate of energy expenditure at higher velocities. Other factors may also increase (or in some cases decrease) the rate of energy expenditure at higher velocities, such as, the efficiency of the propulsion system and the aerodynamic shape of the USV (i.e. characteristics of the USV), but also turbulence of the water, and the effect of the external factors described herein. As is apparent to the skilled person, the non-linear behaviour of a USV may be taken into account when calculating the rate of energy expenditure using vusv, the net velocity of the USV.
[0129] The energy consumption may be determined by multiplying the rate of energy expenditure expected at the net velocity of the USV, vusv, by the time, t, that the USV travelled at velocity v. The time is calculated using Eq. 1 by substituting the distance that the USV travelled at velocity v and the distance s that the USV travelled at velocity v.
[0130] In some implementations, generating, using the weighted graph, a route that minimises at least one of time, distance or energy consumption further uses a heuristic which incorporates the cost toward the goal point from a node on the graph, e.g., the heuristic in the A* search algorithm. The cost from the heuristic may be added to the time cost, distance cost, or the energy consumption cost (depending whether the transit route is minimised for time, distance or energy consumption).
[0131] In some implementations the generated graph is stored after generation and is re-used for the generation of the transit routes and / or for survey routes.
[0132] In some implementations, the weighted graph uses a combination of metocean historical data and metocean live data. In particular, live data of the surrounding environment collected using sensors from the USV, such as current; obstacles in the body of water, wind speed, wave height, temperature of the air, temperature of the water may be communicated between the USV and a server, thereby allowing the incorporation of live data to the generation of transit and / or survey routes. Similarly, metocean historical data from data sources, such as Fugro’s Metocean database, and live data from sources such as satellites, ocean buoys and the USV may be incorporated together.
[0133] In some implementations, the weighted graph is updated using live data provided from the USV and / or from a server, and optionally, receiving an update to the data in the weighted graph causes the determined mission plan to be updated. As will be apparent, the updated determined mission plan may differ from the previous determined mission plan by at least one of: entrance coordinates of at least one subarea; the exit coordinates of at least one subarea; the number of subareas; the shape of at least one subarea, transit routes and survey routes. In some implementations, the updated mission plan may be provided to the USV when being refuelled / recharged at a refuelling station for subsequent execution. The previous determined mission plan may be used as input into the methods described herein to enable faster determination of the updated determined mission plan.
[0134] In some implementations, the resolution of the weighted graph, i.e. the number of nodes per unit area of the weighted graph, may be varied. The resolution may be increased by increasing the density of nodes to enable a more accurate and precise transit route to be generated at the expense of increasing processing. Conversely, the resolution may be decreased by decreasing the density of nodes to enable the transit route to be determined more efficiently. In some implementations, the density of nodes may not be uniform / homogeneously distributed, i.e., in some areas the density of nodes may be higher than in others. For example, in the case of ocean currents as an external factor, areas of the ocean that are calmer (e.g., ocean current velocities which are determined to be below a threshold) may have a sparser number of nodes compared rougher areas of the ocean.
[0135] Figure 6 shows an example visual representation of a survey route. Referring to Fig. 6, a survey route 608 is generated from entrance coordinate 604 to exit coordinate 606. In this example, the entrance and exit coordinates are generated 180 degrees from each other relative to a line of symmetry drawn through the geometric centre of the subarea. In some implementations, the generated survey routes are generated to form a boustrophedon path. Survey route 608 is an example of boustrophedon path. Using a boustrophedon path enable efficient processing (combining and correlating) of surveying data. It will be apparent that other path formations are possible, which can include a survey path which covers an area or point more than once. It is noted that survey route 608 has been illustrated, for explanatory purposes, to overshoot the bounds of the subarea. In some implementations, the survey route is generated to fully cover the survey area by generating a survey route that makes turns at or proximate to but not exceeding the subarea border.
[0136] In some implementations, the resolution of the surveying may be varied by changing one of USV velocity and / or survey route density for one or more subareas of the plurality of subareas for acandidate mission plan. In some further implementations, the USV velocity and / or survey route density may be determined using characteristics the USV, e.g. the USV’s survey scope / range. The generated survey route may include a determined speed or speeds, forthe USV to travel while following the survey route. In some implementations the determined speed at which the USV travels when following the survey route is constant. As will be apparent to the skilled person, a USV may have the functionality of controlling the speed of the USV according to the determined speed(s) to follow a survey route.
[0137] The calculation for the total time required, total distance required and / or the energy consumption for a survey route may be performed in the same way as for the transit routes described in reference to Fig. 5. In some implementations, the survey route can be generated in the same way as transit routes described in reference to Fig. 5. As such, like for the generation of transit routes, the generation of survey routes may optionally take into account external factors, such as, metocean data (currents, obstacles, wave height etc.) and characteristics of the USV. In some implementations, only the geographic positions of the nodes in the weighted graph are used to generate the survey route to reduce the processing required to generate the survey routes.
[0138] As described in relation to transit routes, in some implementations, the survey route may incorporate specific points / coordinates that the USV must traverse through. For example, the USV may be required to stop at a specified coordinate for refuelling, maintenance and / or the offloading of surveying data. In some implementations, this is incorporated into the generation of the survey route by setting the specified coordinate as the goal point (to ensure that the USV will traverse / stop at the specified coordinate). To arrive at the exit coordinate of a subarea after stopping at the specified coordinate, a second route may be generated (according to the methods described herein) by setting the specified coordinate as the start point and the exit coordinate as the goal point. The two aforementioned routes may be combined to form the survey route from the entrance coordinate to the exit coordinate of a subarea. As will be apparent, the USV may stop at one or more specified coordinates, and the aforementioned process may be repeated for each specified coordinate, to generate a survey route that incorporates traversing / stopping at one or more specified points along the survey route.
[0139] Figure 7 shows an example visual representation of generating additional candidate mission plans. In particular, Fig. 7 shows how additional candidate mission plans may be generated using a candidate mission plan 702 generated from example survey area 302 and Voronoi centres of Fig. 3, and example entrance and exit coordinates, refuelling stations, and transit routes of Fig. 4. Fig. 7, shows a number of changes / mutations that can be made to the candidate mission plan 702 to generate the candidate mission plan 708. In some implementations, one or more additional candidate mission plans may be generated by modifying one or more candidate mission plans using a mutation operator (according to step 212), which changes at least one of: the entrance coordinates of at least one subarea; the exit coordinates of at least one subarea; the number of subareas; the shape of at least one subarea; and the transit routes.
[0140] As discussed, a single modification / change may be sufficient to generate a new candidate mission plan. However, for illustration purposes in Fig. 7, multiple changes have been made to candidate mission plan 702 to generate additional candidate mission plan 708. Two examples of the modificationsmade to candidate mission plan 702 to arrive at additional candidate mission plan 708 will now be described in detail. The first example relates to the departure transit route for subarea 306c. Candidate mission plan 702 shows that the departure transit route 408c is connected to refuelling station 406c. A new candidate mission plan may be generated by modifying candidate mission plan 702 so that former departure transit route 408c is now connected to refuelling station 406a instead of 406c, as shown in mission plan 708. The second example relates to the Voronoi centre for subarea 306d, which is moved to a new position 706 as shown in mission plan 708. This has the effect of changing the shape of the subarea and in some cases, the entrance and / or exit coordinates may be changed from moving a Voronoi centre.
[0141] While the mission plan is a representation of the transit and survey routes, In some implementations the generation of additional candidate mission plans may be performed without having previously generating the transit routes and / or survey routes as previously discussed in reference to method 200 and Fig. 2. In this case, the mutation operation may use the aspects of the mission plan which remain. For example, if there are no transit routes and survey routes generated (e.g. after completing step 102 of method 100 or step 202 of method 200), the mutation operation can still change the entrance coordinates of at least one subarea; the exit coordinates of at least one subarea; the number of subareas; the shape of at least one subarea.
[0142] In some implementations, modifying one or more candidate mission plans using a mutation operator comprises representing a candidate mission plan of the one or more candidate mission plans using a binary string and randomly flipping at least one bit of the binary string. For example, for a candidate mission plan with subareas divided using Voronoi decomposition, the binary string may be represented as series of n * 32 bits, wherein n is the number of subareas in the mission plan. For each subarea represented by 32 bits, the first 20 bits may be used to encode the positions of the Voronoi centres; the following four bits may be used to indicate which refuelling station is used for the departure transit route; if the entrance and exit coordinates are fixed to be 180 degrees from each other relative to a line of symmetry drawn through the geometric centre of the subarea, then the following four bits may be used to indicate the cardinal direction for which the entrance / exit points are generated; and finally, the last four bits may be used to indicate which refuelling station is used for the return transit route. A bit or multiple bits may be flipped for a binary string. In some cases, the binary strings may be of different lengths to account for a different number of subareas. In some implementations, a Gaussian distribution is used to encode all of the candidate mission plans (and additional candidate mission plans), and random sampling of the Gaussian distribution is performed to generate additional mission plans.
[0143] Figure 8 shows an example visual representation of generating additional candidate mission plans from two candidate mission plans. In particular, Fig. 8 shows the generating of additional candidate mission plans from example mission plans 702 and 708 from Fig. 7. When there are at least two candidate mission plans, one or more additional candidate mission plans may be generated by combining at least one feature from at least two randomly selected candidate mission plans, wherein the at least one feature includes at least one of: the transit routes; and the seed coordinates of Voronoi cells. In reference to Fig. 8, the transit routes of candidate mission plan 702 and 708 are combined to generate additional candidate mission plans 802 and 804.
[0144] In some implementations, wherein there are at least two candidate mission plans, one or more additional candidate mission plans are generated by combining at least one feature from at least two randomly selected candidate mission plans (that, in some implementations, have the same number of subareas and the same shape of subareas), wherein the at least one feature includes at least one of: the entrance coordinates of at least one subarea; and the exit coordinates of at least one subarea. As described with reference to Fig. 7, a candidate mission plan of the one or more candidate mission plans may be represented using a binary string. In an example implementation, one or more additional candidate mission plans may be generated from at least two randomly selected candidate mission plans, which are represented by a binary string, by combining one or more sections of the binary strings of the at least two randomly selected candidate mission plans. In this way, the sections of the binary strings which may correspond to a particular feature of the candidate mission plan may be combined, thereby generating a new additional candidate mission plan which may be different to the at least two randomly selected candidate mission plans. In some implementations, the sections that are combined may not correspond to a particular feature but may be an arbitrary section of the binary string. As will be apparent, there are numerous ways to combine sections of at least two binary strings to generate a new binary string, i.e., a new additional candidate mission plan. For example, as discussed with reference to Fig. 7, a Gaussian distribution may be used to represent the at least two randomly selected candidate mission plans, and random sampling carried out to generate an additional candidate plan.
[0145] The aforementioned implementations in reference to Figs. 7 and 8 may be applied to the generation of one or more additional candidate mission plans from the one or more candidate mission plans (before entering the iterative process of method 200), and / or for the generation of one or more additional candidate mission plans from the one or more candidate mission plans and any previously generated one or more additional candidate mission plans (generated after entering the iterative process of method 200). That is, the techniques described herein for generating additional mission plans from previous mission plans may be applied whenever new additional candidate mission plans are generated from existing candidate mission plans. Further, in some implementations, the one or more additional candidate mission plans are generated to be unique to each other and / or to the one or more candidate mission plans. In an implementation, uniqueness may be ensured by comparing newly generated candidate mission plans with previously generated mission plans, which can optionally exclude candidate mission plans that have been removed (e.g. from step 210).
[0146] Figure 9 shows a block diagram of one implementation of a computing device 900 within which a set of instructions, for causing the computing device to perform any one or more of the methodologies discussed herein, may be executed. In alternative implementations, the computing device may be connected (e.g., networked) to other machines in a Local Area Network (LAN), an intranet, an extranet, or the Internet. The computing device may operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The computing device may be a personal computer (PC), a tablet computer, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a server, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. In some implementations, the computingdevice may be part of a system comprising a USV comprising means for receiving and executing a mission plan generated according to the methods described herein. In some implementations, the aforementioned system optionally further includes a server for the implementation of live data and / or communication between the USV and the server as described herein.
[0147] Further, while only a single computing device is illustrated, the term “computing device” shall also be taken to include any collection of machines (e.g., computers) that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein. More particularly, a number of computing devices can be used to generate a mission plan, for an uncrewed surface vessel, to survey a body of water that has been divided into a plurality of subareas, as described above. Each computing device may have the structure shown in Fig. 9. Alternatively, a plurality of processors within a single computing device, such as computing device 900, can perform the independent computations.
[0148] The example computing device 900 includes a processor 902, a main memory 904 (e.g., readonly memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.), a static memory 906 (e.g., flash memory, static random access memory (SRAM), etc.), and a secondary memory (e.g., a data storage device 918), which communicate with each other via a bus 930.
[0149] Processor 902 represents one or more general-purpose processors such as a microprocessor, central processing unit, or the like. More particularly, the processor 902 may be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, processor implementing other instruction sets, or processors implementing a combination of instruction sets. Processor 902 may also be one or more special-purpose processors such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. Processor 902 is configured to execute the processing logic (instructions 922) for performing the operations and steps discussed herein.
[0150] The computing device 900 may further include a network interface device 908. The computing device 900 also may include a video display unit 910 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), an alphanumeric input device 912 (e.g., a keyboard or touchscreen), a cursor control device 914 (e.g., a mouse or touchscreen), and an audio device 916 (e.g., a speaker).
[0151] It will be apparent that some features of computer device 900 shown in Fig. 9 may be absent. For example, one or more computing devices 900 may have no need for display device 910 (or any associated adapters). This may be the case, for example, for particular server-side computer apparatuses 900 which are used only for their processing capabilities and do not need to display information to users. Similarly, user input device 912 may not be required. In its simplest form, computing device 900 comprises processor 902 and memory 904.
[0152] The data storage device 918 may include one or more machine-readable storage media (or more specifically one or more non-transitory computer-readable storage media) 928 on which is stored one or more sets of instructions 922 embodying any one or more of the methodologies or functions described herein. The instructions 922 may also reside, completely or at least partially, within the mainmemory 904 and / or within the processor 902 during execution thereof by the computer system 900, the main memory 904 and the processor 902 also constituting computer-readable storage media.
[0153] The various methods described above may be implemented by a computer program. The computer program may include computer code arranged to instruct a computer to perform the functions of one or more of the various methods described above. The computer program and / or the code for performing such methods may be provided to an apparatus, such as a computer, on one or more computer readable media or, more generally, a computer program product. The computer readable media may be transitory or non-transitory. The one or more computer readable media could be, for example, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, or a propagation medium for data transmission, for example for downloading the code over the Internet. Alternatively, the one or more computer readable media could take the form of one or more physical computer readable media such as semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disc, and an optical disk, such as a CD-ROM, CD-R / W or DVD.
[0154] In an implementation, the modules, components and other features described herein can be implemented as discrete components or integrated in the functionality of hardware components such as ASICS, FPGAs, DSPs or similar devices.
[0155] A “hardware component” is a tangible (e.g., non-transitory) physical component (e.g., a set of one or more processors) capable of performing certain operations and may be configured or arranged in a certain physical manner. A hardware component may include dedicated circuitry or logic that is permanently configured to perform certain operations. A hardware component may be or include a special-purpose processor, such as a field programmable gate array (FPGA) or an ASIC. A hardware component may also include programmable logic or circuitry that is temporarily configured by software to perform certain operations.
[0156] Accordingly, the phrase “hardware component” should be understood to encompass a tangible entity that may be physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein.
[0157] In addition, the modules and components can be implemented as firmware or functional circuitry within hardware devices. Further, the modules and components can be implemented in any combination of hardware devices and software components, or only in software (e.g., code stored or otherwise embodied in a machine-readable medium or in a transmission medium).
[0158] Unless specifically stated otherwise, as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as "generating”, “evaluating”, “determining”, “removing”, or the like, refer to the actions and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
[0159] A USV comprising means for receiving and executing a mission plan that is generated according to the methods described herein is further disclosed.
[0160] It is to be understood that the above description is intended to be illustrative, and not restrictive. Many other implementations will be apparent to those of skill in the art upon reading and understanding the above description. Although the present disclosure has been described with reference to specific example implementations, it will be recognized that the disclosure is not limited to the implementations described but can be practiced with modification and alteration within the spirit and scope of the appended claims. Accordingly, the specification and drawings are to be regarded in an illustrative sense rather than a restrictive sense. The scope of the disclosure should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
Claims
CLAIMS1 . A computer-implemented method for generating a mission plan for a uncrewed surface vessel (USV) to survey a body of water, the computer-implemented method comprising: generating one or more candidate mission plans by dividing a survey area of the body of water into a plurality of subareas for each generated candidate mission plan and assigning an entrance coordinate and an exit coordinate to each subarea of the plurality of subareas; generating, for each of the one or more candidate mission plans, transit routes between one or more refuelling stations and the plurality of subareas by determining a route between the entrance coordinate and / or the exit coordinate of one or more subareas of the plurality of subareas and the one or more refuelling stations; generating, for each of the one or more candidate mission plans, a survey route for each subarea of the plurality of subareas which starts from the entrance coordinate and finishes at the exit coordinate of each subarea; evaluating the performance of each of the one or more candidate mission plans based on the transit routes and survey routes; determining the mission plan using the evaluated performance of the one or more candidate mission plans.
2. The computer-implemented method of claim 1 , wherein determining the mission plan based on the evaluated performance of the one or more candidate mission plans, further comprises iteratively: generating, one or more additional candidate mission plans from the one or more candidate mission plans and any previously generated one or more additional candidate mission plans; generating, for each of the one or more additional candidate mission plans, transit routes between one or more refuelling stations and the plurality of subareas by determining a route between the entrance coordinate and / or the exit coordinate of one or more subareas of the plurality of subareas and the one or more refuelling stations; generating, for each of the one or more additional candidate mission plans, a survey route for each subarea of the plurality of subareas which starts from the entrance coordinate and finishes at the exit coordinate of each subarea; and evaluating the performance of each of the one or more additional candidate mission plans based on the generated transit routes and survey routes.
3. The computer-implemented method of claim 2, wherein determining the mission plan based on the evaluated performance of the one or more candidate mission plans, further comprises iteratively: removing, based on the evaluated performance, one or more additional candidate mission plans and / or one or more candidate mission plans.
4. The computer-implemented method of any of claims 2-3 wherein generating, one or more additional candidate mission plans from the one or more candidate mission plans and any previously generated one or more additional candidate mission plans, further comprises: modifying a candidate mission plan using a mutation operator that changes at least one of: the entrance coordinates of at least one subarea; the exit coordinates of at least one subarea; the number of subareas; the shape of at least one subarea; and the transit routes.
5. The computer-implemented method of any of claims 2-4, wherein dividing the survey area into a plurality of subareas comprises: generating one or more seed coordinates within the survey area; partitioning the survey area using Voronoi cell decomposition using the one or more seed coordinates as Voronoi centres.
6. The computer-implemented method of claim 5, wherein there are at least two candidate mission plans, and wherein the one or more additional candidate mission plans are generated by combining at least one feature from at least two randomly selected candidate mission plans, wherein the at least one feature includes at least one of: the transit routes; and the seed coordinates of Voronoi cells.
7. The computer-implemented method of any of claims 2-6, wherein there are at least two candidate mission plans, and wherein the one or more additional candidate mission plans are generated by combining at least one feature from at least two randomly selected candidate mission plans, wherein the at least one feature includes at least one of: the entrance coordinates of at least one subarea; and the exit coordinates of at least one subarea.
8. The computer-implemented method of any of claims 1-7, wherein evaluating the performance of each of the one or more candidate mission plans or, if present, the one or more additional candidate mission plans comprises: determining a total time required for a USV when following the generated transit routes and the survey routes for a respective mission plan;9. The computer-implemented method of any of claims 1-8, wherein evaluating the performance of each of the one or more candidate mission plans or, if present, the one or more additional candidate mission plans comprises:determining a total energy consumption of a USV when following the generated transit routes and survey routes for a respective mission plan.
10. The computer-implemented method of claims 1-9, wherein generating the transit routes comprises: generating a weighted graph that represents a geographical map of the body of water, the weighted graph comprising a plurality of nodes, each node storing metocean data; and generating, using the weighted graph, a route that minimises at least one of time, distance or energy consumption of the USV when following the route;11 . The computer-implemented method of claim 10, wherein the weighted graph uses a combination of metocean historical data and metocean live data.
12. The computer-implemented method of any of claims 10-11 , wherein the weighted graph is further weighted based on at least one of: current; obstacles in the body of water; wind speed; wave height; temperature of the air; temperature of the water; and characteristics of the USV.
13. The computer-implemented method of any of claims 1-12, further comprising outputting the mission plan as a set of coordinates for execution by a USV.
14. A system comprising: one or more processors; a computer readable medium comprising instructions that, when executed by the one or more processors, cause the system to perform the method of any of claims 1-13.
15. The system of claim 14, further comprising: an uncrewed surface vessel (USV) comprising means for receiving and executing a mission plan generated according to any of claims 1-13.