Uncrewed vehicle path planning using quantum computing

The use of quantum processing units to solve QUBO matrices for path planning addresses the limitations of classical systems by dynamically optimizing drone routes, ensuring collision-free navigation and adaptability in complex environments.

WO2026019358A1PCT designated stage Publication Date: 2026-01-22THALES SOLUTIONS ASIA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/SG2024/050456
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-16
Publication Date
2026-01-22

AI Technical Summary

Technical Problem

Current path planning systems for uncrewed vehicles, particularly drones, face challenges in handling complex urban landscapes and dynamic environments due to the limitations of classical computers and existing quantum computing methods, which struggle with obstacle avoidance, route recalculations, and collision prevention in large areas.

Method used

A method utilizing quantum processing units (QPUs) to solve a quadratic unconstrained binary optimization (QUBO) matrix, combining attractive and repulsive potential fields to guide drones towards destinations while avoiding obstacles, incorporating penalty factors to prevent invalid maneuvers, and dynamically updating paths in real-time.

Benefits of technology

Enables efficient, collision-free path planning for multiple drones in dynamic environments, adapting to sudden changes and optimizing routes based on individual drone capabilities, thereby enhancing traffic management in complex urban areas.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure SG2024050456_22012026_PF_FP_ABST
    Figure SG2024050456_22012026_PF_FP_ABST
Patent Text Reader

Abstract

Systems and methods for uncrewed vehicle route planning are disclosed. An uncrewed vehicle route planning method comprises: for each of a plurality of uncrewed vehicles, calculating a set of possible positions for a time interval using respective current position data, current heading data and maneuver parameters for each respective uncrewed vehicle of the plurality of uncrewed vehicles; calculating a set of potential field values comprising a potential field value for each of position of the set possible positions for each respective uncrewed vehicle of the plurality of uncrewed vehicles; generating a quadratic unconstrained binary optimization matrix with coefficients calculated from the set of potential field values; inputting the quadratic unconstrained binary optimization matrix into a quantum processing system; receiving a solution to the quadratic unconstrained binary optimization matrix from the quantum processing system; determining a set of control commands for the plurality of uncrewed vehicles from the solution to the quadratic unconstrained binary optimization matrix; and determining updated positions and headings for each uncrewed vehicle of the plurality of uncrewed vehicles from the set of control commands.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] UNCREWED VEHICLE PATH PLANNING USING QUANTUM COMPUTING

[0002] TECHNICAL FIELD

[0003] The present disclosure relates to path planning for uncrewed vehicles such as drones. In particular, the present disclosure relates to path planning for uncrewed vehicles using quantum computing.

[0004] BACKGROUND

[0005] The use of unmanned aerial systems (UAS), which are often referred to as drones, has seen rapid growth in recent years and this growth is expected to continue in the future. The increasing use of UAS means that the management of UAS traffic becomes more complex. Therefore, unmanned aerial systems traffic management (UTM) is becoming an important domain and in particular, the planning of optimum, collision-free UAS (aka drone) paths within a city or other area.

[0006] In UTM, the traffic management system must be able to collate the start locations and end locations for drones and generate paths for each of the drones to fly between these two points. These paths need to account for obstacles in the flight space and also prevent the drones from colliding with each other and are usually found with the help of optimization algorithms. When these paths are found, UTM system must be able to store this path and display them to drone operators and airspace regulators.

[0007] Current solutions are based on using classical computers. However, classical computers are expected to be overwhelmed by the volume of drone flights to be handled as the amount of traffic increases in complex urban landscapes. Using quantum computers, path finding algorithms fall into two general categories, graphbased and iterative methods, with weaknesses associated with both classes of methods.

[0008] Graph-based methods are the most popular quantum computing approach for path planning. However, their main weakness stems from the use of fixed waypoints and routes between these waypoints, leading to: Drones being restricted to flying on these fixed routes without considering their individual flight capabilities. The need to recalculate the entire drone path should one or several waypoints or routes be made unavailable due to the sudden appearance of an obstacle or change in weather conditions. The need to use quantum computers with more qubits when operating in larger areas or when there are many possible routes between waypoints. Iterative methods are still under development and face the following shortfalls: They are currently unable to account for obstacles and airspace closures within the flight area. Applying the same method in flight areas of different sizes may result in invalid commands being issued to the drones. E.g., a drone being commanded to turn left and right at the same time.

[0009] SUMMARY

[0010] According to a first aspect of the present disclosure an uncrewed vehicle route planning method is provided. The method comprises: for each of a plurality of uncrewed vehicles, calculating a set of possible positions for a time interval using respective current position data, current heading data and maneuver parameters for each respective uncrewed vehicle of the plurality of uncrewed vehicles: calculating a set of potential field values comprising a potential field value for each of position of the set possible positions for each respective uncrewed vehicle of the plurality of uncrewed vehicles; generating a quadratic unconstrained binary optimization matrix with coefficients calculated from the set of potential field values: inputting the quadratic unconstrained binary optimization matrix into a quantum processing system; receiving a solution to the quadratic unconstrained binary optimization matrix from the quantum processing system; determining a set of control commands for the plurality of uncrewed vehicles from the solution to the quadratic unconstrained binary optimization matrix; and determining updated positions and headings for each uncrewed vehicle of the plurality of uncrewed vehicles from the set of control commands.

[0011] In an embodiment, the method is successively repeated with the updated positions and headings to generate a route plan for each uncrewed vehicle of the plurality of uncrewed vehicles. In an embodiment, the method further comprises sending control commands of the set of control commands to respective uncrewed vehicles the plurality of uncrewed vehicles.

[0012] In an embodiment, each potential field of the set of potential fields is generated as the sum of an attractive field and a repulsive field, wherein the attractive field directs a respective uncrewed vehicle towards a destination and the repulsive potential field directs the respective uncrewed vehicle away from at least one obstacle.

[0013] In an embodiment, the generating a quadratic unconstrained binary optimization matrix comprises including penalty factors corresponding to impossible combinations of maneuver commands for respective uncrewed vehicles.

[0014] In an embodiment, receiving solution to the quadratic unconstrained binaryoptimization matrix from the quantum processing system comprises receiving occurrence counts for a plurality of bitstrings and selecting a bitstring having the occurrence counts as the solution.

[0015] In an embodiment, the method further comprises splitting the selected bitstring into a plurality of bitstrings each associated with an uncrewed vehicle of the plurality of uncrewed vehicles.

[0016] In an embodiment, the time interval is in the range 1 second to 20 minutes.

[0017] According to a second aspect of the present disclosure a computer readable medium carrying processor executable instructions which when executed on a processor cause the processor to carry out a method set out above is provided.

[0018] According to a third aspect of the present disclosure, a system for planning paths for uncrewed vehicles is provided. The system comprises: a processor and a data storage device storing computer program instructions operable to cause the processor to: for each of a plurality of uncrewed vehicles, calculate a set of possible positions for a time interval using respective current position data, current heading data and maneuver parameters for each respective uncrewed vehicle of the plurality of uncrewed vehicles; calcdate a set of potential field values comprising a potential field value for each of position of the set possible positions for each respective uncrewed vehicle of the plurality of uncrewed vehicles; generate a quadratic unconstrained binary optimization matrix with coefficients calculated from the set of potential field values; input the quadratic unconstrained binary optimization matrix into a quantum processing system; receive a solution to the quadratic unconstrained binary optimization matrix from the quantum processing system; determine a set of control commands for the plurality of uncrewed vehicles from the solution to the quadratic unconstrained binary optimization matrix; and determine updated positions and headings for each uncrewed vehicle of the plurality of uncrewed vehicles from the set of control commands.

[0019] In an embodiment, the data storage device further stores computer program instructions operable to cause the processor to: successively determine updated positions and headings to generate a route plan for each uncrewed vehicle of the plurality of uncrewed vehicles.

[0020] In an embodiment, the data storage device further stores computer program instructions operable to cause the processor to: send control commands of the set of control commands to respective uncrewed vehicles the plurality of uncrewed vehicles.

[0021] In an embodiment, each potential field of the set of potential fields is generated as the sum of an attractive field and a repulsive field, wherein the attractive field directs a respective uncrewed vehicle towards a destination and the repulsive potential field directs the respective uncrewed vehicle away from at least one obstacle.

[0022] In an embodiment, the data storage device further stores computer program instructions operable to cause the processor to: generate a quadratic unconstrained binary optimization matrix by including penalty factors corresponding to impossible combinations of maneuver commands for respective uncrewed vehicles.

[0023] In an embodiment, the data storage device further stores computer program instructions operable to cause the processor to: receive a solution to the quadratic unconstrained binary optimization matrix from the quantum processing system by receiving occurrence counts for a plurality of bitstrings and selecting a bitstring having the occurrence counts as the solution.

[0024] In an embodiment, the data storage device further stores computer program instructions operable to cause the processor to: split the selected bitstring into a plurality of bitstrings each associated with an uncrewed vehicle of the plurality of uncrewed vehicles.

[0025] In an embodiment, the time interval is in the range 1 second to 20 minutes.

[0026] BRIEF DESCRIPTION OF THE DRAWINGS

[0027] In the following, embodiments of the present invention will be described as non-limiting examples with reference to the accompanying drawings in which:

[0028] FIG.1A shows an unmanned aerial vehicle path planning workflow according to an embodiment of the present invention;

[0029] FIG.1 B shows a regulator workflow for viewing unmanned aerial vehicle path generated according to an embodiment of the present invention;

[0030] FIG.2 is a block diagram showing a UAV path planning system according to an embodiment of the present invention;

[0031] FIG.3 is a block diagram showing UAV data used in embodiments of the present invention;

[0032] FIG.4 is a block diagram showing UAV path plan data generated by embodiments of the present invention;

[0033] FIG.5 is a flow chart showing a method of UAV path planning to an embodiment of the present invention; FIG.6 shows an example of the calculation of possible positions for a UAV in an embodiment of the present invention;

[0034] FIG.7A to FIG.70 illustrate the calculation of potential fields used in embodiments of the present invention;

[0035] FIG.8 is a matrix showing an example of a QUBO matrix for a path planning problem with 2 UAVs;

[0036] FIG.9 illustrates an example of determining coefficient values for a QUBO matrix;

[0037] FIG.10 is a flow chart showing a method of extracting UAV commands from a QPU output in an embodiment of the present invention; and

[0038] FIG.11 shows an embodiment of the present invention in which a UAV path is planned and followed in close to real time.

[0039] DETAILED DESCRIPTION

[0040] The present disclosure relates to path planning for uncrewed vehicles. In the example embodiments described below, methods and systems for path planning for unmanned aerial vehicles (UAVs) are described. However, it is envisaged that the methods and systems described may be applied to uncrewed vehicles more generally such as eVTOLs (electric Vertical Takeoff and Landing systems), uncrewed maritime systems, robotic delivery fleets and spacecrafts operating in congested orbits.

[0041] FIG.1 A shows an unmanned aerial vehicle path planning workflow according to an embodiment of the present invention. As shown in FIG.1 , the workflow comprises a UAV path planning system 100. A user 10 inputs UAV information including details of UAVs including starting points and destination points for each of the UAVs into the UAV path planning system 100. The UAV path planning system 100 generates a quantum optimization problem for time steps of a flight path. The quantum optimization problem accounts for all UAVs and obstacles in the airspace. This quantum optimization problem is sent to a quantum processing unit (QPU) 20 which solves the quantum optimization problem and provides the solution to the UAV path planning system 100. The solution is processed by the UAV path planning system 100 into a set of flight controls which correspond to planned path data 30 to be used by the UAVs 40.

[0042] FIG.1 B shows a regulator workflow for viewing unmanned aerial vehicle path generated according to an embodiment of the present invention. The planned path data 30 may be inspected by a regulatory authority 50. Such inspection may comprise the regulatory authority being provided with the user interface 60 which allows all path data to be reviewed in the form of UAV waypoints. This allows plotting of all the paths onto a graphical user interface which allows regulator to evaluate and assess the quality of the solution and any potential breach of safety and security aspect of each of the drone path.

[0043] FIG.2 is block diagram showing a UAV path planning system according to an embodiment of the present invention. The UAV path planning system 100 is a computer system with memory that stores computer program modules which implement methods of UAV path planning according to embodiments of the present invention.

[0044] The UAV path planning system 100 comprises a processor 110, a working memory 112, a network interface 114, a user interface 116, program storage 120, and data storage 140. The processor 110 may be implemented as one or more central processing unit (CPU) and I or graphics processing unit (GPU) chips. The program storage 120 is a non-volatile storage device such as a hard disk drive which stores computer program modules. The data storage 140 is a non-volatile storage device such as a hard disk drive which stores data which is generated and used during execution of the computer program modules. The computer program modules are loaded into the working memory 112 for execution by the processor 110. The network interface 114 is an interface which allows data to be sent and received by the UAV path planning system 100. The user interface 116 allows a user to input data such the origin and destination for UAV paths. The program storage 120 stores a possible path calculation module 122, a potential field calculation module 124, a quadratic unconstrained binary optimization (QUBO) matrix generation module 126, a quantum processing unit (QPU) interface module 128, a control vector extraction module 130, a predicted path generation module 132 and a UAV control module 134. The computer program modules cause the processor 110 to execute various UAV path planning processing which is described in more detail below. The program storage 120 may be referred to in some contexts as computer readable storage media and / or non-transitory computer readable media. As depicted in FIG.2, the computer program modules are distinct modules which perform respective functions implemented by the UAV path planning system 100. It will be appreciated that the boundaries between these modules are exemplary only, and that alternative embodiments may merge modules or impose an alternative decomposition of functionality of modules. For example, the modules discussed herein may be decomposed into sub-modules to be executed as multiple computer processes, and, optionally, on multiple computers. Moreover, alternative embodiments may combine multiple instances of a particular module or sub-module. It will also be appreciated that, while a software implementation of the computer program modules is described herein, these may alternatively be implemented as one or more hardware modules (such as field-programmable gate array(s) or application-specific integrated circuit(s)) comprising circuitry which implements equivalent functionality to that implemented in software.

[0045] Although the UAV path planning system 100 is described with reference to a computer, it should be appreciated that the UAV path planning system 100 may be formed by two or more computers in communication with each other that collaborate to perform a task. For example, but not by way of limitation, an application may be partitioned in such a way as to permit concurrent and / or parallel processing of the instructions of the application. Alternatively, the data processed by the application may be partitioned in such a way as to permit concurrent and / or parallel processing of different portions of a data set by the two or more computers. In an embodiment, virtualization software may be employed by the UAV path planning system 100 to provide the functionality of a number of servers that is not directly bound to the number of computers in the UAV path planning system 100. In an embodiment, the functionality disclosed above may be provided by executing the application and / or applications in a cloud computing environment. Cloud computing may comprise providing computing services via a network connection using dynamically scalable computing resources. A cloud computing environment may be established by an enterprise and / or may be hired on an as-needed basis from a third-party provider.

[0046] The data storage 140 stores UAV data 150 and path plan data 170. The UAV data 150 comprises first UAV data 155, second UAV data 160 and Nth UAV data 165 each corresponding to a UAV of the plurality of UAVs for which paths are planned by the UAV path planning system 100. The content of the UAV data 150 is described in more detail below with reference to FIG.3. The path plan data 170 comprises a first UAV path plan 175, a second UAV path plan 180 and an Nth UAV path plan 185 each corresponding to a UAV of the plurality of UAVs for which paths are planned by the UAV path planning system 100. The path plan data 170 is described in more detail below with reference to FIG.4.

[0047] FIG.3 is a block diagram showing UAV data used in embodiments of the present invention. The UAV data 150 is used by the UAV path planning system 100 to plan paths for UAVs. FIG.3 shows UAV data for a first UAV, a second UAV and an Nth UAV, however, it should be appreciated that the UAV data 150 relates to a plurality of UAVs and the actual number of UAVs is anticipated to vary.

[0048] As shown in FIG.3, the first UAV data 155 comprises first UAV maneuver parameters 156, first UAV current position 157 and first UAV current heading 158. Similarly, the second UAV data 160 comprises second UAV maneuver parameters 161 , second UAV current position 162 and second UAV current heading 163. The Nth UAV data 165 comprises Nth UAV maneuver parameters 166, Nth UAV current position 167 and Nth UAV current heading 168.

[0049] The maneuver parameters indicate the possible maneuver parameters for each UAV in terms of speed and turning rate. For example, if the UAV is a multirotor drone type which can take possible speeds of 10m / s or 15 m / s and a turning rate of -5, 0, or +5 deg / s, then the maneuver parameters will indicate these possible speeds and turning rates. The current position and heading of each UAV indicates the position and heading of the respective UAV. In some embodiments, the UVA data may also indicate the start position and destination of each UAV.

[0050] FIG.4 is a block diagram showing UAV path plan data generated by embodiments of the present invention. The path plan data 170 indicates the planned path for each of the UAVs. As shown in FIG. , the first UAV path plan 175 comprises indications of position and heading 177 and control vectors 178 for the first UAV at a plurality of times 176. Similarly, the second UAV path plan 180 comprises indications of position and heading 182 and control vectors 183 for the second UAV at a plurality of times 181. The Nth UAV path plan 185 comprises indications of position and heading 187 and control vectors 188 for the Nth UAV at a plurality of times 186.

[0051] As shown in FIG.4, the time starts at an initial time to, and then data is calculated for time intervals ti. In FIG.4 it is assumed that there are M time intervals in total. The UAV path planning system 100 calculates paths in an incremental manner in time intervals of ti. It is envisaged that the time intervals may be varied according to the application. The path planning methods provide the solution designer the flexibility to determine the duration of each time-step based on environment of flight arena, drone density, as well as other factors that concern safety and security. For example, in a flight area with dense building clusters, the designer may define short time steps of 1- 30s to maximize the maneuvering to avoid obstacles. In contrast, the time-steps could be lengthened to 5min over water reservoirs since there are no obstacles present and the UAV path planning system 100 only needs to consider other UAVs flying in the area. Further for larger scale environments such as those including journeys between cities, the time intervals may be longer for example 5-20 minutes. Thus, in general, the time interval may be between 1 second and 20 minutes. It may be possible to specify time intervals of shorter or longer durations depending on the nature of the operating environments and the control vectors that can be activated and the desired granularity of the waypoints.

[0052] The position and heading P(t) and H(t) indicate the position and heading of each UAV at the respective time. The control vectors C(t) indicate the controls for the UAV from among the possible maneuver parameters described above. FIG.5 is a flow chart showing a method of UAV path planning to an embodiment of the present invention. The method 500 shown in FIG.5 is carried out by the UAV path planning system 100 shown in FIG.2.

[0053] In step 502, the UAV path planning system 100 receives initial UAV information. Step 502 may comprise a user inputting UAV information corresponding to a plurality of UAVs using the user interface 116. The UAV information comprises an indication of possible maneuver parameters for the UAV, the initial position and heading of the UAV and an indication of the target destination for the UAV. The possible maneuver parameters may comprise indications of possible speed options and possible turning rate options for each UAV.

[0054] Step 502 may comprise the drone pilot (or user) being presented with a graphical user interface with a map of the flight area. The pilot is able to click on the map to first select the start location and then click again to set the end location. This returns the geodetic coordinates (latitudes and longitudes) of the start and end locations to the server running the path planning algorithm. The geodetic coordinates are then converted into Cartesian coordinates. The conversion to Cartesian coordinates may be achieved using functions from the Pyproj library. These Cartesian coordinates are used to generate the paths for the drones.

[0055] In step 504, current UAV information is updated for each UAV. The UAV information is stored for each UAV as UAV data 150. As described above with reference to FIG.3, the UAV data comprises maneuver parameters, current position and current heading data for each UAV. Initially, the current position and current heading are set as the position and heading indicated in the initial UAV information.

[0056] In step 506, the possible path calculation module 122 is executed by the processor 110 of the UAV path planning system 100 to calculate a set of possible positions for each UAV.

[0057] FIG.6 shows an example of the calculation of possible positions for a UAV in an embodiment of the present invention. As shown in FIG.6, a UAV has an initial position 610 and there are three next possible positions: a position 620 in which the UAV turns left, a position 630 in which the UAV continues straight ahead and a position 640 in which the UAV turns right.

[0058] Each of the set of next possible positions is determined by multiplying the speed and turning rate for each maneuver option with the time interval length to estimate the displacement from the current position of the UAV at the end of the time interval. Then the displacement is added to the current position of the UAV to represent a next possible position of the UAV

[0059] Returning now to FIG.5, in step 508 the potential field calculation module 124 is executed by the processor 110 of the UAV path planning system to calculated potential field values for each next possible position for each UAV.

[0060] FIG.7A to FIG.7C illustrate the calculation of potential fields used in embodiments of the present invention.

[0061] The potential field values are calculated to find the minimal potential path to goal point for each UAV at each possible next time interval position. The potential field is made up of two components: an attractive field which has minimum at the goal point or target destination and a repulsive field which causes the UAV paths to avoid obstacles such as buildings.

[0062] FIG.7A shows an attractive potential field. As shown in FIG.7A, the attractive potential field 710 has a maximum value at a start point 712 which represents the current position of the UAV at the beginning of the current time interval. The attractive potential field has a minimum at the goal 714 which represents the target destination of the UAV.

[0063] FIG.7B shows a repulsive field. As shown in FIG.7B, the repulsive field 720 has high values 722 which represent obstacles and in the path planning processing, the high values 722 drive the UAV away from obstacles.

[0064] FIG.7C shows the combined field. The combined field is calculated by adding the attractive field 710 shown in FIG.7A to the repulsive field 720 shown in FIG.7B. As shown in FIG.70, the combined field 730 has a maximum value at the start point 712 and a minimum value at the goal 714. In addition, the combined field also has peaks 732 which correspond to the obstacles represented by the repulsive field 720.

[0065] The potential field value for each next possible position is then calculated for each UAV.

[0066] Returning again to FIG.5, in step 510, the QUBO matrix generation module 126 is executed by the processor 110 of the UAV path planning system 100 to generate a quadratic unconstrained binary optimization (QUBO) matrix. The QUBO matrix is generated using the potential values computed for each combination of control vectors for each UAV as coefficients.

[0067] The control input vectors take the form of possible maneuver parameters of the drone in terms of speed and turning rate and is the output of the QPU. These control vectors are discrete parameters that take fixed values that will be selected by the optimization algorithm during the solving process. For example, a multirotor drone type can take possible speed of 10m / s or 15 m / s and a turning rate of -5, 0, or +5 deg / s. The control vector for this drone will be a list of 5 binary bits in the form of Drone_control_input = {0,0, 0,0,0} where each binary bit, from left to right, represents the speed 10m / s, 15m / s, turning rate of -5 deg / s, 0 deg / s and +5 deg / s, where positive angles denote left turns and negative angles denote right turns. When using binary control vectors, it is important to note the following properties:

[0068] 1 . Each binary bit can only take on a value of 0 or 1 . Each bit encodes a possible value of control vector (speed or turning rate) that can be taken by a drone.

[0069] 2. Increasing the number of control vectors that are used for each drone results in more binary bits required. Using more binary bits further results in more qubits being used by a QPU.

[0070] 3. The output binary bit string serves to inform which control vectors have been chosen to be activated (T represents chosen for the drone at the particular time-step while ‘0’ represents not chosen). a. In the example above, if the solution output for a drone reads {1 ,0, 1 ,0,0}, the decoded action or control vector to be taken by the drone will be to move at 10m / s and turn at a turning rate of -5 deg / s. Similarly, if the solution output is {0, 1 , 0, 1 , 0}, the decoded control vector is to move at 15m / s while using a turning rate of 0 deg / s.

[0071] 4. Thus, it is able to represent different combination of control input values for different drone as long as a library is made available to align these parameters. These combinations can be concatenated into a long vector for solving in the solution. For example, a. Drone model A has possible speed of 10m / s and 15m / s, and turning rate of -5, 0 or 5 deg / s i. Control vector output of {1 ,0, 1 ,0,0} for drone model A will be 10m / s at -5deg / s b. Drone model B has possible speed of 5m / s and 10m / s and turning rate of -10,0,10 deg / s i. Control vector output of the same {1 ,0,1 , 0,0} for drone model B will be 5m / s at -10deg / s instead.

[0072] It should be noted that the control vectors are split into a speed control group and turning-rate control group. One and only one bit in each of these control groups can take a value of 1 at any point in time. This will be further explained below. The control vectors may be extended with other control groups if the drone model is capable of additional degree of control beyond speed and turning rate e g. altitude ascend / descend rate.

[0073] After having each possible combination of control vectors per drone, the next step is to generate a potential field to “guide” the drones to move towards the end location. This is achieved by creating and combining 2 different potential fields.

[0074] 1 . Attractive potential field - An exponentially decreasing potential field towards the goal position for each drone where the goal position will denote the global minimum potential value. 2. Repulsive potential field - A region of high potential values that repels drones away from obstacles such as buildings, other drones in the vicinity, No-Fly Zones etc.

[0075] At each time iteration, all the possible next positions of every drone will be computed and fed into the QUBO matrix to be solved to find the next minimum potential value positions. By finding the minimum potential path, obstacles will be avoided effectively while navigating the drone towards its intended end location.

[0076] In the testing phase of the solution, local minima can be encountered which cause the drones to be unable to move further. This can be due to complex shaped obstacles (buildings) and very narrow corridors in between buildings. A workaround devised for this is to aggregate closely spaced (<25m) buildings together into a larger building. In addition, sharp corners of buildings are smoothened with rounder corners.

[0077] QUBO Formulation

[0078] Quadratic unconstrained Binary Optimization (QUBO) formulation is a very important process in this invention as this is passed into quantum computers to be solved. The QUBO problem is to find the minimum value of a cost function, C(x), where:

[0079] C(x) = xTQx

[0080] In this equation, Q is the input QUBO matrix and x is the solution vector or binary control vector to be found. The binary solution vector x is a column vector where all elements take on the value of either 1 or 0 takes the form:

[0081] Where a 1 represents a command being activated and 0 represents a command not being activated. In the example case of Drone A (mentioned above), the variables represent the following controls:

[0082] Thus, activating the controls for a speed of 15 m / s and turning rate of -5 deg / s is associated with the binary control vector:

[0083] The QUBO matrix Q for the drone with 5 control vectors takes the form:

[0084] The coefficients of this takes the value of the computed potential field value at the next possible position of Drone A when the combination of control vector is selected. For example, if activating the controls for a speed of 15 m / s and turning rate of -5 deg / s results in a calculated potential field value of 20, the coefficient for x2x3in the matrix Q will be set to 20. It should be noted that the matrix is symmetric.

[0085] If more drones are to be controlled, matrix Q is extended diagonally. FIG.8 is a matrix showing an example of a QUBO matrix for a path planning problem with 2 UAVs. As shown in the matrix of FIG.8, each set of coefficients is associated with a UAV’s identifier - in the case of FIG.8, this is Drone A and Drone B.

[0086] As previously mentioned, solving the QUBO problem involves minimizing a given cost function. This cost function is calculated through the use of potential fields that simultaneously leads the drones towards their end locations and prevents them from colliding with obstacles in the environment. These potential fields serve as a “map” and are unique to each drone. The potential field value of each drone is calculated from its expected position at the next time-step when carrying out a valid command.

[0087] FIG.9 illustrates an example of determining coefficient values for a QUBO matrix. As shown in FIG.9, a UAV in a current position 910 has three possible next positions: a position 920 in which the UAV turns left, a position 930 in which the UAV continues straight ahead and a position 940 in which the UAV turns right. These possible positions have respective potential field values associated with them.

[0088] As described above with reference to FIG.7A to FIG.7C, each potential field is made up of two components: (1 ) an attractive potential field that slopes down from the drone’s start location to the end location, and (2) a repulsive potential field that are localized peaks at locations of obstacles.

[0089] The attractive potential field may be calculated using the following formula:

[0090] Where aAttractionand / 3 are constants that need to be set. As implied by the formula, the attractive potential reduces in value the closer it is to the goal, which is the end location. Given that QUBO problem is one where the cost function is minimized, a drone will follow the descending potential field towards its end location.

[0091] To prevent drones from colliding into obstacles or flying into No-Fly Zones (NFZs), localized peaks in the potential field can be used to direct drones away from buildings, other drones, and aircraft operating in the area to be managed, or local patches of inclement weather. In the case of buildings, NFZs, and areas of localized inclement weather, the coordinates of the area to be avoided are taken in as a kml file that includes the longitudes and latitudes of points used to define a polygon around the building. These geodetic coordinates are converted into Cartesian coordinates. In the case of other drones or other aircraft flying in the area, their locations are treated as points on the map and taken into consideration when generating the repulsive potential field.

[0092] As previously mentioned, the possible locations of each drone at the next time-step are found first. At each of these locations, the closest obstacle point is found. This point is then used to calculate the repulsive potential field value using the formula:

[0093] Where aRcpub:Lonand y are constants that need to be set and the influence range is a predefined distance at which the presence of an obstacle starts having an effect on a drone’s potential field calculations.

[0094] The final potential field value is calculated by combining the repulsive and attractive potential field functions:

[0095] ^Overall ^Repulsion T PAttraction

[0096] Given that constraints cannot be included in QUBO problems, there will also be penalty constants included in matrix Q, also referred to as exclusivity constants. This prevents the quantum optimizer algorithm from choosing conflicting or invalid commands, e.g., commands telling the drone to turn at a rate of 5 deg / s and -5 deg / s at the same time, not giving a speed command, etc. When carrying out the optimization process, selecting invalid commands will result in a very high cost function value, thereby driving the quantum solver away from choosing solutions that violate these constraints.

[0097] Given that for Drone A, [xltx2] contains commands pertaining to its speed (speed control group) and [x3,x4,x5] contains commands pertaining to its turning rate (turning-rate control group), the binary control vector x must contain one and only one ‘1 ’ in the speed control group, as well as one and only one ‘1 ’ in the turning-rate control group. E.g., xT- [0,1,1, 0,0] is a valid solution vector but xT- [0, 0, 1, 1, 0] is not.

[0098] A weighted minimizer is used to implement the exclusivity constants. To maintain exclusivity for the speed control group for Drone A, the following minimizer is used:

[0099] Where n is the number of drones to be accounted for in the planning process and k is a mutual exclusivity constant that must be determined. To maintain exclusivity for the turning-rate control group for Drone A, the following minimiser is used:

[0100] For the case where path planning is only carried out for Drone A, the final QUBO matrix Q therefore takes the following form:

[0101] There are several ways of determining the value of k, with one of the most effective ways being setting k - max max Qt: i.e., the biggest coefficient value of the QUBO i j matrix. In an embodiment, the exclusivity constant is modified for each drone to take the largest coefficient value of the QUBO matrix and multiplying it by a constant value.

[0102] Returning again to FIG.5, in step 512 the QPU interface module 128 is executed by the processor 110 of the UAV path planning system 100 to submit the QUBO matrix to the quantum processing unit (QPU). The QPU then processes the QUBO to find the minimum combined potential field value for all UAVs. The QPU will provide an output which includes sample counts for different bitstrings. Generally, the optimal solution will be the bitstring with the highest sample count.

[0103] In step 514, the QPU interface module 128 receives the output from the QPU. For example, communication between the UAV path planning systems 100 may take place over a network and therefore communications with the QPU may take place using the network interface 114 of the path planning system 100.

[0104] In step 516, the control vector extraction module 130 is executed by the processor 110 of the UAV path planning system 100 to extract control vectors from the QPU output.

[0105] The QPU will generate a dictionary associating each observed output bitstring with the number of times each bitstring was observed. From this dictionary, the most frequently observed bitstring is chosen to be the optimum bitstring found by QPU. This bitstring is first split into smaller bitstrings associated with each drone to be managed. The Ts in each of these smaller bitstrings are then decoded into velocity controls that can be used by a drone.

[0106] FIG.10 is a flow chart showing a method of extracting UAV commands from a QPU output in an embodiment of the present invention. The method 1000 shown in FIG.10 may be carried out as step 516 of the method 500 shown in FIG.5.

[0107] In step 1002, sample counts are obtained from the QPU. In step 1004, the bitstring with the highest sample count is selected for further processing. In step 1006, the selected bitstring is split into bitstrings for individual drones. In step 1008, the bitstrings for individual drones are decoded to provide a set of commands for each drone in the current time interval. In the example shown in FIG.10, each drone has a total of 5 control inputs that can be selected. Therefore, the output from the QPU is a bitstring with length 10 bits since it corresponds to control inputs for two drones. This output bitstring is split into two bitstrings that are 5 bits long.

[0108] Following step 516, in some embodiments, in step 518 the UAV control module 134 is executed by the processor 110 of the UAV path planning system 100 and the extracted commands are sent to the respective UAVs. It is noted that in some embodiments, complete path plans are calculated and then the planned paths are send to the respective UVAs, however, in other embodiments the paths for the UAVs are sent to the UAVs in real-time or near real-time.

[0109] In step 520, the predicted path update module is executed by the processor 110 of the UAV path planning system 100 to calculate updated UAV positions at the start of the next time interval and these are saved as waypoints by updating the path plan data 170 stored in the data storage 140. The UAV data 150 stored in the data storage 1 0 is also updated with the current position and heading of the UAVs. Then if the UAVs have not yet reached their destinations, the method returns to step 504 and the subsequent steps are repeated for the next time interval. The method repeats for each subsequent time interval until all the paths for the UAVs reach their destinations.

[0110] It is envisaged that the method may be implemented as follows. Drone users will be first be able to choose and define the flight capabilities of their drone. This includes the maximum and minimum forward velocities, turning rates, the number of control vectors to be used, and a drone ID. The users will then choose their desired start and end positions of their drones on a map. Fixed position obstacles, such as buildings and NFZs will already be highlighted on the map and points within these restricted zones cannot be selected as start and destination points.

[0111] Once a user has completed their inputs, it is combined with the requirements of other users and turned into a QUBO problem as described above. This QUBO problem is then submitted to the chosen QPU and decoded to output the control commands to be applied on each drone. The commands are also used to predict the drone’s position at the beginning of the next time-step and the subsequent QUBO problem is formulated using this location. This cycle of reformulation and generation of control commands is repeated until either a predetermined number of time-steps have been calculated or all drones reach their destinations. When this has been done, the predicted positions of the drones can then be displayed on the map to the drone user, together with a list of velocity commands to be sent to the drone.

[0112] Similarly, if a regulator wants to inspect the routes taken by all or one of the drones in the managed airspace, the paths can be displayed to ensure drones do not fly into any restricted zones. The individual predicted positions of the drones can also be shown together with its associated time-step.

[0113] An iterative approach to the drone path planning problem creates many possibilities in flexibility of flight path alterations while the drone is in mid-flight. Combined with the potential field calculation, the environment and flight path can be optimized dynamically as the potential field can take into account changes due to sudden events (NFZ, obstacle, rogue drone intrusion, bad weather etc.) which will alter the optimal next control vector to be taken by each drone in the solution for the new time step.

[0114] It is important to mention that this invention provides the solution designer the flexibility to determine the duration of each time-step based on environment of flight arena, drone density, as well as other factors that concern safety and security. For example, in a flight area with dense building clusters, the designer may define short time steps of 30s to maximize the maneuvering to avoid obstacles. In contrast, the time-steps could be lengthened to 5m in over water reservoirs since there are no obstacles present and the UTM system only needs to consider other drones flying in the area.

[0115] In addition, there is higher customisability of taking different drone’s capabilities into consideration when computing the optimal flight control for each drone. This flexibility is due to the fact that the drone control vector can represent different value for different model / class of drone and a library can be created to allow user to choose the control vectors that is apt for their drone model and the solution will compute the optimal path based on the possible flight mechanics of each drone model. For example, a fixed wing drone can be given speed controls ranging from 10 m / s to 30 m / s and have a limited turning rate of up to 5 deg / s while a multi-rotor drone (quadcopters, hexacopters, etc.) can have speed controls ranging from 0 m / s to 15 m / s and have a turning rate of up to 15 deg / s.

[0116] Two possible implementations are envisaged. Firstly, the solution described can be used as a means to find flight paths before a flight occurs. This means that a drone operator must input their flight requirements a few days or hours before flying their drone. This method of implementation will give regulators time to inspect proposed paths for safety and approve all drone flights before they can take-off. Smaller time- steps can also be used allowing for more fine-grain control over the drone as more computational time can be taken. However, this method does not allow for flexibility in drone paths once they are set. For example, if a section of airspace is suddenly declared a no-fly zone, a separate system may have to be used to manage flights with planned trajectories over the NFZ.

[0117] Alternatively, the solution can be used to plan drone paths in close to real time. This would be done by only finding subsequent waypoints only a few time-steps in advance.

[0118] FIG.11 shows an embodiment of the present invention in which a UAV path is planned and followed in close to real time.

[0119] As shown in FIG.11 , a UAV 1110 follows a path comprising a first planned waypoint 1120 and a second planned waypoint 1122. The third waypoint is currently being calculated from among three possible positions 1130.

[0120] The scenario shown in FIG.11 gives more flexibility in the drone paths but may require time-steps to be lengthened to allow the QPU enough time to find the optimal path for each drone. Regulators will also have less oversight over the drones’ routes.

[0121] Regardless of the method of implementation, the choice of QPU must also be considered when deploying the final solution. Different QPU providers require the use of different programming libraries to access their QPUs and custom programs will have to be used to submit QUBO problems to these different providers. Another factor that may have to be considered is the overall time needed to return a solution after the QUBO problem has been submitted. This includes the time taken queuing for the QPU.

[0122] Whilst the foregoing description has described exemplary embodiments, it will be understood by those skilled in the art that many variations of the embodiments can be made within the scope and spirit of the present invention.

Claims

CLAIMS1 . An uncrewed vehicle route planning method, the method comprising: for each of a plurality of uncrewed vehicles, calculating a set of possible positions for a time interval using respective current position data, current heading data and maneuver parameters for each respective uncrewed vehicle of the plurality of uncrewed vehicles; calculating a set of potential field values comprising a potential field value for each of position of the set possible positions for each respective uncrewed vehicle of the plurality of uncrewed vehicles, generating a quadratic unconstrained binary optimization matrix with coefficients calculated from the set of potential field values; inputting the quadratic unconstrained binary optimization matrix into a quantum processing system; receiving a solution to the quadratic unconstrained binary optimization matrix from the quantum processing system; determining a set of control commands for the plurality of uncrewed vehicles from the solution to the quadratic unconstrained binary optimization matrix; and determining updated positions and headings for each uncrewed vehicle of the plurality of uncrewed vehicles from the set of control commands.

2. The method according to claim 1 . further comprising successively repeating the method with the updated positions and headings to generate a route plan for each uncrewed vehicle of the plurality of uncrewed vehicles.

3. The method according to claim 1 , further comprising sending control commands of the set of control commands to respective uncrewed vehicles the plurality of uncrewed vehicles.

4. The method according to any preceding claim, wherein each potential field of the set of potential fields is generated as the sum of an attractive field and a repulsive field, wherein the attractive field directs a respective uncrewed vehicle towards a destination and the repulsive potential field directs the respective uncrewed vehicle away from at least one obstacle.

5. The method according to any preceding claim, wherein the generating a quadratic unconstrained binary optimization matrix comprises including penalty factors corresponding to impossible combinations of maneuver commands for respective uncrewed vehicles.

6. The method according to any preceding claim, wherein receiving solution to the quadratic unconstrained binary optimization matrix from the quantum processing system comprises receiving occurrence counts for a plurality of bitstrings and selecting a bitstring having the occurrence counts as the solution.

7. The method according to claim 6, further comprising splitting the selected bitstring into a plurality of bitstrings each associated with an uncrewed vehicle of the plurality of uncrewed vehicles.

8. The method according to any preceding claim, wherein the time interval is in the range 1 second to 20 minutes.

9. A computer readable medium carrying processor executable instructions which when executed on a processor cause the processor to carry out a method according to any one of claim 1 to 8.

10. A system far planning paths for uncrewed vehicles, the system comprising: a processor and a data storage device storing computer program instructions operable to cause the processor to: for each of a plurality of uncrewed vehicles, calculate a set of possible positions for a time interval using respective current position data, current heading data and maneuver parameters for each respective uncrewed vehicle of the plurality of uncrewed vehicles; calculate a set of potential field values comprising a potential field value for each of position of the set possible positions for each respective uncrewed vehicle of the plurality of uncrewed vehicles; generate a quadratic unconstrained binary optimization matrix with coefficients calculated from the set of potential field values;input the quadratic unconstrained binary optimization matrix into a quantum processing system; receive a soiution to the quadratic unconstrained binary optimization matrix from the quantum processing system; determine a set of control commands for the plurality of uncrewed vehicles from the solution to the quadratic unconstrained binary optimization matrix; and determine updated positions and headings for each uncrewed vehicle of the plurality of uncrewed vehicles from the set of control commands.

11. The system according to claim 10, wherein the data storage device further stores computer program instructions operable to cause the processor to: successively determine updated positions and headings to generate a route plan for each uncrewed vehicle of the plurality of uncrewed vehicles.

12. The system according to claim 10, wherein the data storage device further stores computer program instructions operable to cause the processor to: send control commands of the set of control commands to respective uncrewed vehicles the plurality of unerewed vehicles.

13. The system according to any one of claims 10 to 12, wherein each potential field of the set of potential fields is generated as the sum of an attractive field and a repulsive field, wherein the attractive field directs a respective uncrewed vehicle towards a destination and the repulsive potential field directs the respective uncrewed vehicle away from at least one obstacle.

14. The system according to any one of claims 10 to 13, wherein the data storage device further stores computer program instructions operable to cause the processor to: generate a quadratic unconstrained binary optimization matrix by including penalty factors corresponding to impossible combinations of maneuver commands for respective uncrewed vehicles.

15. The system according to any one of claims 10 to 14, wherein the data storage device further stores computer program instructions operable to cause the processor to: receive a solution to the quadratic unconstrained binary optimization matrix fromthe quantum processing system by receiving occurrence counts for a plurality of bitstrings and selecting a bitstring having the occurrence counts as the solution.

16. The system according to any one of ciaims 10 to 15. wherein the data storage device further stores computer program instructions operable to cause the processor to: split the selected bitstring into a plurality of bitstrings each associated with an uncrewed vehicle of the plurality of uncrewed vehicles.

17. The system according to any one of claims 10 to 16, wherein the time interval is in the range 1 second to 20 minutes.