Apparatus and methods for a glider
The apparatus and method automate underwater glider navigation by using computational models to determine optimal route segments, addressing the need for improved route planning and reducing human intervention, thereby enhancing navigation efficiency and adherence to mission constraints.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- OXFORD UNIVERSITY INNOVATION LTD
- Filing Date
- 2025-12-01
- Publication Date
- 2026-06-25
Smart Images

Figure GB2025052627_25062026_PF_FP_ABST
Abstract
Description
[0001] APPARATUS AND METHODS FOR A GLIDER
[0002] [1] TECHNICAL FIELD
[0003] [2] The present disclosure relates to underwater gliders. Examples relate to an apparatus for controlling navigation of an underwater glider, underwater gliders, systems, computer- implemented methods, and machine-readable media having program code stored thereon.
[0004] [3] BACKGROUND
[0005] [4] An underwater glider, also known simply as a "glider," is a type of autonomous underwater vehicle that moves using variable-buoyancy propulsion. They are used to undergo underwater missions, for example to sample environmental parameters in a region of interest. Gliders are generally controlled with a combination of simple waypoint-based control and human input. Most gliders simply dive using fixed parameters at a heading defined by the next waypoint. Human pilots can intervene if this is proving unsuccessful, i.e. if the glider is not making sufficient progress towards the goal location. For example, the human pilot typically either changes the target location or some parameters of the dive (e.g. number of yos, dive angle, dive depth).
[0006] [5] Examples disclosed herein aim to provide improved glider navigation, and solve problems in the art.
[0007] [6] SUMMARY
[0008] [7] According to an aspect, there is provided an apparatus for controlling navigation of an underwater glider in a navigation space in water along a navigation path from a startpoint to an endpoint, the navigation path comprising a plurality of segments each having a segment startpoint and a segment endpoint at which the underwater glider is located at the surface of the water and between which the underwater glider is submerged in the water, the apparatus comprising one or more processors configured to: receive, as input, an environmental signal indicative of one or more environmental parameters of the navigation space; determine, in dependence on the environmental parameters and the endpoint, a plurality of proposed segments along which the underwater glider may travel to arrive at the endpoint; determine a plurality of remaining routes from the segment endpoints of the proposed segments to the endpoint of the navigation path; select a route segment from the plurality of proposed segments dependent on the plurality of remaining routes; and output a control signal to the underwater glider to cause the underwater glider to navigate towards the endpoint of the route segment.
[0009] [8] Advantageously, human intervention is reduced and control of the glider is automated. Further, by way of computationally planning ahead for possible routes, a suitable route can be determined to achieve travel of the glider to a desired location. Further still, constraints can be indicated as part of the route determination and thus the control of the glider to travel on that route, so that control of the glider can be performed according to those constraints (e.g. avoiding particular areas or travelling a route which uses the least amount of battery power).
[0010] [9] The apparatus may be configured to probabilistically determine the plurality of proposed segments along which the underwater glider may travel to arrive at the endpoint.
[0011]
[0010] The apparatus may be configured to: determine a set of operating parameters of the underwater glider to cause the underwater glider, operating according to the set of operating parameters, to navigate towards the endpoint of the route segment; and generate the control signal indicative of the set of operating parameters. Thus the glider may be controlled according to the determined route.
[0012]
[0011] The apparatus may be configured to: receive, from the underwater glider, a surface signal indicative of the underwater glider being located at the surface of the water; in dependence on receipt of the surface signal, and during a surface period during which the underwater glider is located at the surface of the water, determine the plurality of proposed segments, select the route segment based on the plurality of proposed segments, and obtain the set of operating parameters of the underwater glider; and output the control signal indicative of the set of operating parameters to the underwater glider at the end of the surface period, after which the underwater glider is to submerge to navigate along the selected route segment according to the control signal. Thus the glider travel can be automatically fine-tuned as the glider moves between segments while it is at the surface. The surface signal may indicate location information, e.g. GPS coordinates, of the glider.
[0013]
[0012] The apparatus may be configured to select the route segment based on at least one navigation constraint, wherein the at least one navigation constraint comprises navigation of the underwater glider along a navigation path which one or more of: takes a shortest time to navigate from the startpoint to the endpoint of a plurality of proposed navigation paths; uses a least amount of energy to power the underwater glider and reach the endpoint of a plurality of proposed navigation paths; and avoids one or more restricted regions in the navigation space. Therefore, different control constraints can be accounted for in determining how to control the glider to reach a destination.
[0014]
[0013] The apparatus may be further configured to select the route segment based on at least one segment constraint, wherein the at least one segment constraint comprises navigation of the underwater glider from a segment startpoint to a segment endpoint within: a heading range, a number of yos limit, a yo peak height limit, a yo peak depth limit, a dive angle limit, thruster use (i.e. whether the thruster is on or off), and an ascent angle limit. A “yo” is a movement underwater whereby the glider moves down / deeper in the water and then back up to overall propel it forwards.
[0014] The apparatus may be configured to determine the plurality of proposed segments and select the route segment using a Monte Carlo Tree Search method. The Monte Carlo Tree Search may use progressive widening; optionally, the Monte Carlo Tree Search may use double progressive widening. The apparatus may be configured to determine the plurality of proposed segments by generating each of the plurality of proposed segments in a respective plurality of expansion steps of the Monte Carlo Tree Search. An expansion step of the Monte Carlo Tree Search may use heuristic estimation. Advantageously, such methods provide a way of computationally determining a desirable route and associated glider control parameters, rather than relying on human expertise and intervention in controlling the glider movement.
[0015]
[0015] The set of operating parameters may comprise one or more of: a heading, a dive depth, a number of yos, a yo peak height, a yo peak depth, a dive angle, thruster use, and an ascent angle.
[0016]
[0016] The environmental signal may be indicative of one or more of: water depth (e.g. a bathymetry map), current speed, current direction, predicted future current speed, predicted future current direction, one or more areas in the navigation space to be avoided, and navigation space boundaries.
[0017]
[0017] The apparatus may be further configured to, following navigation of the underwater glider, controlled according to the output set of operating parameters, from the startpoint towards the endpoint of the route segment; receive, as input, an updated environmental signal indicative of one or more environmental parameters of the navigation space; determine, in dependence on the environmental parameters and the endpoint, a further plurality of proposed segments along which the underwater glider may travel to arrive at the endpoint; determine a further plurality of remaining routes from the segment endpoints of the further plurality of proposed segments to the endpoint of the navigation path; select a further route segment from the further plurality of proposed segments dependent on the further plurality of remaining routes; and output a further control signal to the underwater glider to cause the underwater glider to navigate towards the endpoint of the further route segment. Thus, the control of the glider can be updated and fine-tuned as it undergoes the mission to reach the destination.
[0018]
[0018] In an aspect there is provided an underwater glider configured to be controlled to navigate in a navigation space in water along a navigation path from a startpoint to an endpoint, the navigation path comprising a plurality of segments each having a segment startpoint and a segment endpoint at which the underwater glider is located at the surface of the water and between which the underwater glider is submerged in the water, the underwater glider configured to: at the surface of the water, receive, as input, a control signal from a remote apparatus, the control signal to cause the underwater glider to navigate towards the endpoint of a route segment; and submerge and navigate along the route segment; wherein the route segment is selected, dependent on a plurality of remaining routes, from a plurality of proposed segments; the plurality of proposed segments determined in dependence on one or more environmental parameters of the navigation space and the endpoint and the plurality of remaining routes determined from segment endpoints of the plurality of proposed segments to the endpoint of the navigation path.
[0019]
[0019] The underwater glider may be configured to submerge and navigate along the route segment according to a set of operating parameters of the underwater glider, the set of operating parameters indicated by the control signal.
[0020]
[0020] The underwater glider may be further configured to: when at the surface of the water, transmit a data collection signal indicative of sampled environmental data for analysis to a remote apparatus, the sampled environmental data collected by the underwater glider while previously underwater.
[0021]
[0021] In an aspect there is provided a system comprising any apparatus disclosed herein and any underwater glider disclosed herein.
[0022]
[0022] In the system: the apparatus may comprise an apparatus communication module; the underwater glider may comprise a glider communication module; and the apparatus and the underwater glider may be configured to wirelessly transmit and receive signals via the apparatus communication module and the glider communication module.
[0023]
[0023] In an aspect there is provided a computer-implemented method for controlling navigation of an underwater glider in a navigation space in water along a navigation path from a startpoint to an endpoint, the navigation path comprising a plurality of segments each having a segment startpoint and a segment endpoint at which the underwater glider is located at the surface of the water and between which the underwater glider is submerged in the water, the method comprising: receiving, as input, an environmental signal indicative of one or more environmental parameters of the navigation space; determining, in dependence on the environmental parameters and the endpoint, a plurality of proposed segments along which the underwater glider may travel to arrive at the endpoint; determining a plurality of remaining routes from the segment endpoints of the proposed segments to the endpoint of the navigation path; selecting a route segment from the plurality of proposed segments dependent on the plurality of remaining routes; and outputting a control signal to the underwater glider to cause the underwater glider to navigate towards the endpoint of the route segment.
[0024]
[0024] The method may further comprise: determining a set of operating parameters of the underwater glider to cause the underwater glider, operating according to the set of operating parameters, to navigate towards the endpoint of the route segment; and generating the control signal indicative of the set of operating parameters.
[0025]
[0025] The method may further comprise: receiving, from the underwater glider, a surface signal indicative of the underwater glider being located at the surface of the water; determining the plurality of proposed segments, selecting the route segment based on the plurality of proposed segments, and obtaining the set of operating parameters of the underwater glider in dependence on receipt of the surface signal, during a surface period during which the underwater glider is located at the surface of the water; and outputting the control signal indicative of the set of operating parameters to the underwater glider at the end of the surface period, after which the underwater glider is to submerge to navigate along the selected route segment according to the control signal. The surface signal may indicate location information, e.g. GPS coordinates, of the glider.
[0026]
[0026] In an aspect there is provided a machine-readable medium having program code stored thereon which, when executed by a computer, causes the computer to perform any method disclosed herein. The medium may be a non-transitory computer-readable medium.
[0027]
[0027] BRIEF DESCRIPTION OF THE DRAWINGS
[0028]
[0028] Examples are further described hereinafter with reference to the accompanying drawings, in which:
[0029] Figure 1A illustrates schematically a glider performing a segment of a navigation path; Figure 1 B illustrates schematically a system of an apparatus and a glider according to examples disclosed herein;
[0030] Figure 2 shows schematically an apparatus which is configured to output a control signal for controlling navigation of an underwater glider according to examples disclosed herein;
[0031] Figure 3 shows an example of a computer-implemented method of controlling navigation of an underwater glider, according to examples disclosed herein;
[0032] Figure 4 shows a pictorial example of a model determining possible segments to move a glider towards an end goal according to examples disclosed herein;
[0033] Figures 5A and 5B illustrate computer model data of possible routes to arrive at an end goal according to examples disclosed herein;
[0034] Figures 6A and 6B illustrate computer model data of possible segments identified from a starting position according to examples disclosed herein; and
[0035] Figure 7 shows experimental data from a deployed glider according to examples disclosed herein.
[0036]
[0029] DETAILED DESCRIPTION
[0037]
[0030] Figure 1A illustrates schematically an underwater glider performing a segment of a navigation path. An underwater glider 100 (or simply "glider” 100) is a type of autonomous underwater vehicle that moves using variable-buoyancy propulsion. When it is positively buoyant, it uses buoyancy as a driving force, rising and gliding forward with the help of its hydrofoils or wings. Once it reaches the top of its ascent, its buoyancy shifts to negative, and the glider descends, moving forward under gravity as the driving force. Typically a glider 100 will perform a mission to reach an end goal location by navigating over a number of segments 102 of the overall travel path from start to end. At the start 104 and end 106 of a segment 102 the glider 100 is located at the surface 108 of the water and can transmit and receive communications; for example to transmit collected environmental data to a case, and / or receive navigation instructions. Between the start 104 and end 106 points of each segment 102, the glider 100 is underwater and travels by performing a number of “yos” 110 whereby the glider’s buoyancy is adjusted to cause it to move up and down in the water and thereby propel it forwards.
[0038]
[0031] Gliders 100 are typically controlled with a combination of simple waypoint based control and human input. Most gliders simply dive using fixed parameters at a heading defined by the next waypoint. Human pilots can intervene if the glider does not navigate as expected, for example, if the glider is not making sufficient progress towards the goal location. The human pilot may typically change the target location or some parameters of the dive (e.g. number of yos, dive angle, dive depth) to try and control the glider to better navigate towards the planned goal.
[0039]
[0032] Examples disclosed herein aim to improve glider navigation, for example by performing computations to automatically choose dive headings and dive parameters in order to optimise the expected travel of the glider over a sequence of dives (segments) to achieve a particular goal location (destination). The optimisation may include, for example, minimising duration of travel, or maximising the amount of battery remaining after arriving at the destination. The optimisation may include, for example, minimising the probability the glider leaves a particular work area or visits a restricted area. Current glider piloting software does not support these kinds of objectives.
[0040]
[0033] Examples disclosed herein may perform by considering the possible surfacing locations 104 of the glider 100 at the end of a next segment, and aggregating the behaviour between those locations into a dive single action (which may be thought of as an average, or mean, segment), to better optimise the travel of the glider for the overall mission from the start to the end goal. Consideration is taken when determining the segments of a modelled overall journey from the start to the end destination location of the overall mission / journey, and used to determine how to control the glider 100 to move in a next segment 102 to ultimately best reach the overall end goal and meet some mission criteria (e.g. conserve battery power). By planning ahead to the overall end goal when determining the next segment to travel, improved glider navigation planning can be performed and thus improved control of the glider. This approach also allows for mission constraints to be factored in for the whole journey. It may be thought of as planning a game, where the immediately next move played is planned with a view to achieving the overall end goal of the game.
[0041]
[0034] Figure 1 B illustrates schematically a system of an apparatus 200 and an underwater glider 100 according to examples disclosed herein. The apparatus 200 and glider 100 are able to wirelessly communicate with each other when the glider is at the surface of the body of water it is deployed in. That is, the apparatus 200 comprises an apparatus communication module, and the underwater glider 100 comprises a glider communication module. The apparatus 100 and the underwater glider 200 are configured to wirelessly transmit and receive signals via the apparatus communication module and the glider communication module, so that they can wirelessly communicate; for example, so the apparatus 200 can provide control signalling to the apparatus 100 to control how it operates to perform the next segment in its journey towards a navigation end point.
[0042]
[0035] The apparatus 200 can operate as disclosed below to model the possible navigation of the glider 100, and determine how the glider 100 should perform its next segment of the journey to arrive at the end goal and fulfil some predetermined criteria, such as conserving battery power as far as possible, diving with a predetermined depth range, achieving a predetermined lower speed limit, avoiding (or staying with) some predetermined region, or other “mission goal”. Once the next segment is determined, this can be conveyed to the glider in an output signal, to cause it to travel according to the identified next segment.
[0043]
[0036] Figure 2 shows schematically an apparatus 200 which is configured to output a control signal 264 for controlling navigation of an underwater glider 100. Generally, the apparatus 200 may take, as input, information relating to a goal of the glider mission (e.g. where the glider should ultimately reach in the environment), information about the environment itself (e.g. water depth, water currents, weather, presence of obstacles), and information about some desired mission constraints or goals (e.g. aim to conserve glider battery power as much as possible, aim to avoid certain regions in the environment, aim to remain at a depth less than a predetermined depth limit, aim to spend at least a predetermined period of time in a predetermined area of the environment, or other desired criterion). The apparatus 200 can perform a determination, based on those inputs, of how the glider may be controlled to achieve navigation to the end point and aim to meet any mission criteria specified. The apparatus 200 may then provide a control signal 264 to the glider to control the glider.
[0044]
[0037] The apparatus 200 of Figure 2 may thus be considered to be an apparatus for controlling navigation of an underwater glider in a navigation space in water along a navigation path from a startpoint to an endpoint. The navigation path comprises a plurality of segments each having a segment startpoint and a segment endpoint at which the underwater glider is located at the surface of the water and between which the underwater glider is submerged in the water. As mentioned above, the glider 100 and apparatus 200 are able to wirelessly communicate when the glider it at the water surface the apparatus; i.e. at a segment or navigation path start or end.
[0045]
[0038] In some examples, the apparatus 200 may be used to model a planned glider mission and simulate how the glider is likely to behave if given a set of operating parameters. In such an example, the apparatus may be provided with a set of glider control parameters as input, as well as information about the environment itself, and determine how the glider would behave and move in the environment. The apparatus 200 may then provide, as output, a simulation representative of the expected behaviours of the glider, to assist in understanding and visualising how the glider is likely to behave.
[0046]
[0039] The apparatus 200 comprises one or more processors 202 configured to receive 254, as input, an environmental signal 250 indicative of one or more environmental parameters of the navigation space. One processor is illustrated but the apparatus 200 may comprise plural such processors 202. The environmental signal 250 conveys information about the environment in which the glider is to navigate. For example, the environmental signal may be indicative of environmental parameters such as water depth (e.g. a bathymetry map), current speed (i.e. the current due to the water moving), current direction, predicted future current speed, predicted future current direction, one or more areas in the navigation space to be avoided, and navigation space boundaries, for example. This environmental information acts to provide some constraints on the way in which the glider may operate in the environment.
[0047]
[0040] The apparatus 200 is configured to determine 256 a plurality of proposed segments along which the underwater glider may travel to arrive at the endpoint. The determination 256 is in dependence on the environmental parameters conveys in the environmental signal 250, and the endpoint 252 (i.e. the final location at the end of the navigation path where the glider is to go at the end of the mission, which may also be provided as input to the apparatus as shown). That is, the apparatus 200 determines plural possible next segments which the glider 100 could travel along from its current location as part of the overall mission to reach the navigation end point.
[0048]
[0041] The apparatus 200 is then configured to determine 258 a plurality of remaining routes from the segment endpoints of the proposed segments to the endpoint of the navigation path. That is, for each of the segments which have been determined, the apparatus 200 determines what the remainder of the glider’s path to the navigation end point (the remaining route) would likely be.
[0049]
[0042] The apparatus 200 is configured to select 260 a route segment from the plurality of proposed segments dependent on the plurality of remaining routes. That is, of all the plurality of proposed segments, and based on the remaining routes determined for each of the proposed segments, the apparatus 200 determines which one of the proposed segments is to be the route segment which is a segment along which the glider is to be controlled on its journey to the end destination. The chosen route segment may be the segment which best achieves the desired behaviours of the glider to reach the navigation end point and meet any constraints on the glider operation.
[0050]
[0043] The apparatus 200 thus can take into account possible next segments, the likely resulting overall routes to the end destination from each of those segments, and from that information, determine a desired next segment to control the glider to travel on. This consideration of likely overall route according to different possible initial journey segments allows for an improved determination of a desired overall route to control the glider on, as well as allowing for consideration of constraints on the glider travel as noted below.
[0051]
[0044] That is, the apparatus 200 may be configured to select 260 the route segment based on at least one navigation constraint. This may be thought of as a constraint relative to the overall journey to the navigation end point. The constraint may be to try and minimise, as far as possible, a parameter, such as energy use, time spent travelling to the end point, or number of surfacing events en route to the end point. The constraint may be to operate within a set value of a parameter, e.g. arrive within a specified time of travel such as 4 hours; operate using no more than a set percentage (e.g. 50%) of a fully charged energy source of the glider, or operate within a predefined geographic area I boundary.
[0052]
[0045] The at least one navigation constraint may comprise navigation of the underwater glider 100 along a navigation path which takes a shortest time to navigate from the startpoint to the endpoint of a plurality of proposed navigation paths. In this way a quickest route to the endpoint may be selected. In another example, the at least one navigation constraint may comprise navigation of the underwater glider 100 along a navigation path which uses a least amount of energy to power the underwater glider and reach the endpoint of a plurality of proposed navigation paths. In this way the glider 100 electrical store (e.g. battery) may be conserved as far as possible. In another example, whereby it is desirable to control the glider with both improved energy use and time to navigation end point, since it will be appreciated these two constraints aim to achieve somewhat divergent goals, the navigation constraint may set one parameter while aiming to optimise the other, such as “use a minimal amount of energy to reach the destination within 12 hours” (so the time to end point is set as a fixed constraint and the energy use is set as a parameter to minimise), or “arrive as quickly as possible with at least 25% battery power remaining” (so the energy use is set as a fixed constraint and the time to end point is set as a parameter to minimise). The at least one navigation constraint may comprise navigation of the underwater glider 100 along a navigation path which avoids one or more restricted regions in the navigation space. For example, if there is determined to be an obstacle in the environment (detected marine machinery / water craft, animal life, plant life, dangerous navigation spaces such as shallow water, poor weather or rocky outcrops) the glider may be controlled to try and avoid it. Other possible constraints and / or optimisation objectives may be envisaged.
[0053]
[0046] The apparatus 200 may be configured to select 260 the route segment based on at least one segment constraint. This may be thought of as a constraint on the immediately next segment to be navigated along by the glider. The at least one segment constraint may comprise navigation of the underwater glider 100 from a segment startpoint to a segment endpoint within one or more of: a heading range, a number of yos limit, a yo peak height limit, a yo peak depth limit, a dive angle limit, thruster use, and an ascent angle limit. The apparatus 200 can therefore control the glider to adhere to desired behaviours by setting parameters for the glider to follow to behave in a desired way when travelling.
[0054]
[0047] The apparatus 200 is then configured to output 262 a control signal 264 to the underwater glider 100 to cause the underwater glider 100 to navigate towards the endpoint of the route segment, according to the determined route segment.
[0055]
[0048] In other words, the apparatus 200 can take into account possible segments which the glider can travel along, and look ahead from each segment to see how the glider is likely to navigate if that segment is travelled. The apparatus 200 can select which of the segments provides the most promising glider behaviour to reach the navigation end goal as desired, and control the glider to navigate along that segment. The apparatus 200 is able to predict what is likely to happened to the glider if different possible segments are navigated along and predicts which gives the most promising behaviour.
[0056]
[0049] This approach is advantageous over current methods whereby human knowledge and control is relied upon to predict how a glider may behave, and manually adjust glider operation settings at the end of each segment to cause the glider to get back on track if it has deviated from the planned course, because it does not reply on human operation and control. Further, the examples herein can computationally plan ahead to predict more accurately how a glider may behave. Further, human control is not able to account for route planning with additional glider constraints such as conserving battery life or travelling within a predetermined mission length (distance or time) which can be achieved by the examples disclosed herein.
[0057]
[0050] The apparatus 200 may be configured to receive, from the underwater glider 100, a surface signal indicative of the underwater glider being located at the surface of the water. The apparatus 200 thus is aware that the glider 100 is at the water’s surface. The apparatus 200 may also be configured to receive, from the underwater glider 100, a glider location signal indicative of the location of the underwater glider in the water and at the water’s surface. The location signal may indicate GPS coordinates of the glider for example. In dependence on receipt of the surface signal, and during a surface period during which the underwater glider is located at the surface of the water, the apparatus 200 may be configured to determine the plurality of proposed segments, select the route segment based on the plurality of proposed segments, and obtain the set of operating parameters of the underwater glider. The apparatus 200 may do this based on the received glider location in examples where the glider 100 provides its location to the apparatus 200. The apparatus 200 may then be configured to output the control signal 264, indicative of the set of operating parameters, to the underwater glider 100 at the end of the surface period, after which the underwater glider 100 is to submerge to navigate along the selected route segment according to the control signal.
[0058]
[0051] The apparatus 200 may be configured to probabilistically determine the plurality of proposed segments along which the underwater glider 100 may travel to arrive at the endpoint. For example, the apparatus 200 may use a probabilistic method of determining the proposed segments, and a segment with a highest probability may be selected as the route segment.
[0059]
[0052] The apparatus 200 in some example may be configured to determine a set of operating parameters of the underwater glider 100 to cause the underwater glider, operating according to the set of operating parameters, to navigate towards the endpoint of the route segment, and generate the control signal 264 indicative of the set of operating parameters. That is, the apparatus 200 may determine the route segment 260, and may determine operating parameters for the glider 100 to navigate along that route segment. The determined operating parameters may then be provided from the apparatus 200 to the glider 100. In other examples, the apparatus 200 may indicate the route segment to be followed to another apparatus or control system, which then determines the operating parameters for the glider to use and these are transmitted to the glider to operate according to those operating parameters. The set of operating parameters may comprise one or more of: a heading, a dive depth, a number of yos, a yo peak height, a yo peak depth, a dive angle, thruster use, and an ascent angle, for example.
[0060]
[0053] After the glider 100 has travelled on a route segment and surfaced at the end of the route segment end, this may be communicated to the apparatus 200 which may perform the route planning process again as described above. That is, following navigation of the underwater glider 100, as controlled according to an output set of operating parameters determined in a previous step to travel from the startpoint towards the endpoint of the route segment, the apparatus 200 may be further configured to receive, as input, an updated environmental signal indicative of one or more environmental parameters of the navigation space. This may take place if, for example, one or more of the environmental parameters change over time and may have changes since the last time such parameters were used to determine the route segments which has now been travelled (parameters such as wind direction, wind speed, water current direction, water current speed, etc). The apparatus 200 may be configured to determine, in dependence on the environmental parameters and the endpoint, a further plurality of proposed segments along which the underwater glider may travel to arrive at the endpoint. That is, the step of determining possible segments takes place again, starting from the current glider location. The apparatus 200 may be configured to determine a further plurality of remaining routes from the segment endpoints of the further plurality of proposed segments to the endpoint of the navigation path. The apparatus 200 may be configured to then select a further route segment from the further plurality of proposed segments dependent on the further plurality of remaining routes. This is the next segment in the overall route being taken by the glider. The apparatus 200 may be configured to then output a further control signal to the underwater glider 100 to cause the glider to navigate onward towards the endpoint of the further route segment. This process may repeat for each segment travelled by the glider 100 until it reaches the navigation endpoint.
[0061]
[0054] It will be appreciated that the glider 100 may not necessarily reach the precise planned endpoint (or the precise segment endpoint of a travelled segment), but it may be acceptable for the overall glider mission for the glider to reach within a predetermined area of the initially planned navigation endpoint I segment endpoint. Therefore, there may be a navigation endpoint region I segment endpoint region within which the navigation endpoint I segment endpoint is located and, if the glider surfaces in the navigation endpoint region I segment endpoint region, it is considered to have reached the navigation endpoint / segment endpoint. In a simple example, the navigation end point region may be a circular region centred on the navigation endpoint having a radius of less than the length of a segment. In other examples, the shape of the boundary of the navigation endpoint region may be irregular and may be determined according to the local environment, such as local currents in the region of the navigation endpoint. Other possible regions may be anticipated.
[0062]
[0055] The apparatus 200 may be configured to determine the plurality of proposed segments and select the route segment using a Monte Carlo Tree Search (MCTS) method, which incrementally builds a search tree, (e.g. a collection of possible routes of segments which the glider may take) and uses random simulations. MCTS expands a partial search tree uniformly during an expansion phase and then simulates searches (glider navigation) starting from the states at the edge of the expanded tree and interleaves the expansion and simulation processes. MCTS may be thought of as operating in cycles of steps, repeating these steps as long as time allows. Once the time is up, the MCTS method selects an action based on the accumulated statistics. In the scenario of the glider 100, the time allowed for MCTS step repetition may be the time for which the glider is at the water surface between segments, allowing for time required to transmit control signalling to the glider 100 to move along a next segment towards the navigation end point.
[0063]
[0056] The four steps of a cycle of the MCTS are 1) selection: in this step, the existing tree is traversed (a branch is followed) to select an unexpanded node (end of a branch), making decisions based on visit counts and utility values stored at each node (a point on a branch where there is more than one branch which can be followed); 2) expansion: the successors of the selected state from the selection phase are added to the tree; 3) simulation: the search (modelled movement of the glider along a navigation path) is simulated starting from the selected node, choosing actions (e.g. reducing time to destination, moving a particular distance) randomly until reaching a terminal state; d) backpropagation: the value of the terminal state is propagated back up the branch to the root node, updating visit counts and utility values along the way. The apparatus 200 may be configured to determine the plurality of proposed segments by generating each of the plurality of proposed segments in a respective plurality of expansion steps of the MCTS. The expansion step of the MCTS may use heuristic estimation.
[0064]
[0057] The MCTS used by the apparatus 200 may use progressive widening. Optionally, the MCTS may use double progressive widening. Progressive widening limits the tree width by sampling a subset of available actions for addition to the search tree. Double progressive widening can be useful for scaling in applications involving large discrete and continuous spaces, and hence may be advantageous in the applications disclosed herein where the navigation space of the glider is a continuous body of water, and where parameters of the glider actions (e.g. dive angle, max depth) are real-valued parameters.
[0065]
[0058] Thus, using a MC approach to glider mission planning may be thought of as planning a game, where the immediately next move played is planned (i.e. a next segment is determined) with a view to achieving the overall end goal of the game (i.e. the glider reaching the navigation endpoint).
[0066]
[0059] Also disclosed herein is an underwater glider 100 as illustrated in Figure 2, which is configured to work with the apparatus 200. The underwater glider 100 is configured to be controlled to navigate in a navigation space in water along a navigation path from a startpoint to an endpoint, the navigation path comprising a plurality of segments each having a segment startpoint and a segment endpoint at which the underwater glider is located at the surface of the water and between which the underwater glider is submerged in the water. The underwater glider 100 is configured to: at the surface of the water, receive, as input, a control signal from a remote apparatus 200, the control signal 264 to cause the underwater glider 100 to navigate towards the endpoint of a route segment; and submerge and navigate along the route segment. The route segment is selected, dependent on a plurality of remaining routes, from a plurality of proposed segments. The plurality of proposed segments are determined in dependence on one or more environmental parameters of the navigation space and the endpoint, and the plurality of remaining routes are determined from segment endpoints of the plurality of proposed segments to the endpoint of the navigation path.
[0067]
[0060] The underwater glider 100 may be configured to submerge and navigate along the route segment according to a set of operating parameters of the underwater glider, the set of operating parameters indicated by the control signal 264. The underwater glider 100 may be configured to, when at the surface of the water, transmit a data collection signal indicative of sampled environmental data for analysis to a remote apparatus (such as the apparatus 200, or another remote apparatus); the sampled environmental data collected by the underwater glider 100 while previously underwater.
[0068]
[0061] Figure 3 shows an example of a computer-implemented method 300 of controlling navigation of an underwater glider 100. The method may be performed by any apparatus 200 such as that described in relation to Figure 2, The computer-implemented method 300 is for controlling navigation of an underwater glider 100 in a navigation space in water along a navigation path from a startpoint 302 to an endpoint 304, the navigation path comprising a plurality of segments each having a segment startpoint and a segment endpoint at which the underwater glider is located at the surface of the water and between which the underwater glider is submerged in the water. The method 300 comprises: receiving 354, as input, an environmental signal 350 indicative of one or more environmental parameters of the navigation space. The method 300 comprises determining 356, in dependence on the environmental parameters 350 and the endpoint 304, a plurality of proposed segments along which the underwater glider may travel to arrive at the endpoint. The method 300 comprises determining 358 a plurality of remaining routes from the segment endpoints of the proposed segments to the endpoint of the navigation path. Within an MCTS method, the steps of determining 356 the plurality of proposed segments and determining 358 the plurality of remaining routes from the segment endpoints of the proposed segments to the endpoint of the navigation path are done at the same time. The method 300 comprises selecting 360 a route segment from the plurality of proposed segments dependent on the plurality of remaining routes. The method 300 comprises outputting 362 a control signal to the underwater glider to cause the underwater glider to navigate towards the endpoint of the route segment.
[0069]
[0062] The method 300 may further comprise determining 364 a set of operating parameters of the underwater glider to cause the underwater glider, operating according to the set of operating parameters, to navigate towards the endpoint of the route segment; and generating the control signal indicative of the set of operating parameters.
[0070]
[0063] In some examples, the method 300 may further comprise receiving, from the underwater glider 100, a surface signal indicative of the underwater glider being located at the surface of the water (which may include a location of the glider, e.g. GPS coordinates of the glider); determining the plurality of proposed segments 356, determining the remaining routes 358, and selecting the route segment 360 based on the plurality of proposed segments (and may also comprise obtaining 364 the set of operating parameters of the underwater glider in dependence on receipt of the surface signal) during a surface period during which the underwater glider is located at the surface of the water; and outputting 362 the control signal to the underwater glider at the end of the surface period, after which the underwater glider is to submerge to navigate along the selected route segment according to the control signal. Also included in this disclosure is a machine-readable medium (such as a non-transitory, computer readable, medium, e.g. memory 204 in Figure 2) having program code stored thereon which, when executed by a computer, causes the computer to perform any of method 300 disclosed herein.
[0071]
[0064] Figure 4 shows a pictorial example of a model (e.g. performed by the apparatus 200) for determining possible segments to move a glider 100 towards an end goal 404. In this discussion, the terms “model” and “modelling” may be understood to refer to determining possible routes and segments for a glider 100 (i.e. performing planning steps for search of possible routes and segments) so that the glider 100 can be controlled to move along an identified segment. As discussed above, the model may be used by an apparatus 200 to provide control signalling to a real world glider 100 to cause the glider to navigate towards the navigation end point 404 according to the model results. The underwater glider 100 is modelled as navigating in a navigation space 400 in water. The model in this example has identified that the glider 100 may move along an identified navigation path 406 (shown as a dashed line) from a startpoint 402 to an endpoint 404. The navigation path 406 comprises a plurality of segments 408a-g each having a segment startpoint 410a and a segment endpoint 412a (indicated for the first segment 408a in Figure 4 for clarity) at which the underwater glider 100 is located at the surface of the water and between which the underwater glider is submerged in the water.
[0072]
[0065] The model shows that a determination is made, dependent on environmental parameters (as illustrated, the water current direction and strength is indicated by the current arrows 414), of a plurality of proposed segments 416a, 416b, 416c along which the underwater glider 100 may travel from its current position to arrive at the endpoint 404. For each of these segments 416a, 416b, 416c, the model determines a respective plurality of remaining routes from the segment endpoints of the proposed segments 416a-c to the endpoint of the navigation path (in this example a route 406 from the first segment 416a end 412a is illustrated, and partial routes 418a, 418b are shown from the end of each respective segment 416b, 416c are illustrated. The routes including partial routes 416c, 416c are not selected for the glider to travel along to reach the endpoint 404 so they are not shown in full reaching the end point 404). Once possible routes 406, 418a, 418b are determined, the model then selects a route segment (in this example segment 416a) from the plurality of proposed segments 416a, 416b, 416c dependent on the plurality of remaining routes 404, 418a, 418b. A control signal may be output to the real world underwater glider, based on the outcome of the model, to cause the underwater glider to navigate towards the endpoint of the selected route segment 416a.
[0066] After the glider 100 navigates to the end 412a of the selected segment 416a, the model may run again to determine a new set of segments and routes to the endpoint 404, from which to select a next segment for the glider to travel along.
[0073]
[0067] By modelling the possible respective routes to the end point 404 from each determined segment 416a-c and selecting a route segment 416a from those segments 416a-c based on the routes 406, 418a-b to the endpoint 404 from those segment 416a-c endpoints, a more accurate computational model of the glider navigation may be obtained which accounts for the predicted behaviours of the glider over the whole route. The planning and glider control also does not rely on human expertise and so improved navigation of the glider can be achieved. The model can be re-run when the glider surfaces to check it is on course for the navigation end point 404 and to account for any factors which may have changed since the previous determination.
[0074]
[0068] Figures 5A and 5B illustrate computer model data of simulation outcomes 506, 506a- d showing attempts to achieve arrival at a navigation end goal 504 from the start point 502 from the same initial conditions. Each plot 506, 506a-d show respective different attempts. Thus Figures 5a-5b illustrate how random outcomes of segments 508 effect the overall route 506, 506a-d taken. The simulation outcomes 506, 506a-d are examples determined by an apparatus 200 as discussed herein. In Figure 5A, one possible route 506 between a navigation start point 502 and a navigation end point 504 is illustrated with each segment start / end point 508 shown. Figure 5B shows four possible routes 506a-d determined according to different simulations using the same initial parameters determined from the navigation start point 502 aiming for the end point 504. Since actions are stochastic, i.e. when an action is executed (in a simulation or by the real-world glider) the actual outcome (e.g. the distance to a goal, the battery power used, the time taken to travel etc.) is the result of some uncertain process. An action can be evaluated by simulating it many times, which is equivalent to sampling the outcome many times. Using a MCTS model does this evaluation in a structured, sequential manner, and can keep track of the average outcome of all actions (e.g. the average distance to a goal for all actions from the start location) and then can be used to choose an action which best achieves the objective. A best segment from which the glider can reach the navigation end point 504 can be selected from those obtained for different possible routes 506a-d; each action simulated captures a different set of parameter values, so choosing a best action to do next is equivalent to choosing the best set of parameters for the next segment. The process of determining possible routes can take place again once the glider navigates to the end of the selected segment.
[0075]
[0069] Figures 6A and 6B illustrate computer model data of possible segments determined which may be travelled by a glider from a starting position, for example as determined by an apparatus 200. In each example, a segment start point (which may be the navigation start point) 602 is shown. A vector 610 towards the overall navigation end point is illustrated. From the start point 602, a plurality of segments are determined and their end points 604 are illustrated. No different actions are being tried for each possible segment end point 604; the plurality of different possible segment end points 604 arises from possible random outcomes of a single action. Also shown are a series of “isobars” 612 indicating a probability density function of segment surfacing locations, obtained from the possible segment end points 604. The actual segment end point 606 of the glider after travelling on a selected route segment is also shown. The wavy line shown from the glider start point 602 is an estimated on board position estimate of the glider, which is somewhat inaccurate (since it does not terminate at the end point 606); however, this is indicative of the glider not having information as to where it is located when underwater and hence why the apparatus and methods disclosed herein are useful to be able to estimate the movement of the glider and determine how the glider may be controlled to reach an end goal. These graphs illustrate examples of the possible determined segment end points 604 from a start point 602 which the glider may be determined to potentially reach, to predict where a glider is likely to reach and from that information, glider movement parameters may be tuned to help achieve a particular navigation end goal.
[0076]
[0070] To evaluate the algorithm, as detailed above, which was used to control the glider, it was compared to a baseline algorithm that resembles the default piloting mechanism for reaching a distant goal point used by Slocum gliders. In Table 2, the algorithm disclosed herein are referred to as the “Planner”, and the baseline is referred to as “Straight-to-Goal”. It is worth noting that, even when using the comparison navigation algorithm, the glider remained in the autonomous control of the algorithm disclosed herein. The algorithms (the algorithm as disclosed herein, and the baseline algorithm) took turns controlling the robot, and the algorithm alternated after two transects were completed.
[0077]
[0071] Figures 7a to 7c each show a visualisation of the transects completed during the respective deployments of a glider from a western goal location to an eastern goal location and the paths taken to reach that goal. Figure 7a shows experimental data from a deployed glider in Campaign 1 (“MOGIi”), Figure 7b shows experimental data from a deployed glider in Campaign 2 North (“eSWEETS N”), and Figure 7c shows experimental data from a deployed glider in Campaign 2 South (“eSWEETS S”), according to examples disclosed herein. Software disclosed herein has been used in these glider campaigns (the “Planner” data). The trajectories for the Planner are shown in black, and the trajectories for Straight-to-Goal are shown in light grey. The two goal points that define the transect are marked with an X and labelled (towards the Western Goal side of the transects).
[0078]
[0072] In all three campaigns, the glider was tasked with repeatedly navigating a transect defined by two goal points that were approximately 17 kilometres (MOGIi) and 10 kilometres (eSWEETS) apart. Each transect navigation is made up of several dives. A goal point was considered achieved if the glider surfaced within 2 kilometres (MOGIi) and 1 kilometre (eSWEETS) of the target goal point after a dive.
[0079]
[0073] Table 1 shows summary statistics about the campaigns, that is, it presents high-level statistics (number of transects, dives, total duration, and traversed distance) for each of the three deployments. Table 2 shows detailed results for the campaigns; that is, it presents a comparison between the performance of the two algorithms controlling the glider (Planner or Straight-to-Goal). The best-performing algorithm of the two is marked with an asterisk (*).
[0080] Table 1 - Summary statistics from glider deployment campaigns
[0081] Table 2 - Detailed statistics form Campaigns of Table 1
[0082]
[0074] The inventors have interpreted these results as follows:
[0083] • The system disclosed herein was successfully validated for long-term autonomous glider navigation, having completed a combined 1521 kilometres over 118 days.
[0084] • The Planner algorithm per this disclosure improved the minimum and maximum duration compared to Straight-to-Goal in all deployments.
[0085] • The mean duration and transect length were improved in 2 out of 3 deployments. The advantage of the Planner in the eSWEETS North region was more pronounced than that of Straight-to-Goal in eSWEETS South.
[0086] • Evaluating the statistical significance of the results using standard methods is challenging as each deployment resulted in relatively few transects. This is due to the time scale of glider operations. The only statistically significant result obtained was the reduction in transect length for the MOGLi deployment (p=0.04).
[0087] • The reduction in transect length for MOGLi is discernible visually, showing that the Planner may be less affected by currents.
[0075] Each feature disclosed in this specification (including any accompanying claims, abstract and drawings), may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise. Thus, unless expressly stated otherwise, each feature disclosed is one example of a generic series of equivalent or similar features. Many modifications and other examples set out herein will come to mind to a person skilled in the art in light of the teachings presented herein. Therefore, it will be understood that the disclosure herein is not to be limited to the specific examples disclosed herein. Moreover, although the description provided herein provides examples in the context of certain combinations of elements, steps and / or functions may be provided by alternative examples without departing from the scope of the appended claims.
Claims
CLAIMS1. An apparatus for controlling navigation of an underwater glider in a navigation space in water along a navigation path from a startpoint to an endpoint, the navigation path comprising a plurality of segments each having a segment startpoint and a segment endpoint at which the underwater glider is located at the surface of the water and between which the underwater glider is submerged in the water, the apparatus comprising one or more processors configured to: receive, as input, an environmental signal indicative of one or more environmental parameters of the navigation space; determine, in dependence on the environmental parameters and the endpoint, a plurality of proposed segments along which the underwater glider may travel to arrive at the endpoint; determine a plurality of remaining routes from the segment endpoints of the proposed segments to the endpoint of the navigation path; select a route segment from the plurality of proposed segments dependent on the plurality of remaining routes; and output a control signal to the underwater glider to cause the underwater glider to navigate towards the endpoint of the route segment.
2. The apparatus of claim 1 , configured to probabilistically determine the plurality of proposed segments along which the underwater glider may travel to arrive at the endpoint.
3. The apparatus of any preceding claim, wherein the apparatus is configured to: determine a set of operating parameters of the underwater glider to cause the underwater glider, operating according to the set of operating parameters, to navigate towards the endpoint of the route segment; and generate the control signal indicative of the set of operating parameters.
4. The apparatus of any preceding claim, wherein the apparatus is configured to: receive, from the underwater glider, a surface signal indicative of the underwater glider being located at the surface of the water; in dependence on receipt of the surface signal, and during a surface period during which the underwater glider is located at the surface of the water, determine the plurality of proposed segments, select the route segment based on the plurality of proposed segments, and obtain the set of operating parameters of the underwater glider; andoutput the control signal to the underwater glider at the end of the surface period, after which the underwater glider is to submerge to navigate along the selected route segment according to the control signal.
5. The apparatus of any preceding claim, wherein the apparatus is configured to select the route segment based on at least one navigation constraint, wherein the at least one navigation constraint comprises navigation of the underwater glider along a navigation path which one or more of: takes a shortest time to navigate from the startpoint to the endpoint of a plurality of proposed navigation paths; uses a least amount of energy to power the underwater glider and reach the endpoint of a plurality of proposed navigation paths; and avoids one or more restricted regions in the navigation space.
6. The apparatus of any preceding claim, wherein the apparatus is further configured to select the route segment based on at least one segment constraint, wherein the at least one segment constraint comprises navigation of the underwater glider from a segment startpoint to a segment endpoint within: a heading range, a number of yos limit, a yo peak height limit, a yo peak depth limit, a dive angle limit, thruster use, and an ascent angle limit.
7. The apparatus of any preceding claim, wherein the apparatus is configured to determine the plurality of proposed segments and select the route segment using a Monte Carlo Tree Search method.
8. The apparatus of claim 7, wherein the Monte Carlo Tree Search uses progressive widening; optionally, wherein the Monte Carlo Tree Search uses double progressive widening.
9. The apparatus of claim 7 or claim 8, wherein the apparatus is configured to determine the plurality of proposed segments by generating each of the plurality of proposed segments in a respective plurality of expansion steps of the Monte Carlo Tree Search.[SOI The apparatus of any of claims 6 to 8, wherein an expansion step of the Monte Carlo Tree Search uses heuristic estimation.]10. The apparatus of any preceding claim, wherein the set of operating parameters comprises one or more of: a heading, a dive depth, a number of yos, a yo peak height, a yo peak depth, a dive angle, thruster use, and an ascent angle.
11. The apparatus of any preceding claim, wherein the environmental signal is indicative of one or more of: water depth (e.g. a bathymetry map), current speed, current direction, predicted future current speed, predicted future current direction, one or more areas in the navigation space to be avoided, and navigation space boundaries.
12. The apparatus of any preceding claim, further configured to, following navigation of the underwater glider, controlled according to the output set of operating parameters, from the startpoint towards the endpoint of the route segment; receive, as input, an updated environmental signal indicative of one or more environmental parameters of the navigation space; determine, in dependence on the environmental parameters and the endpoint, a further plurality of proposed segments along which the underwater glider may travel to arrive at the endpoint; determine a further plurality of remaining routes from the segment endpoints of the further plurality of proposed segments to the endpoint of the navigation path; select a further route segment from the further plurality of proposed segments dependent on the further plurality of remaining routes; and output a further control signal to the underwater glider to cause the underwater glider to navigate towards the endpoint of the further route segment.
13. An underwater glider configured to be controlled to navigate in a navigation space in water along a navigation path from a startpoint to an endpoint, the navigation path comprising a plurality of segments each having a segment startpoint and a segment endpoint at which the underwater glider is located at the surface of the water and between which the underwater glider is submerged in the water, the underwater glider configured to: at the surface of the water, receive, as input, a control signal from a remote apparatus, the control signal to cause the underwater glider to navigate towards the endpoint of a route segment; and submerge and navigate along the route segment;wherein the route segment is selected, dependent on a plurality of remaining routes, from a plurality of proposed segments; the plurality of proposed segments determined in dependence on one or more environmental parameters of the navigation space and the endpoint and the plurality of remaining routes determined from segment endpoints of the plurality of proposed segments to the endpoint of the navigation path.
14. The underwater glider of claim 13, configured to submerge and navigate along the route segment according to a set of operating parameters of the underwater glider, the set of operating parameters indicated by the control signal.
15. The underwater glider of claim 13 or claim 14, further configured to: when at the surface of the water, transmit a data collection signal indicative of sampled environmental data for analysis to a remote apparatus, the sampled environmental data collected by the underwater glider while previously underwater.
16. A system comprising the apparatus of any of claims 1 to 12, and the underwater glider of any of claims 13 to 15.
17. The system of claim 16, wherein: the apparatus comprises an apparatus communication module; the underwater glider comprises a glider communication module; and the apparatus and the underwater glider are configured to wirelessly transmit and receive signals via the apparatus communication module and the glider communication module.
18. A computer-implemented method for controlling navigation of an underwater glider in a navigation space in water along a navigation path from a startpoint to an endpoint, the navigation path comprising a plurality of segments each having a segment startpoint and a segment endpoint at which the underwater glider is located at the surface of the water and between which the underwater glider is submerged in the water, the method comprising: receiving, as input, an environmental signal indicative of one or more environmental parameters of the navigation space; determining, in dependence on the environmental parameters and the endpoint, a plurality of proposed segments along which the underwater glider may travel to arrive at the endpoint;determining a plurality of remaining routes from the segment endpoints of the proposed segments to the endpoint of the navigation path; selecting a route segment from the plurality of proposed segments dependent on the plurality of remaining routes; and outputting a control signal to the underwater glider to cause the underwater glider to navigate towards the endpoint of the route segment.
19. The method of claim 18, further comprising: determining a set of operating parameters of the underwater glider to cause the underwater glider, operating according to the set of operating parameters, to navigate towards the endpoint of the route segment; and generating the control signal indicative of the set of operating parameters.
20. The method of claim 18 or claim 19, further comprising: receiving, from the underwater glider, a surface signal indicative of the underwater glider being located at the surface of the water; determining the plurality of proposed segments, selecting the route segment based on the plurality of proposed segments, and obtaining the set of operating parameters of the underwater glider in dependence on receipt of the surface signal, during a surface period during which the underwater glider is located at the surface of the water; and outputting the control signal to the underwater glider at the end of the surface period, after which the underwater glider is to submerge to navigate along the selected route segment according to the control signal.
21. A machine-readable medium having program code stored thereon which, when executed by a computer, causes the computer to perform any of methods 18 to 20.