Method and device for carrying out conflict detection on aircraft, and electronic equipment
By acquiring flight data from aircraft, calculating distances and time intervals, constructing conflict ranges, and performing cluster analysis, the problem of conflict detection for low-altitude aircraft was solved, enabling the orderly management and safe operation of low-altitude aircraft.
Patent Information
- Application Number
- CN202511331439.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-17
- Publication Date
- 2026-02-13
Smart Images

Figure CN121528050A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of low-altitude flight management, in particular to a method and device for conflict detection of aircraft, electronic equipment and non-transitory computer readable storage medium. BACKGROUND
[0002] At present, the management and service level of low-altitude is still in the information stage, and the development process of digitization, intelligentization, automation, autonomy and self-evolution has just begun. Low-altitude airspace contains broad application and prospect. With the booming development of low-altitude economy mainly based on consumer-grade unmanned aerial vehicles, industrial-grade unmanned aerial vehicles, urban air traffic, navigable helicopters and other industries, new challenges are put forward for the traffic management and planning of low-altitude airspace.
[0003] Therefore, it is necessary to provide a unified management technical solution for low-altitude aircraft to ensure the safe operation of low-altitude aircraft. SUMMARY
[0004] The present application provides a method and device for conflict detection of aircraft, electronic equipment and non-transitory computer readable storage medium to solve the problem of conflict detection of low-altitude aircraft in the prior art.
[0005] According to an aspect of the present application, a method for conflict detection of aircraft is provided, applied to a control center, comprising:
[0006] obtaining flight data of a plurality of aircraft;
[0007] calculating the distance interval of any two aircraft in the plurality of aircraft at any time point and the time interval of any two aircraft at any space point within a preset time period;
[0008] when the distance interval is less than a preset distance interval threshold and the time interval is less than a preset time interval threshold, constructing a conflict range of the any two aircraft;
[0009] performing cluster analysis on the plurality of aircraft using the conflict range to divide the aircraft with conflict into the same cluster.
[0010] According to some embodiments, the flight data includes position information, preset trajectory parameters and flight parameters.
[0011] According to some embodiments, calculating the distance interval of any two aircraft in the plurality of aircraft at any time point and the time interval of any two aircraft at any space point within a preset time period comprises:
[0012] Based on the position information of any two aircraft, and using preset trajectory parameters, the distance interval between any two aircraft at any point in time is calculated within a preset time period.
[0013] The time interval between any two aircraft at any point in space is calculated based on the flight parameters and the distance interval.
[0014] According to some embodiments, the conflict range is represented using a conflict diagram. When the distance interval is less than a preset distance interval threshold and the time interval is less than a preset time interval threshold, the conflict range between any two aircraft is constructed, including:
[0015] When the distance interval is less than a preset distance interval threshold and the time interval is less than a preset time interval threshold, a separating edge is added between any two aircraft to generate the conflict diagram.
[0016] According to some embodiments, the conflict graph is represented by an adjacency matrix or an adjacency list.
[0017] According to some embodiments, cluster analysis is performed on the multiple aircraft using the conflict range to group conflicting aircraft into the same cluster, including:
[0018] Starting from any node in the conflict graph, traverse the other nodes to mark the other nodes connected to the starting node as the same cluster;
[0019] The traversal process is repeated for each node in the conflict graph until all nodes in the conflict graph have been processed.
[0020] According to some embodiments, starting from any node in the conflict graph as a starting node, traversing other nodes to mark other nodes connected to the starting node as belonging to the same cluster includes:
[0021] Starting from any node in the conflict graph, other nodes are traversed using either a depth-first search or a breadth-first search method to mark other nodes connected to the starting node as belonging to the same cluster.
[0022] According to some embodiments, the distance interval is calculated using the following formula:
[0023]
[0024] in, Let be the three-dimensional spatial position of spacecraft A at time i. Let be the three-dimensional spatial position of spacecraft B at time j.
[0025] According to some embodiments, the time interval is calculated using the following formula:
[0026]
[0027] wherein, is the time of aircraft A passing through a preset flight trajectory point at flight time i, is the time of aircraft B passing through the same flight trajectory point as aircraft A at flight time j.
[0028] According to an aspect of the present application, a device for conflict detection of aircraft is provided, which is installed in a control center, and the device comprises:
[0029] a flight data acquisition unit, configured to acquire flight data of a plurality of aircrafts;
[0030] an interval calculation unit, configured to calculate distance intervals of any two aircrafts of the plurality of aircrafts at any time point and time intervals of the any two aircrafts at any space point within a preset time period;
[0031] a conflict range construction unit, configured to construct a conflict range of the any two aircrafts when the distance interval is less than a preset distance interval threshold and the time interval is less than a preset time interval threshold;
[0032] a cluster analysis unit, configured to perform cluster analysis on the plurality of aircrafts by using the conflict range, so as to divide the aircrafts with conflicts into a same cluster.
[0033] According to an aspect of the present application, an electronic device is provided, which comprises a processor, a memory configured to store a computer program, and when the computer program is executed by the processor, the processor implements the method according to any one of the preceding embodiments.
[0034] According to an aspect of the present application, a non-transitory computer readable storage medium is provided, which stores computer readable instructions, and when the instructions are executed by a processor, the processor performs the method according to any one of the preceding embodiments.
[0035] According to the example embodiments of the present application, a control center is used to construct a conflict range of any two aircrafts according to a preset time interval threshold and a distance interval threshold, so as to divide the aircrafts with conflicts into a same cluster, thereby providing a data basis for subsequent conflict resolution. BRIEF DESCRIPTION OF DRAWINGS
[0036] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced as follows.
[0037] Figure 1A system architecture diagram of conflict detection for aircrafts is shown in accordance with an example embodiment of the present application.
[0038] Figure 2 A method flow diagram of conflict detection for aircrafts is shown in accordance with an example embodiment of the present application.
[0039] Figure 3 A device block diagram of conflict detection for aircrafts is shown in accordance with an example embodiment of the present application.
[0040] Figure 4 An electronic device is shown in accordance with an example embodiment of the present application. DETAILED DESCRIPTION
[0041] Example embodiments now will be described more fully hereinafter with reference to the accompanying drawings. Example embodiments, however, can be implemented in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of example embodiments to those skilled in the art. Like reference numerals refer to like elements throughout the several views.
[0042] The described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the disclosure. One skilled in the relevant art will recognize, however, that the
[0043] The flow diagrams depicted in the accompanying drawings are merely illustrative examples, not necessarily the complete and exclusive steps of the methods described herein. The illustrated examples can be combined, sub-divided, or otherwise re-arranged, and the order of the steps can be changed, so that the actual implementation can vary from the one shown. For example, some steps can be combined or sub-divided, so that the actual implementation can vary from the one shown.
[0044] The terms "first", "second", "third", etc., in the specification and claims of this application and in the above description of the drawings are used for distinguishing between similar objects and are not necessarily used to describe a particular sequential or chronological order. Also, the terms "comprises", "comprising", "includes", "including", "has", "having", "contains", "containing" or any other similar term are intended to encompass not excluding the presence of other elements or steps. For example, a process, method, system, product, or apparatus that comprises a list of steps or elements is not necessarily limited to the listed steps or elements, but can optionally include additional steps or elements not expressly listed or inherent to such process, method, system, product, or apparatus.
[0045] With the rapid development of low-altitude flight technology, the various applications of low-altitude aircraft in urban environments are also increasing, including logistics, inspection, performance, etc. At the same time, with the increase of urban population, the demand for transportation and transportation is growing. As a new type of transportation tool, low-altitude aircraft needs to operate orderly in urban airspace.
[0046] In order to ensure the orderly flight of unmanned aerial vehicles, it is necessary to detect the conflict of low-altitude aircraft to prevent the flight safety of low-altitude aircraft.
[0047] Figure 1 A system architecture diagram for detecting conflicts of aircraft according to an example embodiment of the present application is shown in FIG. 1. Figure 1 The system shown in FIG. 1 includes a control center 101 and a plurality of low-altitude aircraft 103. The control center 101 obtains flight data from the plurality of low-altitude aircraft 103, and constructs a conflict graph of any two aircraft according to a preset time interval threshold and / or a distance interval threshold, and divides the aircraft with conflicts into the same cluster, thereby providing a data basis for subsequent conflict basis.
[0048] The specific embodiments according to the present application will be described in detail below with reference to the accompanying drawings.
[0049] Figure 2 A method flow chart for detecting conflicts of aircraft according to an example embodiment of the present application is shown in FIG. 2. Figure 2 The method shown in FIG. 2 includes steps S201, S203, S205 and S207. The method for detecting conflicts of aircraft according to an example embodiment of the present application will be described in detail below with reference to Figure 2
[0050] According to an embodiment of the present application, Figure 2 The method shown in FIG. 2 is applied to a control center.
[0051] As shown in the figure, in step S201, flight data of a plurality of aircraft is obtained.
[0052] According to an embodiment of the present application, the flight data includes position information, preset trajectory parameters and flight parameters.
[0053] In a specific embodiment, the position information includes the self-position information of the aircraft. In some embodiments, the self-position information of the aircraft is represented by the position coordinates (x, y, z) of the aircraft in three-dimensional space.
[0054] In another embodiment, the preset trajectory parameters include the 4D track points (including time and three-dimensional space position) of the aircraft along the pre-planned flight plan within a preset time period TT. In some embodiments, the 4D track points are represented by the position coordinates (x i , yi , z i , t i ) represents. Wherein (x i , y i , z i ) represents the three-dimensional space position of the aircraft at time t i , t i is any time between the current time t and t+TT.
[0055] In some other embodiments, the flight parameter is a flight dynamic parameter of the aircraft, including but not limited to speed, heading, acceleration, etc. In specific embodiments, the distance and time interval between any two aircrafts are calculated using the flight parameter.
[0056] In step S203, the distance interval at any time point and the time interval at any space point between any two aircrafts in the plurality of aircrafts within the preset time period are calculated.
[0057] According to the embodiments of the present application, according to the position information of any two aircrafts, the distance interval between any two aircrafts at any time point within the preset time period is calculated using the preset trajectory parameter.
[0058] In some other embodiments, the time interval between any two aircrafts at any space point is calculated according to the flight parameter and the distance interval.
[0059] In specific embodiments, for any two aircrafts in the air, the corresponding distance and time interval within the preset time period TT is calculated according to their position information and waypoint information. Wherein, the calculation method of the distance interval d is shown in formula (1).
[0060]
[0061] Wherein, is the three-dimensional space position of aircraft A at time i, is the three-dimensional space position of aircraft B at time j.
[0062] In some other embodiments, the time interval Δt is obtained by calculating the time difference of the corresponding flight waypoint, as shown in formula (2).
[0063]
[0064] Wherein, is the time when aircraft A passes through the preset flight waypoint at flight time i, is the time when aircraft B passes through the same flight waypoint as aircraft A at flight time j. In some other embodiments, the time interval Δt can be calculated by formula (3).
[0065] At = d / (V A + V B ) (3)
[0066] where V A and V B are the current flight speeds of aircraft A and aircraft B, respectively.
[0067] In step S205, when the distance interval is less than the preset distance interval threshold and the time interval is less than the preset time interval threshold, a conflict range of any two aircrafts is constructed.
[0068] In some embodiments, the conflict range can be represented in various forms, including but not limited to representing the conflict range by a conflict graph. For example, according to embodiments of the present application, when the calculated distance interval is less than the preset distance interval threshold and the calculated time interval is less than the preset time interval threshold, a conflict graph is generated by adding a separation edge between any two aircrafts. In specific embodiments, the conflict graph can be represented by an adjacency matrix or an adjacency list.
[0069] In specific embodiments, the distance interval threshold R and the time interval threshold T are set, and when the distance interval d between two aircrafts is less than R and the time interval At is less than T, it is considered that there is a potential conflict between the two aircrafts, and an edge is added between the two aircrafts in the conflict graph. The above process is repeated, and all aircrafts are compared pairwise to finally form a conflict graph.
[0070] In some embodiments, the conflict graph can be represented by an adjacency matrix or an adjacency list in graph theory to facilitate subsequent processing and analysis.
[0071] In specific embodiments, the adjacency matrix is a commonly used graph representation method. For the conflict graph, the adjacency matrix is a two-dimensional matrix. Assuming that there are n aircrafts in the air, the adjacency matrix A is an n x n matrix, and each element A_ij in the matrix represents the conflict relationship between aircraft i and aircraft j.
[0072] In other embodiments, the conflict graph represented by the adjacency list is composed of an array and a linked list, where each element of the array corresponds to an aircraft, and the linked list stores other aircrafts that have a conflict relationship with the aircraft. For each aircraft i, its adjacency list stores the numbers of all aircrafts j that have a conflict with it, and the adjacency list can be implemented by using data structures such as linked lists and dynamic arrays.
[0073] For example, the adjacency list of aircraft i is {j1, j2, …, j k}, which indicates that aircraft i has a potential conflict with aircraft j1, j2, …, j k .
[0074] In step S207, cluster analysis is performed on multiple aircraft using the conflict range to classify conflicting aircraft into the same cluster.
[0075] Taking a conflict graph as an example, according to an embodiment of this application, step S207 is to perform cluster analysis on the constructed conflict graph to classify the interconnected aircraft nodes in the conflict graph into the same cluster.
[0076] In some embodiments, when performing cluster analysis, any node in the conflict graph is used as the starting node, and other nodes connected to the starting node are traversed to mark the other nodes connected to the starting node as the same cluster; and the traversal process is repeated for each node in the conflict graph until all nodes in the conflict graph have been processed.
[0077] In a specific embodiment, starting from any node in the conflict graph, other nodes are traversed using a depth-first search method or a breadth-first search method to mark other nodes connected to the starting node as belonging to the same cluster.
[0078] For example, starting from any node in the conflict graph, all aircraft nodes connected to the starting node are traversed using depth-first search or breadth-first search, and these aircraft nodes are marked as belonging to the same cluster. This process is repeated until all aircraft nodes have been marked. This results in multiple conflict clusters, where potential conflicts exist between aircraft within each cluster, and aircraft in different clusters satisfy the following conditions: distance interval > preset distance interval threshold R and time interval > preset time interval threshold T. This clustering result ensures that aircraft in different clusters will not interfere with each other during subsequent conflict resolution, thereby improving the efficiency and accuracy of conflict resolution.
[0079] according to Figure 2 The embodiment shown utilizes a control center to construct the conflict range of any two aircraft based on preset time interval thresholds and distance interval thresholds, so as to classify conflicting aircraft into the same cluster, thereby providing a data basis for subsequent conflict resolution.
[0080] The above description primarily focuses on the methodological aspects of the embodiments of this application. Those skilled in the art should readily recognize that, based on the operations or steps described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Those skilled in the art can implement the described functionality in different ways for each specific operation or method, and such implementations should not be considered beyond the scope of this application.
[0081] The apparatus embodiments of this application are described below. For details not described in the apparatus embodiments of this application, please refer to the method embodiments of this application.
[0082] Figure 3 A block diagram of an apparatus for conflict detection of aircrafts is shown according to an example embodiment of the present application, which is configured to perform the method as shown in Figure 3 The apparatus is installed in a control center.
[0083] According to an embodiment of the present application, Figure 3 The apparatus includes a flight data obtaining unit 301, an interval calculating unit 303, a conflict range constructing unit 305 and a clustering analysis unit 307. The flight data obtaining unit 301 is configured to obtain flight data of a plurality of aircrafts. The interval calculating unit 303 is configured to calculate distance interval of any two aircrafts of the plurality of aircrafts at any time point and time interval of any two aircrafts at any space point within a preset time period. The conflict range constructing unit 305 is configured to construct conflict range of the any two aircrafts when the distance interval is less than a preset distance interval threshold or the time interval is less than a preset time interval threshold. The clustering analysis unit 307 is configured to perform clustering analysis on the plurality of aircrafts by using the conflict range, so as to divide the aircrafts with conflict into a same cluster.
[0084] Figure 4 An electronic device according to an example embodiment of the present application is shown. The electronic device 200 according to this embodiment of the present application will be described below with reference to Figure 4 Figure 4 The electronic device 200 shown is merely an example and should not impose any limitation on the functions and usage scope of the embodiments of the present application.
[0085] As shown in Figure 4 The electronic device 200 is in the form of a general computing device. The components of the electronic device 200 can include, but are not limited to, at least one processing unit 210, at least one storage unit 220, a bus 230 connecting different system components (including the storage unit 220 and the processing unit 210), a display unit 240, etc.
[0086] The storage unit stores program codes which can be executed by the processing unit 210, so that the processing unit 210 performs the methods according to various example embodiments of the present application described in the present specification. For example, the processing unit 210 can perform the methods as described above.
[0087] The storage unit 220 can include readable media in the form of volatile storage units, such as random access memory (RAM) 2201 and / or cache memory 2202, and can further include read-only memory (ROM) 2203.
[0088] The storage unit 220 also includes a number of program modules 2205 that are stored in the memory 2204, including but not limited to an operating system, one or more application programs, other program modules, and program data, each of which or a combination of which can include implementation of a network environment.
[0089] The bus 230 can represent one or more of several types of bus structures, including a storage unit bus or bus for storage unit controller, a peripheral bus, a graphics acceleration port, a processing unit bus, or a local bus using any of a variety of bus architectures.
[0090] The electronic device 200 can also communicate with one or more external devices 300 such as a keyboard or pointing device, a Bluetooth device, etc.; other devices that enable a user to interact with the electronic device 200; and / or one or more devices that enable the electronic device 200 to communicate with one or more other computing devices. Such communication can occur via the input / output (I / O) interface 250. Still yet, the electronic device 200 can communicate with one or more networks, such as a local area network (LAN), a wide area network (WAN), and / or the Internet, through a network adapter 260. The network adapter 260 can be communicatively coupled to the other components of the electronic device 200 via the bus 230. It should be appreciated that the network adapter 260 and / or the bus 230 can be implemented using one or more types of communication media, such as IO ports, serial ports, USB ports, wireless I / O ports, and the like.
[0091] Those skilled in the art will readily understand that the example embodiments described herein can be implemented by software and / or by software in combination with the necessary hardware. The technical solutions according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a U disk, a mobile hard disk, etc.) or a network, and includes a number of instructions to enable a computing device (which can be a personal computer, a server, or a network device, etc.) to perform the above-mentioned methods according to the embodiments of the present application.
[0092] The software product can employ any combination of one or more computer readable media. The computer readable media can be a computer readable signal medium or a computer readable storage medium. The computer readable storage medium can, for example, be, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0093] The computer readable storage medium can include a computer-readable medium in a base station or a computer-readable medium that is part of a carrier wave. Such a computer- readable medium can store data that can be used by the device in performing the functions described herein. A computer readable storage medium can be any available medium or
[0094] The program code can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C++ or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).
[0095] The computer readable medium described above can bear one or more programs, which, when executed by the device, cause the computer readable medium to implement the functions described above.
[0096] Those skilled in the art can understand that each module described above can be distributed in the device according to the description of the embodiment, and can also be changed in one or more devices different from the embodiment. The modules of the above embodiment can be combined into one module, or further split into multiple sub-modules.
[0097] According to the embodiment of the present application, a computer program is provided, including computer program or instructions, which can execute the above-described method when executed by a processor.
[0098] The above describes the embodiments of the present application in detail, and the principles and implementation manners of the present application are described by applying specific examples. The above description of the embodiments is only used to help understand the method of the present application and its core idea. Meanwhile, the changes or deformations made by the person skilled in the art according to the idea of the present application, based on the specific implementation manner and application range of the present application, all belong to the protection range of the present application. In summary, the content of the specification should not be understood as the limitation of the present application.
[0099] Those skilled in the art can understand that each module described above can be distributed in the device according to the description of the embodiment, and can also be changed in one or more devices different from the embodiment. The modules of the above embodiment can be combined into one module, or further split into multiple sub-modules.
[0100] The above describes the embodiments of the present application in detail, and the principles and implementation manners of the present application are described by applying specific examples. The above description of the embodiments is only used to help understand the method of the present application and its core idea. Meanwhile, the changes or deformations made by the person skilled in the art according to the idea of the present application, based on the specific implementation manner and application range of the present application, all belong to the protection range of the present application. In summary, the content of the specification should not be understood as the limitation of the present application.
Claims
1. A method for conflict detection of aircrafts, applied to a control center, characterized in that, The method comprises: acquiring flight data of a plurality of aircrafts; calculating distance interval of any two aircrafts in the plurality of aircrafts at any time point and time interval of any space point within a preset time period; constructing a conflict range of the any two aircrafts when the distance interval is less than a preset distance interval threshold and the time interval is less than a preset time interval threshold; performing cluster analysis on the plurality of aircrafts by using the conflict range to divide the aircrafts in conflict into a same cluster.
2. The method of claim 1, wherein, The flight data comprises position information, preset trajectory parameters and flight parameters.
3. The method of claim 2, wherein, The calculating distance interval of any two aircrafts in the plurality of aircrafts at any time point and time interval of any space point within a preset time period comprises: calculating the distance interval of the any two aircrafts at any time point within the preset time period by using the preset trajectory parameters according to the position information of the any two aircrafts; calculating the time interval of any space point of the any two aircrafts according to the flight parameters and the distance interval.
4. The method of claim 1, wherein, The conflict range is represented by a conflict graph, The constructing a conflict range of the any two aircrafts when the distance interval is less than a preset distance interval threshold and the time interval is less than a preset time interval threshold comprises: adding a separation edge between the any two aircrafts to generate the conflict graph when the distance interval is less than a preset distance interval threshold and the time interval is less than a preset time interval threshold.
5. The method according to claim 4, wherein: the conflict graph is represented by an adjacency matrix or an adjacency list.
6. The method of claim 5, wherein, The performing cluster analysis on the plurality of aircrafts by using the conflict range to divide the aircrafts in conflict into a same cluster comprises: taking any node of the conflict graph as a starting node, traversing other nodes to mark other nodes connected with the starting node as a same cluster; repeating the traversing process for each node in the conflict graph until all nodes in the conflict graph are executed.
7. The method of claim 6, wherein, The taking any node of the conflict graph as a starting node, traversing other nodes to mark other nodes connected with the starting node as a same cluster comprises: taking any node of the conflict graph as a starting node, traversing other nodes by using a depth-first search method or a breadth-first search method to mark other nodes connected with the starting node as a same cluster.
8. An apparatus for conflict detection of aircrafts installed at a control center, characterized in that, The device comprises: a flight data acquisition unit configured to acquire flight data of a plurality of aircrafts; an interval calculation unit configured to calculate distance interval of any two aircrafts in the plurality of aircrafts at any time point and time interval of any space point within a preset time period; a conflict range construction unit configured to construct a conflict range of the any two aircrafts when the distance interval is less than a preset distance interval threshold and the time interval is less than a preset time interval threshold; a cluster analysis unit configured to perform cluster analysis on the plurality of aircrafts by using the conflict range to divide the aircrafts in conflict into a same cluster.
9. An electronic device, comprising: comprises: a processor; a memory for storing a computer program; when the computer program is executed by the processor, the processor implements the method of any one of claims 1-7.
10. A non-transitory computer readable storage medium having stored thereon computer readable instructions which, when executed by a processor, cause the processor to perform the method of any one of claims 1-7.