Collision avoidance system, collision avoidance method, collision avoidance server, and computer program
By dividing the Earth's position space into a unit three-dimensional grid and assigning identifiers to each grid, the collision avoidance problem during operation of multiple drones is solved, and an efficient and low-cost collision avoidance effect is achieved.
Patent Information
- Application Number
- JP2023175383
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-10-10
- Publication Date
- 2025-04-22
AI Technical Summary
The prior art requires the installation of high-definition cameras and improve computing processing performance when multiple drones are automatically navigated, resulting in high costs and increased computing load, making it difficult to effectively avoid collisions.
By dividing the Earth's position space into unity three-dimensional grids and assigning unique identifiers to each grid, the drone transmits its coordinate information and velocity vectors to the collision avoidance server when moving. The server determines whether the drone exists in the same or adjacent grid and issues a speed vector change instruction to ensure that the drone avoids potential collisions.
It realizes that while avoiding collisions while not increasing the computing processing load when multiple drones are operated, reducing the cost and complexity of the system.
Smart Images

Figure 2025065879000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a collision avoidance system, a collision avoidance method, a collision avoidance server, and a computer program capable of preventing unmanned aerial vehicles such as drones from colliding with each other due to their movement. [Background technology]
[0002] Conventionally, position information systems using satellites such as GPS have been used in many fields. In particular, with the recent spread of unmanned aerial vehicles such as drones, many efforts have been made to grasp the position information of unmanned aerial vehicles and prevent them from colliding with each other when moving.
[0003] In many cases, the flight route is set based on position information on a map, and the unmanned aerial vehicle automatically navigates the set flight route based on the positioning information of the Global Navigation Satellite System (GNSS).The unmanned aerial vehicle monitors obstacles not included in the map information, such as other unmanned aerial vehicles, using an on-board camera, and automatically navigates while avoiding the obstacles.
[0004] For example, Patent Document 1 discloses a flying device (unmanned aircraft) including a position information acquisition unit that acquires flight position information indicating a flight position, a detection unit that detects obstacles in a predetermined area including on a first flight route, an image acquisition unit that acquires captured images of the obstacles, and a memory unit that stores the flight position information, the captured images, the direction in which the captured images are captured, and the second flight route when flying a second flight route generated based on the flight position information and the captured images in order to avoid the obstacles.
[0005] In addition, Patent Document 2 discloses a traffic management system that generates a spherical space with a predetermined radius as a judgment zone, and judges whether or not a collision will occur depending on the interference state of the judgment zones. In Patent Document 2, since the judgment zone is judged based on the interference state of the judgment zones consisting of spherical spaces, collisions can be reliably avoided even when the flight routes of multiple drones intersect. [Prior art documents] [Patent documents]
[0006] [Patent Document 1] JP 2019-053501 A [Patent Document 2] JP 2022-147583 A Summary of the Invention [Problem to be solved by the invention]
[0007] However, in Patent Document 1, if the number of autonomous unmanned aerial vehicles (drones) increases, it will be necessary to install high-definition cameras to detect other drones in flight as obstacles, which necessitates improved computing processing performance to recognize other drones, resulting in higher costs.
[0008] Furthermore, in Patent Document 2, it is necessary to generate a spherical space with a specified radius as a judgment zone for each moving position of the drone, with the outer edge centered on the spatial position of the drone, and judge interference by doing so. This also increases the computational processing load and causes a decrease in collision avoidance response, which can make avoidance itself difficult. This is problematic.
[0009] The present invention has been made in consideration of the above circumstances, and aims to provide a collision avoidance system, a collision avoidance method, a collision avoidance server, and a computer program that can reliably avoid collisions between unmanned aerial vehicles, even when multiple unmanned aerial vehicles are in operation, without increasing the computational processing load. [Means for solving the problem]
[0010] In order to achieve the above object, the collision avoidance system of the present invention is a collision avoidance system that is composed of a collision avoidance server that stores identifiers associated with each unit three-dimensional grid obtained by dividing a position space on the earth together with information about the position space, and a plurality of unmanned aerial vehicles that are connected to the collision avoidance server so as to be able to perform data communication therewith and are capable of moving within the position space, the unmanned aerial vehicles are equipped with a movement information acquisition means that acquires coordinate information of their current position within the position space and a speed vector of movement, and a movement information transmission means that associates the acquired coordinate information and speed vector with each unmanned aerial vehicle and transmits the coordinate information and speed vector to the collision avoidance server, and the collision avoidance server receives the coordinate information and speed vector of one or more unmanned aerial vehicles, The system is characterized in that it comprises a movement position determination means for determining whether the one unmanned aerial vehicle and one or more of the other unmanned aerial vehicles will be present within a unit three-dimensional grid corresponding to the same or adjacent identifiers after a predetermined time based on the coordinate information and velocity vectors of multiple other unmanned aerial vehicles, and a velocity vector change instruction sending means for sending an instruction to the one unmanned aerial vehicle to change the velocity vector of the one unmanned aerial vehicle to a first velocity vector in a direction away from the unit three-dimensional grid corresponding to the same or adjacent identifiers when the movement position determination means determines that the one unmanned aerial vehicle and one or more of the other unmanned aerial vehicles will be present within a unit three-dimensional grid corresponding to the same or adjacent identifiers after a predetermined time.
[0011] In addition, in the collision avoidance system of the present invention, it is preferable that the velocity vector change instruction transmitting means transmits an instruction to the other unmanned aerial vehicle to change the velocity vector of the other unmanned aerial vehicle to a second velocity vector that is opposite to the first velocity vector in at least one of the latitude, longitude, and altitude directions.
[0012] In addition, in the collision avoidance system of the present invention, it is preferable that the velocity vector change instruction sending means sends an instruction to the one unmanned aerial vehicle and the other unmanned aerial vehicle to change the movement direction to a direction that does not pass through the unit three-dimensional grids corresponding to the adjacent identifiers, without changing the absolute value of the movement speed.
[0013] In addition, the collision avoidance system of the present invention preferably comprises a flight path setting means for the collision avoidance server accepting and storing the setting of a flight path set as the identifier through which the unmanned aerial vehicle passes in chronological order for each unmanned aerial vehicle, a passing judgment means for determining whether the one unmanned aerial vehicle and the other unmanned aerial vehicle have passed through a unit three-dimensional grid other than the unit three-dimensional grid corresponding to the identifier adjacent to each other after a predetermined time, and a path return instruction sending means for sending an instruction to the one unmanned aerial vehicle and the other unmanned aerial vehicle to change the first velocity vector and the second velocity vector to return to the flight path when the passing judgment means determines that the one unmanned aerial vehicle and the other unmanned aerial vehicle have passed through a unit three-dimensional grid other than the unit three-dimensional grid corresponding to the identifier adjacent to each other after a predetermined time.
[0014] Furthermore, it is preferable that the collision avoidance system of the present invention further comprises a coordinate origin receiving means for receiving the setting of an arbitrary coordinate origin, a reference point calculation means for calculating a reference point determined from the number of blocks at which an error converges within a predetermined range when three-dimensional blocks are arranged in the latitude and longitude directions based on the coordinate origin whose setting has been received, an identifier assignment means for assigning a unique identifier to each unit three-dimensional grid that constitutes a three-dimensional block having the calculated reference points as eight vertices, and an information storage means for storing information relating to a positional space including coordinate information of at least the eight vertices in correspondence with the identifier.
[0015] Furthermore, the collision avoidance system according to the present invention includes a reference point calculation means, which divides a meridian passing through the coordinate origin whose setting has been accepted by the user, by the length of one side of a unit three-dimensional grid, and calculates a latitude value between the divided unit three-dimensional grids; a latitude value cumulative error calculation means, which calculates a cumulative error when latitude values between the unit three-dimensional grids are accumulated for one revolution in the meridian direction of a celestial body; a latitude value grid error calculation means, which calculates an error per unit three-dimensional grid based on the calculated cumulative error; a meridian direction grid number specification means, which specifies the number of unit three-dimensional grids included in the meridian direction of one three-dimensional block based on the calculated error per unit three-dimensional grid so that a reference error per three-dimensional block is 1 / 1000 or less of the cumulative error; a reference latitude setting means, which sequentially sets a reference latitude from the coordinate origin for each three-dimensional block determined by the specified number of unit three-dimensional grids; and a latitude value calculation means, which calculates a latitude value for each reference latitude from the coordinate origin whose setting has been accepted by the user, by dividing the latitude value for each reference latitude into unit three-dimensional grids. a longitude value calculation means for dividing the celestial body by the length of one side of the latitudinal grid and calculating longitude values between the unit three-dimensional grids divided for each latitude line; a longitude value cumulative error calculation means for calculating a cumulative error when the longitude values for each latitude line are accumulated around the celestial body in the latitude direction; a longitude value grid error calculation means for calculating an error per unit three-dimensional grid for each latitude line based on the cumulative error calculated for each latitude line; a latitude direction grid number determination means for determining the number of unit three-dimensional grids included in the latitude direction of one three-dimensional block for each latitude line so that a reference error per one three-dimensional block is 1 / 1000 of the cumulative error or less based on the calculated error per unit three-dimensional grid; a reference longitude setting means for sequentially setting a reference longitude for each latitude line for each three-dimensional block determined by the specified number of unit three-dimensional grids; and a reference point determination means for sequentially determining a reference point from the coordinate origin based on the set reference latitude and reference longitude.
[0016] Next, in order to achieve the above object, the collision avoidance method of the present invention is a collision avoidance method that can be executed by a collision avoidance system that includes a collision avoidance server that stores identifiers associated with each unit three-dimensional grid that divides a position space on the earth, together with information about the position space, and a plurality of unmanned aerial vehicles that are connected to the collision avoidance server so as to be able to perform data communication with the collision avoidance server and are capable of moving within the position space, the unmanned aerial vehicles including a first step of acquiring coordinate information of a current position within the position space and a velocity vector of movement, and a second step of associating the acquired coordinate information and velocity vector with each of the unmanned aerial vehicles and transmitting them to the collision avoidance server, and the collision avoidance server transmits the received coordinate information and velocity vector of each of the unmanned aerial vehicles to the collision avoidance server, The method includes a third step of determining whether the one unmanned aerial vehicle and one or more other unmanned aerial vehicles will be present within a unit three-dimensional grid corresponding to the same or adjacent identifiers after a predetermined time based on the coordinate information and velocity vector, and the coordinate information and velocity vectors of one or more other unmanned aerial vehicles; and a fourth step of sending an instruction to the one unmanned aerial vehicle to change the velocity vector of the one unmanned aerial vehicle to a first velocity vector in a direction away from the unit three-dimensional grid corresponding to the same or adjacent identifiers when it is determined that the one unmanned aerial vehicle and one or more other unmanned aerial vehicles will be present within a unit three-dimensional grid corresponding to the same or adjacent identifiers after a predetermined time.
[0017] In addition, in the collision avoidance method of the present invention, it is preferable that, in the fourth step, the collision avoidance server sends an instruction to the other unmanned aerial vehicle to change the velocity vector of the other unmanned aerial vehicle to a second velocity vector that is opposite to the first velocity vector in at least one of the latitude, longitude, and height directions.
[0018] In addition, in the collision avoidance method of the present invention, it is preferable that, in the fourth step, the collision avoidance server sends an instruction to the one unmanned aerial vehicle and the other unmanned aerial vehicle to change the movement direction to a direction that does not pass through unit three-dimensional grids corresponding to adjacent identifiers, without changing the absolute value of the movement speed.
[0019] In addition, the collision avoidance method of the present invention preferably includes a fifth step in which the collision avoidance server accepts and stores the setting of a flight path, which is set as the identifier to be passed through in chronological order for each unmanned aerial vehicle, a sixth step in which the one unmanned aerial vehicle and the other unmanned aerial vehicle have passed through a unit three-dimensional grid other than the unit three-dimensional grid corresponding to the identifier adjacent to each other after a predetermined time, and a seventh step in which, if it is determined in the sixth step that the one unmanned aerial vehicle and the other unmanned aerial vehicle have passed through a unit three-dimensional grid other than the unit three-dimensional grid corresponding to the identifier adjacent to each other after a predetermined time, the seventh step in which the one unmanned aerial vehicle and the other unmanned aerial vehicle send instructions to change the first velocity vector and the second velocity vector to return to the flight path.
[0020] Furthermore, it is preferable that the collision avoidance method of the present invention further includes an eighth step in which the collision avoidance server accepts the setting of an arbitrary coordinate origin, a ninth step in which the collision avoidance server calculates a reference point determined from the number of blocks at which an error converges to a predetermined range when three-dimensional blocks are arranged in the latitude and longitude directions based on the accepted coordinate origin setting, a tenth step in which the collision avoidance server assigns a unique identifier to each unit three-dimensional grid that constitutes a three-dimensional block having the calculated reference points as eight vertices, and an eleventh step in which the collision avoidance server stores information regarding a position space including coordinate information of at least the eight vertices in correspondence with the identifier.
[0021] The collision avoidance method according to the present invention further includes a twelfth step in which the collision avoidance server divides a meridian passing through the coordinate origin whose setting has been accepted in the ninth step by the length of one side of a unit three-dimensional grid, and calculates latitude values between the divided unit three-dimensional grids; a thirteenth step in which the latitude values between the unit three-dimensional grids are accumulated for one revolution in the meridian direction of the celestial body; a fourteenth step in which the collision avoidance server calculates an error per unit three-dimensional grid based on the calculated accumulated error; a fifteenth step in which the number of unit three-dimensional grids included in the meridian direction of one three-dimensional block based on the calculated error per unit three-dimensional grid so that a reference error per three-dimensional block is 1 / 1000 or less of the accumulated error; a sixteenth step in which the collision avoidance server sequentially sets a reference latitude from the coordinate origin for each three-dimensional block determined by the specified number of unit three-dimensional grids; It is preferable that the method further includes a seventeenth step of dividing the line by the length of one side of a unit three-dimensional grid and calculating longitude values between the unit three-dimensional grids divided for each latitude line; an eighteenth step of calculating an accumulated error when the longitude values for each latitude line are accumulated for one revolution in the latitude direction of the celestial body; a nineteenth step of calculating an error per unit three-dimensional grid for each latitude line based on the accumulated error calculated for each latitude line; a twentieth step of specifying, for each latitude line, the number of unit three-dimensional grids included in the latitude direction of one three-dimensional block based on the calculated error per unit three-dimensional grid so that a reference error per one three-dimensional block is 1 / 1000 or less of the accumulated error; a twenty-first step of sequentially setting a reference longitude for each latitude line for each three-dimensional block determined by the specified number of unit three-dimensional grids; and a twenty-second step of sequentially specifying reference points from the coordinate origin based on the set reference latitude and reference longitude.
[0022] Next, in order to achieve the above-mentioned object, the collision avoidance server of the present invention is connected to a plurality of unmanned aerial vehicles capable of moving within a position space on the Earth so as to be able to communicate data with them, and stores identifiers corresponding to each unit three-dimensional grid into which the position space is divided, together with information regarding the position space, in the collision avoidance server, which is characterized in that it is equipped with a movement position determination means for determining whether the single unmanned aerial vehicle and one or more of the other unmanned aerial vehicles will be present in the unit three-dimensional grid corresponding to the same or adjacent identifiers after a predetermined time based on the coordinate information and velocity vector of the single unmanned aerial vehicle and the coordinate information and velocity vector of one or more other unmanned aerial vehicles acquired, and a velocity vector change instruction sending means for sending an instruction to the single unmanned aerial vehicle to change the velocity vector of the single unmanned aerial vehicle to a first velocity vector in a direction away from the unit three-dimensional grid corresponding to the same or adjacent identifiers, when the movement position determination means determines that the single unmanned aerial vehicle and one or more of the other unmanned aerial vehicles will be present in the unit three-dimensional grid corresponding to the same or adjacent identifiers after a predetermined time.
[0023] In addition, it is preferable that the collision avoidance server of the present invention has a speed vector change instruction sending means in which the other unmanned aerial vehicle acquires information regarding the first speed vector changed by the one unmanned aerial vehicle, and transmits an instruction to the other unmanned aerial vehicle to change the speed vector of the other unmanned aerial vehicle to a second speed vector that is opposite to the first speed vector in at least one of the latitude, longitude, and height directions.
[0024] In addition, it is preferable that the collision avoidance server of the present invention has a speed vector change instruction sending means that sends an instruction to the one unmanned aerial vehicle and the other unmanned aerial vehicle to change the movement direction to a direction that does not pass through the unit three-dimensional grids corresponding to the adjacent identifiers, without changing the absolute value of the movement speed.
[0025] In addition, it is preferable that the collision avoidance server of the present invention comprises a flight path setting means for accepting and storing the setting of a flight path set as the identifier through which the unmanned aerial vehicle passes in chronological order for each of the unmanned aerial vehicles, a passing judgment means for determining whether the one unmanned aerial vehicle and the other unmanned aerial vehicles have passed through a unit three-dimensional grid other than the unit three-dimensional grid corresponding to the identifier adjacent to each other after a predetermined time, and a path return instruction sending means for sending an instruction to the one unmanned aerial vehicle and the other unmanned aerial vehicle to change the first velocity vector and the second velocity vector to return to the flight path when the passing judgment means determines that the one unmanned aerial vehicle and the other unmanned aerial vehicle have passed through a unit three-dimensional grid other than the unit three-dimensional grid corresponding to the identifier adjacent to each other after a predetermined time.
[0026] In addition, it is preferable that the collision avoidance server according to the present invention further comprises a coordinate origin receiving means for receiving the setting of an arbitrary coordinate origin, a reference point calculation means for calculating a reference point determined from the number of blocks at which an error converges within a predetermined range when three-dimensional blocks are arranged in the latitude and longitude directions based on the received coordinate origin setting, an identifier assignment means for assigning a unique identifier to each unit three-dimensional grid that constitutes a three-dimensional block having the calculated reference points as eight vertices, and an information storage means for storing information relating to a position space including coordinate information of at least the eight vertices in correspondence with the identifier.
[0027] Furthermore, the collision avoidance server according to the present invention includes a reference point calculation means, a latitude value calculation means for dividing a meridian passing through the coordinate origin whose setting has been accepted by the user, by the length of one side of a unit three-dimensional grid, and calculating a latitude value between the divided unit three-dimensional grids, a latitude value cumulative error calculation means for calculating a cumulative error when latitude values between the unit three-dimensional grids are accumulated for one revolution in the meridian direction of a celestial body, a latitude value grid error calculation means for calculating an error per unit three-dimensional grid based on the calculated cumulative error, a meridian direction grid number specification means for specifying the number of unit three-dimensional grids included in the meridian direction of one three-dimensional block based on the calculated error per unit three-dimensional grid so that a reference error per three-dimensional block is 1 / 1000 or less of the cumulative error, a reference latitude setting means for sequentially setting a reference latitude from the coordinate origin for each three-dimensional block determined by the specified number of unit three-dimensional grids, and a latitude value calculation means for calculating a latitude value between the unit three-dimensional grids for each reference latitude from the coordinate origin whose setting has been accepted by the user. a longitude value calculation means for dividing the celestial body by the length of one side of the latitudinal grid and calculating longitude values between the unit three-dimensional grids divided for each latitude line; a longitude value cumulative error calculation means for calculating a cumulative error when the longitude values for each latitude line are accumulated around the celestial body in the latitude direction; a longitude value grid error calculation means for calculating an error per unit three-dimensional grid for each latitude line based on the cumulative error calculated for each latitude line; a latitude direction grid number determination means for determining the number of unit three-dimensional grids included in the latitude direction of one three-dimensional block for each latitude line so that a reference error per one three-dimensional block is 1 / 1000 of the cumulative error or less based on the calculated error per unit three-dimensional grid; a reference longitude setting means for sequentially setting a reference longitude for each latitude line for each three-dimensional block determined by the specified number of unit three-dimensional grids; and a reference point determination means for sequentially determining a reference point from the coordinate origin based on the set reference latitude and reference longitude.
[0028] Next, in order to achieve the above object, the computer program of the present invention is a computer program that is connected to be able to perform data communication with a plurality of unmanned aerial vehicles capable of moving within a position space on the earth, and that is capable of executing a collision avoidance server that stores identifiers corresponding to each unit three-dimensional grid into which the position space is divided, together with information about the position space, and that causes the collision avoidance server to execute a collision avoidance process based on the acquired coordinate information and velocity vector of one unmanned aerial vehicle and the coordinate information and velocity vector of one or more other unmanned aerial vehicles, ... corresponding to the same or adjacent identifiers after a predetermined time. The present invention is characterized in that the unmanned aerial vehicle has a movement position determination means for determining whether the one unmanned aerial vehicle and one or more of the other unmanned aerial vehicles are present within a unit three-dimensional grid corresponding to the same or adjacent identifiers after a predetermined time, and functions as a velocity vector change instruction sending means for sending an instruction to the one unmanned aerial vehicle to change the velocity vector of the one unmanned aerial vehicle to a first velocity vector in a direction away from the unit three-dimensional grid corresponding to the same or adjacent identifiers when the movement position determination means determines that the one unmanned aerial vehicle and one or more of the other unmanned aerial vehicles are present within a unit three-dimensional grid corresponding to the same or adjacent identifiers after a predetermined time.
[0029] In addition, it is preferable that the computer program of the present invention functions as a means for transmitting an instruction to the other unmanned aerial vehicle to change the velocity vector of the other unmanned aerial vehicle to a second velocity vector that is opposite to the first velocity vector in at least one of the latitude, longitude, and altitude directions.
[0030] In addition, it is preferable that the computer program of the present invention functions as a means for transmitting an instruction to the one unmanned aerial vehicle and the other unmanned aerial vehicle to change the movement direction to a direction that does not pass through the unit three-dimensional grids corresponding to the adjacent identifiers, without changing the absolute value of the movement speed.
[0031] In addition, the computer program of the present invention preferably functions as a collision avoidance server functioning as a flight path setting means for accepting and storing the setting of a flight path set as the identifier through which the unmanned aerial vehicle passes in chronological order for each unmanned aerial vehicle, a passing judgment means for determining whether the one unmanned aerial vehicle and the other unmanned aerial vehicle have passed through a unit three-dimensional grid other than the unit three-dimensional grid corresponding to the identifier adjacent to each other after a predetermined time, and a path return instruction sending means for sending an instruction to the one unmanned aerial vehicle and the other unmanned aerial vehicle to change the first velocity vector and the second velocity vector to return to the flight path when the passing judgment means determines that the one unmanned aerial vehicle and the other unmanned aerial vehicle have passed through a unit three-dimensional grid other than the unit three-dimensional grid corresponding to the identifier adjacent to each other after a predetermined time.
[0032] Furthermore, it is preferable that the computer program of the present invention causes the collision avoidance server to function as a coordinate origin receiving means for receiving the setting of an arbitrary coordinate origin, a reference point calculation means for calculating a reference point determined from the number of blocks at which an error converges within a predetermined range when three-dimensional blocks are arranged in the latitude and longitude directions based on the coordinate origin whose setting has been received, an identifier assignment means for assigning a unique identifier to each unit three-dimensional grid that constitutes a three-dimensional block having the calculated reference points as eight vertices, and an information storage means for storing information relating to a positional space including coordinate information of at least the eight vertices in correspondence with the identifier.
[0033] Further, the computer program according to the present invention provides the reference point calculation means, which includes: latitude value calculation means for dividing a meridian passing through the coordinate origin whose setting has been accepted by the length of one side of a unit three-dimensional grid and calculating a latitude value between the divided unit three-dimensional grids; latitude value cumulative error calculation means for calculating a cumulative error when latitude values between the unit three-dimensional grids are accumulated for one revolution in the meridian direction of a celestial body; latitude value grid error calculation means for calculating an error per unit three-dimensional grid based on the calculated cumulative error; meridian direction grid number specification means for specifying the number of unit three-dimensional grids included in the meridian direction of one three-dimensional block so that a reference error per one three-dimensional block is 1 / 1000 or less of the cumulative error based on the calculated error per unit three-dimensional grid; reference latitude setting means for sequentially setting a reference latitude from the coordinate origin for each one three-dimensional block determined by the specified number of unit three-dimensional grids; It is preferable that the system functions as: a longitude value calculation means for dividing the original grid by the length of one side of the grid and calculating longitude values between the unit three-dimensional grids divided for each latitude line; a longitude value cumulative error calculation means for calculating a cumulative error when the longitude values for each latitude line are accumulated around the celestial body in the latitude direction; a longitude value grid error calculation means for calculating an error per unit three-dimensional grid for each latitude line based on the cumulative error calculated for each latitude line; a latitude direction grid number determination means for determining the number of unit three-dimensional grids included in the latitude direction of one three-dimensional block for each latitude line so that a reference error per one three-dimensional block is 1 / 1000 of the cumulative error or less based on the calculated error per unit three-dimensional grid; a reference longitude setting means for sequentially setting a reference longitude for each latitude line for each three-dimensional block determined by the specified number of unit three-dimensional grids; and a reference point determination means for sequentially determining a reference point from the coordinate origin based on the set reference latitude and reference longitude. Effect of the Invention
[0034] According to the above invention, the possibility of a collision between unmanned aerial vehicles can be easily determined through simple calculations based on the current position and moving speed vector of each unmanned aerial vehicle, and at the same time, collisions between unmanned aerial vehicles can be reliably avoided by controlling the unmanned aerial vehicles not to move within unit three-dimensional blocks corresponding to the same spatial ID or within unit three-dimensional blocks corresponding to adjacent spatial IDs. [Brief description of the drawings]
[0035] [Figure 1] 1 is a block diagram showing a schematic configuration of a collision avoidance system according to an embodiment of the present invention; [Diagram 2] FIG. 2 is a block diagram showing a configuration of a collision avoidance server according to an embodiment of the present invention. [Diagram 3] 1 is a block diagram showing the configuration of an unmanned aerial vehicle according to an embodiment of the present invention. [Figure 4] 1 is a functional block diagram of a collision avoidance system according to an embodiment of the present invention. [Diagram 5] 1 is a conceptual diagram of a unit three-dimensional grid in a collision avoidance system according to an embodiment of the present invention. [Figure 6] FIG. 2 is a functional block diagram for realizing a function of assigning a spatial ID of the collision avoidance server according to the embodiment of the present invention. [Figure 7] 4 is a functional block diagram of a reference point calculation unit of the collision avoidance server according to the embodiment of the present invention. FIG. [Figure 8] 5 is an explanatory diagram of calculation of a latitude value of a collision avoidance server according to an embodiment of the present invention; FIG. [Figure 9] 6 is an explanatory diagram of calculation of a longitude value by a collision avoidance server according to an embodiment of the present invention; FIG. [Figure 10] 10 is an explanatory diagram of a method for identifying a reference point of a collision avoidance server according to an embodiment of the present invention; FIG. [Figure 11] 1 is an exemplary diagram of a three-dimensional block defined by a reference point of a collision avoidance server according to an embodiment of the present invention; [Figure 12] 10 is a flowchart showing a procedure of a reference point identification process of a collision avoidance server according to an embodiment of the present invention. [Figure 13] 10 is a flowchart showing a procedure of a reference point identification process of a collision avoidance server according to an embodiment of the present invention. [Figure 14] 1 is a diagram illustrating the principle of collision avoidance in a collision avoidance system according to an embodiment of the present invention; [Figure 15] 1 is a diagram illustrating the principle of collision avoidance in a collision avoidance system according to an embodiment of the present invention; [Figure 16] 1 is a diagram illustrating the principle of collision avoidance in a collision avoidance system according to an embodiment of the present invention; [Figure 17] 1 is a diagram illustrating the principle of collision avoidance in a collision avoidance system according to an embodiment of the present invention; [Figure 18] 10 is a flowchart showing a collision avoidance processing procedure of a CPU of the collision avoidance server according to the embodiment of the present invention. [Figure 19] 10 is a flowchart showing a route feedback processing procedure of a CPU of a collision avoidance server according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0036] Hereinafter, a collision avoidance system according to an embodiment of the present invention will be specifically described with reference to the drawings. The following embodiments do not limit the invention described in the claims, and it goes without saying that not all combinations of characteristic features described in the embodiments are essential features of the solution.
[0037] In addition, the present invention can be embodied in many different forms, and should not be construed as being limited to the description of the embodiments. The same elements are denoted by the same reference numerals throughout the embodiments.
[0038] In the following embodiments, an information processing device in which a computer program is introduced into a computer system will be described. However, as will be apparent to those skilled in the art, the present invention can be embodied as a computer program that can be executed by a computer. Therefore, the present invention can be embodied as a hardware embodiment, a software embodiment, or an embodiment of a combination of software and hardware, which is a collision avoidance system that can reliably avoid collisions between unmanned aerial vehicles even when multiple unmanned aerial vehicles are operated without increasing the computational processing load. The computer program can be recorded on any computer-readable recording medium, such as a hard disk, a DVD, a CD, an optical storage device, or a magnetic storage device.
[0039] According to an embodiment of the present invention, it is possible to easily determine through simple calculations whether or not there is a possibility of a collision between unmanned aerial vehicles based on the current position and moving speed vector of each unmanned aerial vehicle, and it is also possible to reliably avoid collisions between unmanned aerial vehicles by controlling them not to move within unit three-dimensional blocks associated with the same spatial ID or within unit three-dimensional blocks associated with adjacent spatial IDs.
[0040] FIG. 1 is a block diagram showing a schematic configuration of a collision avoidance system according to an embodiment of the present invention. The collision avoidance system according to this embodiment is composed of a collision avoidance server 1 that stores identifiers associated with each unit three-dimensional grid obtained by dividing a position space on the earth together with information about the position space, and one or more mobile unmanned aerial vehicles 3 that are connected to the collision avoidance server 1 via a network 2 such as the Internet so that data communication can be performed. Here, the "information about the position space" is a broad concept that includes not only the coordinate values (latitude, longitude, height) of the eight vertices of a unit three-dimensional block that forms the position space, but also various information associated with the unit three-dimensional block, such as information that a structure such as a building exists, information that a part of a tree branch exists, and the like. The unmanned aerial vehicle 3 is assumed to be a drone, but is not particularly limited as long as it is a mobile aerial vehicle equipped with a wireless communication function.
[0041] Fig. 2 is a block diagram showing the configuration of the collision avoidance server 1 according to the embodiment of the present invention. As shown in Fig. 2, the collision avoidance server 1 according to the embodiment is composed of at least a CPU (Central Processing Unit) 11, a memory 12, a storage device 13, an I / O interface 14, a video interface 15, a portable disk drive 16, a communication interface 17, and an internal bus 18 connecting the above-mentioned hardware.
[0042] The CPU 11 is connected to each of the hardware parts of the collision avoidance server 1 as described above via an internal bus 18, and controls the operation of each of the hardware parts as described above, and executes various software functions in accordance with a computer program 100 stored in a storage device 13. The memory 12 is composed of a volatile memory such as an SRAM or SDRAM, into which a load module is expanded when the computer program 100 is executed, and which stores temporary data and the like generated when the computer program 100 is executed.
[0043] The storage device 13 is composed of an internal fixed storage device (hard disk), ROM, etc. The computer program 100 stored in the storage device 13 is downloaded by the portable disk drive 16 from a portable recording medium 90, such as a DVD, CD-ROM, USB memory, SD card, etc., on which information such as programs and data is recorded, and is deployed from the storage device 13 to the memory 12 and executed when executed. Of course, the computer program may be downloaded from an external computer connected via the communication interface 17.
[0044] The storage device 13 includes an airborne object information storage unit 131 and an identifier storage unit 132. The airborne object information storage unit 131 stores position coordinates (latitude, longitude, height) and velocity vectors (absolute value of velocity and direction of travel) for each unmanned airborne object 3 received in real time (actually, received at regular intervals) via the communication interface 17. The velocity vectors are preferably stored as three-dimensional spatial information.
[0045] The identifier storage unit 132 stores the coordinate values (latitude, longitude, height) of eight vertices that indicate the position space and information about the position space in association with a space ID, which is an identifier assigned to each unit three-dimensional grid obtained by dividing the position space on the earth. This makes it possible to obtain necessary information without executing a search process using the space ID as key information, and is expected to improve the response of the search process.
[0046] The communication interface 17 is connected to an internal bus 18, and by being connected to an external network 3 such as the Internet, a LAN, or a WAN, it becomes possible to send and receive data with the unmanned aerial vehicle 3, external computers, etc.
[0047] The I / O interface 14 is connected to an input device 21 such as a keyboard, a mouse, etc., and receives data input. The video interface 15 is connected to a display device 22 such as a CRT display, a liquid crystal display, etc.
[0048] Fig. 3 is a block diagram showing the configuration of an unmanned aerial vehicle 3 according to an embodiment of the present invention. In Fig. 3, an unmanned aerial vehicle 3 with four propellers is given as an example, but the present invention is not limited to this, and any unmanned aerial vehicle 3 whose operation can be controlled via wireless communication may be used.
[0049] In addition, for the sake of simplicity, Figure 3 describes a case in which all functions are completed by a single unmanned aerial vehicle 3, but, for example, some of the functions may be performed by an external device, or the functions may be logically configured by utilizing cloud computing technology.
[0050] 3, the control unit 30 of the unmanned aerial vehicle 3 according to this embodiment is composed of a CPU 31, a memory 32, an input / output interface 33, a communication interface 34, and an internal bus 35 that connects the above-mentioned hardware, and receives power supply from a battery 45. The control unit 30 can have one or more processors, such as a programmable processor (e.g., a CPU).
[0051] The memory 32 of the control unit 30 stores logic, code, and / or program instructions that the CPU 31 can execute to perform one or more steps. The memory 32 may include a removable storage medium or an external storage device, such as an SD card or a random access memory (RAM). Various data acquired by the sensor (camera) 41 via the input / output interface 33 may be transmitted to and stored in the memory 32. For example, still image data, video data, etc. captured by the camera 41, etc. are transmitted to the memory 32 or an external memory (not shown) by wireless communication and stored therein.
[0052] The control unit 30 controls the operation of the unmanned aerial vehicle. The control unit 30 controls the operation of the propulsion mechanism (motor 43, etc.) of the unmanned aerial vehicle 3 via the drive control unit 43 in order to adjust the spatial arrangement, speed, and / or acceleration of the unmanned aerial vehicle 3, which has six degrees of freedom (translational motion x, y, and z, and rotational motion θx, θy, and θz). The motor 43 rotates the propeller 42 to generate lift for the unmanned aerial vehicle 3.
[0053] The control unit 30 can communicate with a transmission / reception unit 46 that is configured to be able to transmit and receive data from one or more external devices. In this embodiment, the transmission / reception unit 46 can use one or more wireless communications such as infrared communication, wireless communication, WiFi, and cloud communication.
[0054] In this embodiment, the sensor (camera) 41 refers to an inertial sensor (acceleration sensor, gyro sensor), a GPS sensor, a proximity sensor (for example, a lidar), a vision / image sensor (for example, a camera), or the like.
[0055] The functions of the collision avoidance system having the above-mentioned configuration will be described with reference to the drawings. Fig. 4 is a functional block diagram of the collision avoidance system according to the embodiment of the present invention. As shown in Fig. 4, the unmanned flying object 3 according to the embodiment includes a movement information acquisition unit 301 and a movement information transmission unit 302.
[0056] The movement information acquisition unit 301 acquires coordinate information in a position space of the current location of the unmanned aerial vehicle 3 and a speed vector of the unmanned aerial vehicle 3. Specifically, the three-dimensional position of the unmanned aerial vehicle 3 is acquired at regular time intervals by a GPS sensor included in the sensor (camera) 41. This enables the CPU 31 to calculate the magnitude and direction of the movement speed of the unmanned aerial vehicle 3 as a speed vector.
[0057] The movement information transmission unit 302 associates the acquired coordinate information and speed vector for each unmanned aerial vehicle and transmits them to the collision avoidance server 1. The movement information reception unit 401 of the collision avoidance server 1 receives the coordinate information and speed vector for each unmanned aerial vehicle 3.
[0058] Based on the received coordinate information and velocity vector of one unmanned aerial vehicle 3 and the coordinate information and velocity vector of one or more other unmanned aerial vehicles 3, the movement position determination unit 402 determines whether or not one unmanned aerial vehicle 3 and one or more other unmanned aerial vehicles 3 exist within a unit three-dimensional grid corresponding to the same or adjacent spatial ID after a predetermined time has elapsed.
[0059] Here, the concept of the unit three-dimensional grid in this embodiment will be described. Fig. 5 is a conceptual diagram of a unit three-dimensional grid in the collision avoidance system according to the embodiment of the present invention.
[0060] In Fig. 5, a unit three-dimensional grid is defined as any rectangular parallelepiped composed of eight vertices located on the earth. Specifically, for example, the position and size of the unit three-dimensional grid are specified by any vertex (lat, lng, ht) in the unit three-dimensional grid, the length of a side in the latitude direction δlat, the length of a side in the longitude direction δlng, and the length of a side in the height direction δht. In this embodiment, the length of a side in the latitude direction δlat, the length of a side in the longitude direction δlng, and the length of a side in the height direction δht are each defined as l (m).
[0061] Returning to FIG. 4, when the moving position determination unit 402 determines that the one unmanned aerial vehicle 3 and one or more other unmanned aerial vehicles 3 are present in the unit three-dimensional grid corresponding to the same or adjacent space IDs after a predetermined time, the speed vector change instruction transmission unit 403 transmits an instruction to the one unmanned aerial vehicle 3 to change the speed vector of the one unmanned aerial vehicle 3 to a first speed vector in a direction away from the unit three-dimensional grid corresponding to the same or adjacent space IDs. The one unmanned aerial vehicle 3 that has received the instruction to change to the first speed vector appropriately operates the propulsion mechanism (motor 43, etc.) of the unmanned aerial vehicle 3 via the drive control unit 43 in response to an instruction from the control unit 30, and changes the speed vector to the first speed vector depending on the magnitude of the rotation of the propeller 42, thereby changing the course.
[0062] Conventionally, the computational load was large, as it was necessary to calculate the movement positions of the unmanned aerial vehicles 3 and determine whether their coordinate positions match or whether they exist within a predetermined spherical range centered on each other's current positions. In this embodiment, the computational load is dramatically reduced by determining whether a collision will occur based on whether they exist within a three-dimensional grid corresponding to a space ID, more specifically, whether one unmanned aerial vehicle 3 and one or more other unmanned aerial vehicles 3 exist within unit three-dimensional grids corresponding to the same or adjacent space IDs after a predetermined time has elapsed.
[0063] There are various methods for dividing the positional space on the Earth into unit 3D grids and assigning spatial IDs to them. However, just like unit grids on a plane, spatial errors occur for each unit 3D grid. This is because the vertices of a unit 3D grid are the vertices of a rectangular parallelepiped, while the coordinates in space are coordinates on a sphere.
[0064] Therefore, in this embodiment, by focusing on the scale difference between the unit three-dimensional grid and the space above the sphere, and devising a method to absorb the error within the range of the effective number of digits for each three-dimensional block, which is an aggregate of unit three-dimensional grids, it is possible to divide the position space on the earth without overlapping each other, and to assign a unique identifier (spatial ID) that does not overlap. As a result, it is possible to configure unit three-dimensional grids in the three-dimensional space on the sphere without omissions, overlaps, and errors, and therefore it is possible to assign a unique spatial ID to every position space on the earth.
[0065] Hereinafter, a method for generating a unit three-dimensional grid and a method for assigning a space ID in the collision avoidance server 1 according to the embodiment of the present invention will be described. Fig. 6 is a functional block diagram for realizing the function of assigning a space ID in the collision avoidance server 1 according to the embodiment of the present invention.
[0066] 6, the coordinate origin receiving unit 101 of the collision avoidance server 1 receives the setting of an arbitrary coordinate origin, for example, (latitude 0 degrees, longitude 0 degrees) as the coordinate origin. As long as the coordinate origin is common, in the present invention, the space ID, which is an identifier for identifying a position space, can be made common. Therefore, by standardizing the coordinate origin, it is possible to uniquely specify the space ID including latitude, longitude, and / or altitude.
[0067] Based on the coordinate origin whose setting has been accepted, the reference point calculation unit 102 calculates a reference point determined from the number of blocks at which the error converges within a predetermined range when three-dimensional blocks are arranged in the latitude and longitude directions. Specifically, the reference point is calculated in the following procedure. Fig. 7 is a functional block diagram of the reference point calculation unit 102 of the collision avoidance server 1 according to an embodiment of the present invention.
[0068] 7, a latitude value calculation unit 701 divides a meridian passing through the accepted coordinate origin by the length of one side of a unit three-dimensional grid, and calculates the latitude value between the divided unit three-dimensional grids. Here, a unit three-dimensional grid means a rectangular parallelepiped space having a constant side length l (m), and a latitude value between unit three-dimensional grids means the difference in latitude between the upper side and the lower side of the bottom surface of the unit three-dimensional grid.
[0069] In this embodiment, assuming that the base of the unit three-dimensional grid is a square with 1 (m) sides, the latitude value per 1 (m) is calculated using the rounding function Round(a, b) in (Formula 1). Note that the function Round(a, b) means a function that rounds the value of a to the number of decimal places b.
[0070]
number
[0071] In (Formula 1), R indicates the number of significant digits, in other words, the number of digits of the allowable error, and θ indicates the latitude value per 1 (m) along the meridian. Fig. 8 is an explanatory diagram of the calculation of the latitude value by the collision avoidance server 1 according to the embodiment of the present invention.
[0072] If we assume that the Earth is a sphere, the elevation angle from the center point O of the sphere to any point on the meridian is the latitude value θ. Normally, latitude is measured from the equator (latitude line) LO0 to the latitude line LO i In (Equation 1), the latitude value θ per 1 (m) is calculated assuming that the meridian length of the meridian LA0 is Lp (m).
[0073] Returning to Fig. 7, the latitude value cumulative error calculation unit 702 calculates the cumulative error when the latitude values between unit three-dimensional grids are accumulated for one revolution around the celestial body in the meridian direction. Since the latitude values between unit three-dimensional grids naturally contain errors, the cumulative error is calculated by accumulating the errors for one revolution around the celestial body along the meridian LA0. The cumulative error Elat is calculated as shown in (Equation 2).
[0074]
number
[0075] In formula 2, n θ means the number of unit three-dimensional grids arranged along the meridian, and changes according to the length l of one side of the unit three-dimensional grid. It is an integer value converted by the proviso of (Equation 2).
[0076] The latitude value grid error calculation unit 703 calculates the error Elat(g) per unit three-dimensional grid based on the calculated cumulative error. Specifically, the cumulative error Elat is multiplied by the number n of unit three-dimensional grids arranged along the meridian. θ This can be obtained by dividing by (Equation 3).
[0077]
number
[0078] Based on the calculated error Elat(g) per unit three-dimensional grid, the meridian direction grid number determination unit 704 determines whether the reference error per block is within the range of the significant digits of the cumulative error, for example, 1 / 1000 (1 / 10 -3 ) or less. The number of unit three-dimensional grids N contained in one block in the meridian direction when the number of significant digits is R can be calculated using (Equation 4). In (Equation 4), '0.5' is a correction value that prevents divergence in the calculation process. Furthermore, (Equation 4) means that the maximum integer N within the range of the calculated unit three-dimensional grid numbers is calculated.
[0079]
number
[0080] The reference latitude setting unit 705 sequentially sets the reference latitude from the coordinate origin for each block determined by the identified unit three-dimensional grid number N. That is, blocks are specified by the number N of unit three-dimensional grids, and the reference latitude is sequentially set for each block. That is, the reference latitude θi (i=0, 1, 2, 3, 4, . . . , Round(n θ / N, 0) can be calculated using equation 5.
[0081]
number
[0082] The longitude value calculation unit 706 divides the latitude lines for each reference latitude from the coordinate origin that has been set by the length of one side of the unit three-dimensional grid, and calculates the longitude value φ between the unit three-dimensional grids divided for each latitude line. i is calculated as shown in (Equation 6). In other words, since celestial bodies such as the Earth are spherical, the length of the latitude line differs depending on the latitude. Therefore, the latitude line length is calculated for each reference latitude from the coordinate origin, and the longitude value is calculated based on each latitude line length.
[0083]
number
[0084] 9 is an explanatory diagram of the calculation of the longitude value by the collision avoidance server 1 according to the embodiment of the present invention. As shown in FIG. 9, the longitude value φ is calculated from the meridian LA0 passing through the origin of the coordinate system with respect to the equator line (latitude line) LO0. i However, if we assume that the Earth is a sphere, the latitude line length differs depending on the latitude value. Therefore, just as the longitude value φ0 is calculated on the equatorial line LO0, the latitude line LO determined for each reference latitude is calculated. i Longitude value φ i This process is carried out for all parallels determined by the reference latitude.
[0085] 7, the longitude value cumulative error calculation unit 707 calculates the cumulative error when the longitude values for each latitude line are accumulated in the latitude direction for one revolution of the earth. Since the longitude values naturally contain errors, each longitude value φ i The accumulated error is calculated by accumulating the error for one revolution of the Earth along the latitude line LOi. The accumulated error Elng_i is calculated as shown in (Equation 7).
[0086]
number
[0087] In formula 7, n φ_i means the number of unit three-dimensional grids arranged along each latitude line, and changes according to the length l of one side of the unit three-dimensional grid. It is the value converted to an integer by the proviso of (Equation 7).
[0088] The longitude value grid error calculation unit 708 calculates the error Elng_i(g) per unit three-dimensional grid for each latitude line based on the accumulated error calculated for each latitude line. Specifically, the accumulated error Elng_i is multiplied by the number n of unit three-dimensional grids arranged along the meridian line. φ_i By dividing by this, it can be obtained as shown in (Equation 8).
[0089]
number
[0090] Based on the calculated error Elng_i(g) per unit three-dimensional grid, the latitudinal grid number determination unit 709 determines whether the reference error per block is within the range of the significant digits of the cumulative error, for example, 1 / 1000 (1 / 10 -3 ) or less. The number of unit three-dimensional grids Ni contained in one block in the meridian direction when the number of significant digits is R can be calculated using (Equation 9). In (Equation 9), '0.5' is a correction value that prevents divergence in the calculation process. Furthermore, (Equation 9) means that the maximum integer Ni within the range of the calculated unit three-dimensional grid numbers is calculated for each latitude.
[0091]
number
[0092] The reference longitude setting unit 710 sequentially sets a reference longitude from the coordinate origin for each block determined by the identified unit three-dimensional grid number Ni. That is, a three-dimensional block is identified by the Ni unit three-dimensional grid number, and a reference longitude is sequentially set for each three-dimensional block. That is, the reference longitude φj (i=0, 1, 2, 3, 4, . . . , Round(n θ / N, 0), j=0, 1, 2, 3, 4,..., Round(n φ_i / N φ_i , 0) can be calculated using equation 10.
[0093]
number
[0094] The reference point identification unit 711 sequentially identifies reference points from the coordinate origin based on the set reference latitude and reference longitude. Fig. 10 is an explanatory diagram of a method of identifying a reference point by the collision avoidance server 1 according to an embodiment of the present invention. For the sake of simplicity, Fig. 10 shows a method of identifying a reference point on a two-dimensional plane.
[0095] As shown in Fig. 10, if the coordinate value of the coordinate origin P is (θ0, φ0), the reference points in the meridian direction are the points where the latitude value θ shown in (Equation 5) changes in three-dimensional block units. For example, the reference points on the longitude value φ0 are (θ1, φ0), (θ2, φ0), ... in that order from the coordinate origin.
[0096] On the other hand, in the latitude direction, the reference points are the points where the longitude value φ shown in (Equation 10) changes in three-dimensional block units. For example, the reference points on the longitude value φ0 are (θ0, φ1), (θ0, φ2), etc., in order from the coordinate origin.
[0097] The reference point identification unit 711 sets, as a reference point in the height direction, a point on the celestial body surface that is a distance away from each of the reference points identified on the plane that corresponds to the reference latitude or reference longitude calculated as a unit height by the above-mentioned method. Fig. 11 is an example diagram of a three-dimensional block determined by the reference points of the collision avoidance server 1 according to the embodiment of the present invention.
[0098] As shown in Fig. 11, a reference point is set on the ground of the earth with a length 91 corresponding to the reference latitude and a length 92 corresponding to the reference longitude, with the coordinate origin O as the reference. A new reference point is set above a rectangle with the reference point as a vertex, at the same height as the length 91 corresponding to the reference latitude or the length 92 corresponding to the reference longitude. Reference points are set sequentially in the height direction, and a rectangular area surrounded by eight vertices is defined as a three-dimensional block 93.
[0099] By arranging unit three-dimensional grids 94, which are square regions with sides of l (m), within the three-dimensional block 93, it is possible to assign an identifier to each position of the unit three-dimensional grid 94. That is, the identifier assigning unit 113 can assign a unique identifier to each unit three-dimensional grid for a position space in the three-dimensional space, and it becomes possible to assign a unique identifier to all position spaces on the earth.
[0100] 12 and 13 are flow charts showing the procedure of the reference point identification process of the collision avoidance server 1 according to the embodiment of the present invention. First, in FIG. 12, the CPU 11 of the collision avoidance server 1 according to the embodiment of the present invention accepts the setting of an arbitrary coordinate origin, for example, (latitude 0 degrees, longitude 0 degrees) as the coordinate origin. As long as the coordinate origin is common, in the present invention, the space ID, which is an identifier for identifying the position space, can be made common. Therefore, by standardizing the coordinate origin, it is possible to uniquely identify the space ID including latitude, longitude, and / or altitude.
[0101] The CPU 11 divides the meridian that passes through the coordinate origin that has been set by the length of one side of the unit three-dimensional grid, and calculates the latitude value between the divided unit three-dimensional grids (step S1201). The CPU 11 calculates the accumulated error when the latitude values between the unit three-dimensional grids are accumulated for one revolution in the meridian direction of the celestial body (step S1202).
[0102] The CPU 11 calculates the error Elat(g) per unit three-dimensional grid based on the calculated cumulative error (step S1203). If the reference error per block is outside the range of the significant digits of the cumulative error, for example, 1 / 1000 (1 / 10 -3 ) or less (step S1204). Since the number of unit three-dimensional grids N per three-dimensional block is specified so as to fall outside the range of significant digits of the accumulated error, it can be considered that no reference error is occurring per three-dimensional block.
[0103] The CPU 11 sequentially sets a reference latitude from the coordinate origin for each block determined by the specified unit three-dimensional grid number N (step S1205). Specifically, since one three-dimensional block is configured by N unit three-dimensional grid numbers, it is possible to set a reference point in the meridian direction for each three-dimensional block by sequentially setting a reference latitude for each block from the coordinate origin.
[0104] 13, the CPU 11 divides the latitude line for each reference latitude from the coordinate origin that has been set by the length of one side of the unit three-dimensional grid, and calculates the longitude value between the unit three-dimensional grids divided for each latitude line between the unit three-dimensional grids (step S1301). That is, since the Earth is a sphere, the length of the latitude line differs depending on the latitude. Therefore, the CPU 11 calculates the latitude line length for each reference latitude from the coordinate origin, and calculates each longitude value based on each latitude line length.
[0105] The CPU 11 calculates, for each latitude line, an accumulated error when the longitude values for each latitude line are accumulated in the latitude direction for one revolution around the earth (step S1302). The CPU 11 calculates an error per unit three-dimensional grid for each latitude line based on the accumulated error calculated for each latitude line (step S1303).
[0106] The CPU 11 calculates, for each latitude line based on the calculated error per unit three-dimensional grid, that the reference error per three-dimensional block is within the range of significant digits of the cumulative error, for example, 1 / 1000 (1 / 10 -3 ) or less (step S1304).
[0107] The CPU 11 sequentially sets a reference longitude from the coordinate origin for each three-dimensional block determined by the specified number of unit three-dimensional grids (step S1305). Specifically, since one three-dimensional block is configured by the number of Ni unit three-dimensional grids for each latitude line, it is possible to set a reference point in the latitude direction for each three-dimensional block for each latitude line by sequentially setting a reference longitude for each latitude line for each three-dimensional block from the coordinate origin and the intersection of the meridian passing through the coordinate origin and each latitude line.
[0108] The CPU 11 sequentially identifies reference points from the coordinate origin based on the set reference latitude and reference longitude (step S1306).
[0109] Returning to Fig. 6, the identifier assigning unit 103 assigns a unique identifier to each unit three-dimensional grid constituting a three-dimensional block having the calculated reference points as eight vertices. A mutually different identifier, for example, a space ID, is assigned to each unit three-dimensional grid 94 constituting a three-dimensional block 93 in Fig. 11.
[0110] By specifying the reference point in this way, if the coordinate origin is standardized, the reference point will always be the same. Therefore, the spatial ID determined from the latitude information, longitude information, and altitude information can be easily unified, and by specifying the spatial ID, it becomes possible to easily estimate the possibility of a collision with the unmanned aerial vehicle 3.
[0111] 14 to 17 are diagrams for explaining the principle of collision avoidance in a collision avoidance system according to an embodiment of the present invention. In Fig. 14 to 17, for simplicity, the explanation is given on the xy plane (height z is the same), but collisions are also avoided in three-dimensional space with the same concept.
[0112] As shown in Fig. 14, one unmanned aerial vehicle 3 moves from its current coordinate position P1 (x1, y1, z1) to coordinate position P2 (x2, y2, z2) at a speed vector Va after a predetermined time (e.g., 10 seconds) has elapsed. Meanwhile, the other unmanned aerial vehicle 3 moves from its current coordinate position Q1 (x3, y3, z3) to coordinate position Q2 (x4, y4, z4) at a speed vector Vb after a predetermined time (e.g., 10 seconds) has elapsed. Note that the coordinate positions are expressed in terms of (latitude, longitude, height).
[0113] 14, it can be seen that the coordinate positions P2 and Q2 after each unmanned aerial vehicle 3 moves are present within the unit three-dimensional grid S1 corresponding to the same space ID. In this embodiment, when multiple unmanned aerial vehicles 3 exist in the same space ID, it is interpreted that they will collide, and the collision avoidance server 1 transmits an avoidance instruction to the unmanned aerial vehicles 3.
[0114] In order to avoid this, the collision avoidance server 1 transmits an instruction to the one unmanned aerial vehicle 3 to change the velocity vector Va to a first velocity vector Vc. As shown in Fig. 15, the one unmanned aerial vehicle 3 moves to a coordinate position P3 (x3, y3, z3) located outside the unit three-dimensional grid S1 at least after a predetermined time (e.g., 10 seconds) has elapsed, due to the changed first velocity vector Vc. As a result, after the predetermined time has elapsed, the one unmanned aerial vehicle 3 and the other unmanned aerial vehicle 3 are present within unit three-dimensional grids corresponding to different space IDs, and it can be determined that the two will not collide with each other.
[0115] However, even if one unmanned aerial vehicle 3 changes to a first velocity vector Vc, if they are in unit three-dimensional grids corresponding to adjacent space IDs after a predetermined time has elapsed, there may be cases where the risk of contact is not zero depending on the position in the unit three-dimensional grid (such as near the boundary between adjacent space IDs). Therefore, it is preferable to transmit a velocity vector change instruction not only to one unmanned aerial vehicle 3, but also to other unmanned aerial vehicles 3.
[0116] In this case, the collision avoidance server 1 knows the first velocity vector Vc after the change of one unmanned aerial vehicle 3, and therefore can transmit an instruction to the other unmanned aerial vehicle 3 to change the second velocity vector Vd after the change of the other unmanned aerial vehicle 3 to a second velocity vector Vd that is opposite to the first velocity vector Vc in at least one of the latitude direction, the longitude direction, and the height direction. As a result, the unit three-dimensional grid S2 corresponding to the space ID after the movement of the one unmanned aerial vehicle 3 and the unit three-dimensional grid S3 corresponding to the space ID after the movement of the other unmanned aerial vehicle 3 are not adjacent to each other, so there is no opportunity for the two to come into contact with each other, and it is possible to reliably avoid a collision.
[0117] 16 is an explanatory diagram of the case where the coordinate positions P2 and Q2 after each unmanned aerial vehicle 3 are present within the unit three-dimensional grids S1 and S2 corresponding to adjacent space IDs. As described above, even if they are present within unit three-dimensional grids corresponding to adjacent space IDs after a predetermined time has elapsed, the risk of collision may not be avoided in some cases. Therefore, in this embodiment, even if multiple unmanned aerial vehicles 3 exist in adjacent space IDs, it is interpreted that there is a risk of collision, and the collision avoidance server 1 transmits an avoidance instruction to the unmanned aerial vehicle 3.
[0118] That is, as shown in Fig. 17, the collision avoidance server 1 transmits an instruction to one unmanned aerial vehicle 3 to change the velocity vector to a first velocity vector Vc. As shown in Fig. 17, the unmanned aerial vehicle 3 moves to a coordinate position P3 (x3, y3, z3) located in another unit three-dimensional grid S3 adjacent to the outside of the unit three-dimensional grid S1 by the changed first velocity vector Vc after at least a predetermined time (e.g., 10 seconds) has elapsed. As a result, after the predetermined time has elapsed, the unit three-dimensional grid S2 corresponding to the space ID after the movement of the one unmanned aerial vehicle 3 and the unit three-dimensional grid S3 corresponding to the space ID after the movement of the other unmanned aerial vehicle 3 are not adjacent to each other, so there is no chance for them to come into contact with each other, and it is possible to reliably avoid a collision.
[0119] However, in order to avoid collisions more reliably, an instruction to change the velocity vector to the velocity vector Vd may be sent not only to one unmanned aerial vehicle 3 but also to the other unmanned aerial vehicle 3. In this case, the collision avoidance server 1 knows the first velocity vector Vc after the change of the one unmanned aerial vehicle 3, and therefore sends an instruction to the other unmanned aerial vehicle 3 to change the second velocity vector Vd after the change of the other unmanned aerial vehicle 3 to a second velocity vector Vd that is opposite to the first velocity vector Vc in at least one of the latitude direction, longitude direction, and height direction. This makes it possible to avoid collisions more reliably.
[0120] In the above-mentioned change in the velocity vector, the absolute value of the velocity is not changed, but the absolute value of the velocity may be changed. In other words, the velocity of both the one unmanned aerial vehicle 3 and the other unmanned aerial vehicle 3 may be accelerated or decelerated to avoid a collision after a predetermined time has elapsed.
[0121] In this way, by determining whether or not a collision will occur based on whether or not they exist within a three-dimensional grid corresponding to the spatial ID, more specifically, whether or not one unmanned aerial vehicle 3 and one or more other unmanned aerial vehicles 3 exist within a unit three-dimensional grid corresponding to the same or adjacent spatial IDs after a predetermined time has elapsed, it is possible to reliably avoid a collision without imposing a computational processing load.
[0122] Note that "adjacent" does not only refer to cases where one side is common as in the above-mentioned two-dimensional example, but also includes cases where any vertex is common. Needless to say, in three-dimensional space, it does not only refer to cases where one side is common, but also includes cases where any vertex is common.
[0123] 18 is a flowchart showing a collision avoidance processing procedure of the CPU 11 of the collision avoidance server 1 according to the embodiment of the present invention. The CPU 11 of the collision avoidance server 1 receives coordinate information and a speed vector for each unmanned flying object 3 (step S1801).
[0124] The CPU 11 calculates the position information that each unmanned aerial vehicle 3 will reach after a predetermined time has elapsed (step S1802), and identifies the space ID that represents the unit three-dimensional grid that includes the calculated position information (step S1803).
[0125] The CPU 11 determines whether the space ID of the one unmanned aerial vehicle 3 matches the space ID of one or more other unmanned aerial vehicles 3 (step S1804). If the CPU 11 determines that they match (step S1804: YES), the CPU 11 transmits an instruction to the one unmanned aerial vehicle 3 to change the velocity vector to a first velocity vector (step S1805).
[0126] If the CPU 11 determines that they do not match (step S1804: NO), the CPU 11 determines whether the spatial ID reached by one unmanned aerial vehicle 3 is adjacent to the spatial ID reached by one or more other unmanned aerial vehicles 3 (step S1806). If the CPU 11 determines that they are not adjacent (step S1806: NO), the process returns to step S1801 and is repeated.
[0127] When the CPU 11 determines that the unmanned aerial body 3 is adjacent (step S1806: YES), the CPU 11 transmits, to the one unmanned aerial body 3, an instruction to change the velocity vector to the first velocity vector (step S1807).
[0128] As described above, it goes without saying that in steps S1805 and S1807, instructions to change the velocity vector to the second velocity vector may also be sent to other unmanned aerial vehicles 3. This makes it possible to determine the possibility of a collision with the unmanned aerial vehicles 3 with a small computational processing load and to quickly send an instruction to change the velocity vector, thereby making it possible to reliably avoid a collision.
[0129] In addition, when the unmanned flying object 3 is, for example, some kind of operation service using a drone, the flight route is often determined in advance. Conventionally, the route is set using detailed latitude information, longitude information, and altitude information using map information, but in this embodiment, the flight route can be easily determined by determining the space ID that the object passes through in chronological order. Moreover, even if the object deviates from the flight route to avoid a collision, it is possible to easily return to the determined flight route.
[0130] 4, the collision avoidance server 1 includes a flight path setting unit 404, a passage determination unit 405, and a path return instruction transmission unit 406. The flight path setting unit 404 accepts the setting of a flight path for each unmanned aerial vehicle 3 as a space ID through which the unmanned aerial vehicle 3 passes in time series, and stores information about the flight path for which the setting has been accepted (information about the space ID) in the storage device 13.
[0131] The passage determination unit 405 determines whether or not one unmanned aerial vehicle 3 and another unmanned aerial vehicle 3 have passed through a unit three-dimensional grid other than the unit three-dimensional grid corresponding to the adjacent space ID after a predetermined time has elapsed.
[0132] If the passage judgment unit 405 determines that after a predetermined time has elapsed, the unmanned aerial vehicle 3 and the other unmanned aerial vehicle 3 have passed through a unit three-dimensional grid other than the unit three-dimensional grid corresponding to adjacent space IDs, an instruction to change the first velocity vector and the second velocity vector so that they move to the nearest space ID included in the stored flight path, and an instruction to change the first velocity vector and the second velocity vector so that they return to the flight path are sent to the one unmanned aerial vehicle 3 and the other unmanned aerial vehicle 3.
[0133] Of course, when only one unmanned aerial vehicle 3 changes its speed vector, an instruction to change the first speed vector to a speed vector returning to the original flight path can be sent to only one unmanned aerial vehicle 3. In addition, the target space ID for changing the speed vector is not limited to the nearest space ID, and is not particularly limited as long as it is a space ID included in the flight path. Furthermore, it goes without saying that the above-mentioned collision avoidance procedure may be executed in the process of returning to the set flight path.
[0134] 19 is a flowchart showing a route return processing procedure of the CPU 11 of the collision avoidance server 1 according to the embodiment of the present invention. The CPU 11 of the collision avoidance server 1 accepts a flight route setting as a space ID that passes through in time series for each unmanned aerial vehicle 3 (step S1901), and stores information about the accepted flight route setting (information about the space ID) in the storage device 13 (step S1902).
[0135] The CPU 11 determines whether or not the one unmanned aerial vehicle 3 and the other unmanned aerial vehicle 3 have passed through areas other than the unit three-dimensional grids corresponding to the space IDs adjacent to each other after a predetermined time has elapsed (step S1903).
[0136] If CPU 11 determines that after a predetermined time has elapsed, the unmanned aerial vehicle 3 and the other unmanned aerial vehicle 3 have passed through a unit three-dimensional grid other than the unit three-dimensional grid corresponding to adjacent space IDs (step S1903: YES), CPU 11 sends instructions to the one unmanned aerial vehicle 3 and the other unmanned aerial vehicle 3 to change the velocity vectors so that the first velocity vector and the second velocity vector move to the nearest space ID indicated by the flight path (step S1904).
[0137] As described above, according to this embodiment, it is possible to easily determine through simple calculations whether or not there is a possibility of collision between unmanned aerial vehicles 3 based on the current position and moving speed vector of each unmanned aerial vehicle 3, and at the same time, it is possible to reliably avoid collisions between unmanned aerial vehicles 3 by controlling them not to move within unit three-dimensional blocks corresponding to the same spatial ID or within unit three-dimensional blocks corresponding to adjacent spatial IDs.
[0138] The present invention is not limited to the above embodiment, and various modifications and improvements are possible within the scope of the present invention. For example, a unique identifier is assigned to a three-dimensional position space, but a unique identifier may be assigned to a position space specified by two-dimensional coordinates (latitude and longitude information) excluding height information.
[0139] In addition, although the above-mentioned embodiment describes a process for avoiding collisions between unmanned aerial vehicles 3, even if the other unmanned aerial vehicles 3 are fixed obstacles (e.g., structures such as buildings and towers), the spatial ID in which the obstacle exists can be easily identified, so the first velocity vector of one unmanned aerial vehicle 3 can be determined in a similar manner.
[0140] In addition, in the above-described embodiment, the collision avoidance server 1 is used to grasp and control the behavior of the unmanned aerial vehicle 3. However, if future technological advances make it possible to equip unmanned aerial vehicles 3 such as drones with high-performance, lightweight computing chips that can be loaded onto the vehicles, it is possible to transfer the functions of the collision avoidance server 1 to each unmanned aerial vehicle 3, thereby creating a system that autonomously avoids collisions.
[0141] Furthermore, it goes without saying that the method of determination is not limited to the method according to the embodiment described above, so long as the possibility of a collision can be determined using the space ID after the movement. [Explanation of symbols]
[0142] 1 Collision Avoidance Server 2 Network 3 Unmanned flying vehicle 11, 31 CPU 12, 32 memory 13 Storage device 14 I / O Interface 15 Video Interface 16 Portable Disk Drive 17, 34 Communication Interface 18, 35 Internal bus 30 Control section 33 Input / Output Interface 90 Portable recording media 100 Computer Programs
Claims
1. a collision avoidance server that stores identifiers associated with each unit three-dimensional grid obtained by dividing a position space on the earth together with information about the position space; a plurality of unmanned aerial vehicles connected to the collision avoidance server for data communication and capable of moving within the position space; In a collision avoidance system consisting of The unmanned aerial vehicle includes a movement information acquisition means for acquiring coordinate information of a currently existing position in a position space and a velocity vector of the currently moving position; a movement information transmission means for transmitting the acquired coordinate information and velocity vector to the collision avoidance server in association with each of the unmanned aerial vehicles; Equipped with The collision avoidance server, a movement position determination means for determining whether the one unmanned aerial vehicle and one or more other unmanned aerial vehicles are present within a unit three-dimensional grid corresponding to the same or adjacent identifiers after a predetermined time based on the received coordinate information and velocity vector of the one unmanned aerial vehicle and the coordinate information and velocity vector of one or more other unmanned aerial vehicles; a velocity vector change instruction sending means for sending an instruction to the unmanned aerial vehicle to change the velocity vector of the unmanned aerial vehicle to a first velocity vector in a direction away from the unit three-dimensional grid corresponding to the same or adjacent identifiers when the movement position determination means determines that the unmanned aerial vehicle and one or more of the other unmanned aerial vehicles are present within a unit three-dimensional grid corresponding to the same or adjacent identifiers after a predetermined time; A collision avoidance system comprising:
2. The collision avoidance system described in claim 1, characterized in that the velocity vector change instruction transmitting means transmits an instruction to the other unmanned aerial vehicle to change the velocity vector of the other unmanned aerial vehicle to a second velocity vector that is opposite to the first velocity vector in at least one of the latitude, longitude, and altitude directions.
3. The speed vector change instruction transmission means The collision avoidance system described in claim 2, characterized in that an instruction is sent to the one unmanned aerial vehicle and the other unmanned aerial vehicle to change the movement direction to a direction that does not pass through the unit three-dimensional grids corresponding to adjacent identifiers, without changing the absolute value of the movement speed.
4. The collision avoidance server, A flight path setting means for receiving and storing a flight path setting set as the identifier passing through the unmanned aerial vehicle in time series for each of the unmanned aerial vehicles; a passage determination means for determining whether the one unmanned aerial vehicle and the other unmanned aerial vehicle have passed through a unit three-dimensional grid other than the unit three-dimensional grid corresponding to the identifier adjacent to each other after a predetermined time; a path return instruction sending means for sending an instruction to the one unmanned aerial vehicle and the other unmanned aerial vehicle to change the first velocity vector and the second velocity vector to return to the flight path when the passing determination means determines that the one unmanned aerial vehicle and the other unmanned aerial vehicle have passed through a unit three-dimensional grid other than the unit three-dimensional grid corresponding to the identifiers adjacent to each other after a predetermined time. A collision avoidance system according to any one of claims 1 to 3, comprising:
5. The collision avoidance server, a coordinate origin receiving means for receiving a setting of an arbitrary coordinate origin; a reference point calculation means for calculating a reference point determined from the number of blocks at which an error converges within a predetermined range when three-dimensional blocks are arranged in a latitude direction and a longitude direction based on the set coordinate origin; an identifier assigning means for assigning a unique identifier to each unit three-dimensional grid constituting a three-dimensional block having the calculated reference points as eight vertices; an information storage means for storing information about a position space including coordinate information of at least eight vertices in association with the identifier; A collision avoidance system according to any one of claims 1 to 3, further comprising:
6. The reference point calculation means a latitude value calculation means for dividing a meridian passing through the set origin of coordinates by the length of one side of a unit three-dimensional grid, and calculating latitude values between the divided unit three-dimensional grids; a latitude value cumulative error calculation means for calculating a cumulative error when the latitude values between unit three-dimensional grids are accumulated for one revolution in the meridian direction of a celestial body; a latitude value grid error calculation means for calculating an error per unit three-dimensional grid based on the calculated cumulative error; a meridian direction grid number specifying means for specifying the number of unit three-dimensional grids included in the meridian direction of one three-dimensional block based on the calculated error per unit three-dimensional grid so that a reference error per one three-dimensional block is 1 / 1000 of an accumulated error or less; a reference latitude setting means for sequentially setting a reference latitude from the coordinate origin for each three-dimensional block determined by the specified number of unit three-dimensional grids; a longitude value calculation means for dividing a latitude line for each of the reference latitudes from a coordinate origin that has been set by the user by a length of one side of a unit three-dimensional grid, and calculating a longitude value between the unit three-dimensional grids divided for each latitude line; a longitude value cumulative error calculation means for calculating a cumulative error when the longitude values for each latitude line are accumulated for one revolution in the latitude direction of the celestial body; a longitude value grid error calculation means for calculating an error per unit three-dimensional grid for each of the latitude lines based on an accumulated error calculated for each of the latitude lines; a latitude direction grid number specifying means for specifying the number of unit three-dimensional grids included in the latitude direction of one three-dimensional block for each latitude line based on the calculated error per unit three-dimensional grid so that a reference error per one three-dimensional block is 1 / 1000 of an accumulated error or less; a reference longitude setting means for sequentially setting a reference longitude for each latitude line for each three-dimensional block determined by the specified number of unit three-dimensional grids; a reference point specifying means for sequentially specifying reference points from the coordinate origin based on the set reference latitude and reference longitude; 6. The collision avoidance system according to claim 5, further comprising:
7. a collision avoidance server that stores identifiers associated with each unit three-dimensional grid obtained by dividing a position space on the earth together with information about the position space; a plurality of unmanned aerial vehicles connected to the collision avoidance server for data communication and capable of moving within the position space; A collision avoidance method that can be implemented in a collision avoidance system comprising: The unmanned aerial vehicle is A first step of acquiring coordinate information of a currently existing position in a position space and a velocity vector of the currently existing position; A second step of transmitting the acquired coordinate information and velocity vector to the collision avoidance server in association with each of the unmanned aerial vehicles; Including, The collision avoidance server, A third step of determining whether the one unmanned aerial vehicle and one or more other unmanned aerial vehicles are present within a unit three-dimensional grid corresponding to the same or adjacent identifiers after a predetermined time based on the received coordinate information and velocity vector of the one unmanned aerial vehicle and the coordinate information and velocity vector of one or more other unmanned aerial vehicles; a fourth step of transmitting an instruction to the unmanned aerial vehicle to change a velocity vector of the unmanned aerial vehicle to a first velocity vector in a direction away from the unit three-dimensional grid corresponding to the same or adjacent identifiers when it is determined that the unmanned aerial vehicle and one or more of the other unmanned aerial vehicles are present within a unit three-dimensional grid corresponding to the same or adjacent identifiers after a predetermined time; 13. A collision avoidance method comprising:
8. The collision avoidance server, The collision avoidance method described in claim 7, characterized in that in the fourth step, an instruction is sent to the other unmanned aerial vehicle to change the velocity vector of the other unmanned aerial vehicle to a second velocity vector that is opposite to the first velocity vector in at least one of the latitude, longitude, and altitude directions.
9. The collision avoidance server, The collision avoidance method described in claim 8, characterized in that in the fourth step, an instruction is sent to the one unmanned aerial vehicle and the other unmanned aerial vehicle to change the movement direction to a direction that does not pass through unit three-dimensional grids corresponding to adjacent identifiers, without changing the absolute value of the movement speed.
10. The collision avoidance server, A fifth step of accepting and storing a flight path setting set as the identifier passing through the unmanned aerial vehicle in time series for each of the unmanned aerial vehicles; a sixth step of determining whether the one unmanned aerial vehicle and the other unmanned aerial vehicle have passed through a unit three-dimensional grid other than the unit three-dimensional grid corresponding to the identifier adjacent to each other after a predetermined time; a seventh step of transmitting an instruction to the one unmanned aerial vehicle and the other unmanned aerial vehicle to change the first velocity vector and the second velocity vector to return to the flight path when it is determined in the sixth step that the one unmanned aerial vehicle and the other unmanned aerial vehicle have passed through a unit three-dimensional grid other than the unit three-dimensional grid corresponding to the identifiers adjacent to each other after a predetermined time; A method for avoiding collisions according to any one of claims 7 to 9, comprising:
11. The collision avoidance server, an eighth step of accepting a setting of an arbitrary coordinate origin; a ninth step of calculating a reference point determined from the number of blocks at which an error converges within a predetermined range when three-dimensional blocks are arranged in the latitude and longitude directions based on the coordinate origin that has been set; a tenth step of assigning a unique identifier to each unit three-dimensional grid constituting a three-dimensional block having the calculated reference points as eight vertices; an eleventh step of storing information about a position space including coordinate information of at least eight vertices in association with the identifier; The collision avoidance method according to any one of claims 7 to 9, further comprising:
12. The collision avoidance server, In the ninth step, a twelfth step of dividing the meridian passing through the coordinate origin for which the setting has been accepted by the user by the length of one side of a unit three-dimensional grid, and calculating latitude values between the divided unit three-dimensional grids; a thirteenth step of calculating an accumulated error when latitude values between unit three-dimensional grids are accumulated in a direction along the meridian of the celestial body for one revolution; a fourteenth step of calculating an error per unit three-dimensional grid based on the calculated cumulative error; a fifteenth step of determining the number of unit three-dimensional grids included in the meridian direction of one three-dimensional block based on the calculated error per unit three-dimensional grid so that the reference error per one three-dimensional block is 1 / 1000 of the cumulative error or less; a sixteenth step of sequentially setting a reference latitude from the coordinate origin for each three-dimensional block determined by the specified number of unit three-dimensional grids; a seventeenth step of dividing the latitude lines for each of the reference latitudes from the coordinate origin that has been set by the acceptance by the length of one side of a unit three-dimensional grid, and calculating longitude values between the unit three-dimensional grids divided for each of the latitude lines; an eighteenth step of calculating an accumulated error when the longitude values for each latitude line are accumulated for one revolution in the latitude direction of the celestial body; a nineteenth step of calculating an error per unit three-dimensional grid for each of the latitude lines based on the cumulative error calculated for each of the latitude lines; a twentieth step of determining the number of unit three-dimensional grids included in the latitude direction of one three-dimensional block for each latitude line based on the calculated error per unit three-dimensional grid so that the reference error per one three-dimensional block is equal to or smaller than 1 / 1000 of the cumulative error; a twenty-first step of sequentially setting a reference longitude for each of the latitude lines for each three-dimensional block determined by the specified number of unit three-dimensional grids; a twenty-second step of sequentially specifying reference points from the coordinate origin based on the set reference latitude and reference longitude; The method of claim 11, further comprising:
13. A collision avoidance server is connected to a plurality of unmanned aerial vehicles capable of moving within a position space on the earth so as to be capable of data communication, and stores identifiers corresponding to each unit three-dimensional grid obtained by dividing the position space together with information regarding the position space, a movement position determination means for determining whether the one unmanned aerial vehicle and one or more other unmanned aerial vehicles are present within a unit three-dimensional grid corresponding to the same or adjacent identifiers after a predetermined time based on the acquired coordinate information and velocity vector of the one unmanned aerial vehicle and the coordinate information and velocity vector of one or more other unmanned aerial vehicles; a velocity vector change instruction sending means for sending an instruction to the unmanned aerial vehicle to change the velocity vector of the unmanned aerial vehicle to a first velocity vector in a direction away from the unit three-dimensional grid corresponding to the same or adjacent identifiers when the movement position determination means determines that the unmanned aerial vehicle and one or more of the other unmanned aerial vehicles are present within a unit three-dimensional grid corresponding to the same or adjacent identifiers after a predetermined time; A collision avoidance server comprising:
14. The speed vector change instruction transmission means The collision avoidance server described in claim 13, characterized in that the other unmanned aerial vehicle acquires information regarding the first velocity vector changed by the one unmanned aerial vehicle, and sends an instruction to the other unmanned aerial vehicle to change the velocity vector of the other unmanned aerial vehicle to a second velocity vector that is opposite to the first velocity vector in at least one of the latitude, longitude, and altitude directions.
15. The speed vector change instruction transmission means The collision avoidance server described in claim 14, characterized in that an instruction is sent to the one unmanned aerial vehicle and the other unmanned aerial vehicle to change the movement direction to a direction that does not pass through the unit three-dimensional grids corresponding to the adjacent identifiers, without changing the absolute value of the movement speed.
16. A flight path setting means for receiving and storing a flight path setting set as the identifier passing through the unmanned aerial vehicle in time series for each of the unmanned aerial vehicles; a passage determination means for determining whether the one unmanned aerial vehicle and the other unmanned aerial vehicle have passed through a unit three-dimensional grid other than the unit three-dimensional grid corresponding to the identifier adjacent to each other after a predetermined time; a path return instruction sending means for sending an instruction to the one unmanned aerial vehicle and the other unmanned aerial vehicle to change the first velocity vector and the second velocity vector to return to the flight path when the passing determination means determines that the one unmanned aerial vehicle and the other unmanned aerial vehicle have passed through a unit three-dimensional grid other than the unit three-dimensional grid corresponding to the identifiers adjacent to each other after a predetermined time.
16. A collision avoidance server according to any one of claims 13 to 15, comprising:
17. a coordinate origin receiving means for receiving a setting of an arbitrary coordinate origin; a reference point calculation means for calculating a reference point determined from the number of blocks at which an error converges within a predetermined range when three-dimensional blocks are arranged in a latitude direction and a longitude direction based on the set coordinate origin; an identifier assigning means for assigning a unique identifier to each unit three-dimensional grid constituting a three-dimensional block having the calculated reference points as eight vertices; an information storage means for storing information about a position space including coordinate information of at least eight vertices in association with the identifier; 16. The collision avoidance server according to any one of claims 13 to 15, further comprising:
18. The reference point calculation means a latitude value calculation means for dividing a meridian passing through the set origin of coordinates by the length of one side of a unit three-dimensional grid, and calculating latitude values between the divided unit three-dimensional grids; a latitude value cumulative error calculation means for calculating a cumulative error when the latitude values between unit three-dimensional grids are accumulated for one revolution in the meridian direction of a celestial body; a latitude value grid error calculation means for calculating an error per unit three-dimensional grid based on the calculated cumulative error; a meridian direction grid number specifying means for specifying the number of unit three-dimensional grids included in the meridian direction of one three-dimensional block based on the calculated error per unit three-dimensional grid so that a reference error per one three-dimensional block is 1 / 1000 of an accumulated error or less; a reference latitude setting means for sequentially setting a reference latitude from the coordinate origin for each three-dimensional block determined by the specified number of unit three-dimensional grids; a longitude value calculation means for dividing a latitude line for each of the reference latitudes from a coordinate origin that has been set by the user by a length of one side of a unit three-dimensional grid, and calculating a longitude value between the unit three-dimensional grids divided for each latitude line; a longitude value cumulative error calculation means for calculating a cumulative error when the longitude values for each latitude line are accumulated for one revolution in the latitude direction of the celestial body; a longitude value grid error calculation means for calculating an error per unit three-dimensional grid for each of the latitude lines based on an accumulated error calculated for each of the latitude lines; a latitude direction grid number specifying means for specifying the number of unit three-dimensional grids included in the latitude direction of one three-dimensional block for each latitude line based on the calculated error per unit three-dimensional grid so that a reference error per one three-dimensional block is 1 / 1000 of an accumulated error or less; a reference longitude setting means for sequentially setting a reference longitude for each latitude line for each three-dimensional block determined by the specified number of unit three-dimensional grids; a reference point specifying means for sequentially specifying reference points from the coordinate origin based on the set reference latitude and reference longitude; 20. The collision avoidance server of claim 17, comprising:
19. A computer program that can be executed by a collision avoidance server that is connected to a plurality of unmanned aerial vehicles capable of moving within a position space on the earth and capable of data communication, and that stores identifiers associated with each unit three-dimensional grid obtained by dividing the position space together with information about the position space, comprising: The collision avoidance server, A movement position determination means for determining whether or not the one unmanned aerial vehicle and one or more other unmanned aerial vehicles are present within a unit three-dimensional grid corresponding to the same or adjacent identifiers after a predetermined time based on the acquired coordinate information and speed vector of the one unmanned aerial vehicle and the coordinate information and speed vector of one or more other unmanned aerial vehicles; a speed vector change instruction sending means for sending an instruction to the one unmanned aerial vehicle to change the speed vector of the one unmanned aerial vehicle to a first speed vector in a direction away from the unit three-dimensional grid corresponding to the same or adjacent identifiers when the movement position determining means determines that the one unmanned aerial vehicle and one or more of the other unmanned aerial vehicles are present within a unit three-dimensional grid corresponding to the same or adjacent identifiers after a predetermined time. A computer program characterized by causing the computer to function as follows.
20. The speed vector change instruction transmission means, The computer program described in claim 19, characterized in that it functions as a means for sending to the other unmanned aerial vehicle an instruction to change the velocity vector of the other unmanned aerial vehicle to a second velocity vector that is opposite to the first velocity vector in at least one of the latitude, longitude, and altitude directions.
21. The speed vector change instruction transmission means, The computer program described in claim 20, characterized in that it functions as a means for sending an instruction to the one unmanned aerial vehicle and the other unmanned aerial vehicle to change the movement direction to a direction that does not pass through the unit three-dimensional grids corresponding to the adjacent identifiers, without changing the absolute value of the movement speed.
22. The collision avoidance server, A flight path setting means for receiving and storing the setting of a flight path set as the identifier passing through the unmanned aerial vehicle in time series for each of the unmanned aerial vehicles; a passage determination means for determining whether the one unmanned aerial vehicle and the other unmanned aerial vehicle have passed through a unit three-dimensional grid other than the unit three-dimensional grid corresponding to the identifier adjacent to each other after a predetermined time; a route return instruction transmitting means for transmitting an instruction to the one unmanned aerial vehicle and the other unmanned aerial vehicle to change the first velocity vector and the second velocity vector to return to the flight route when the passage determining means determines that the one unmanned aerial vehicle and the other unmanned aerial vehicle have passed through a unit three-dimensional grid other than the unit three-dimensional grid corresponding to the identifier adjacent to each other after a predetermined time.
22. A computer program product according to claim 19, which causes the computer program product to function as follows:
23. The collision avoidance server, a coordinate origin receiving means for receiving a setting of an arbitrary coordinate origin; a reference point calculation means for calculating a reference point determined from the number of blocks at which an error converges within a predetermined range when three-dimensional blocks are arranged in the latitude and longitude directions based on the coordinate origin that has been set; an identifier assigning means for assigning a unique identifier to each unit three-dimensional grid constituting a three-dimensional block having the calculated reference points as eight vertices; an information storage means for storing information about a position space including coordinate information of at least eight vertices in association with the identifier; 22. A computer program as claimed in claim 19, characterized in that the computer program is adapted to function as follows:
24. The reference point calculation means, latitude value calculation means for dividing a meridian passing through the set coordinate origin by the length of one side of a unit three-dimensional grid, and calculating latitude values between the divided unit three-dimensional grids; a latitude value cumulative error calculation means for calculating a cumulative error when the latitude values between unit three-dimensional grids are accumulated for one revolution in the meridian direction of the celestial body; a latitude value grid error calculation means for calculating an error per unit three-dimensional grid based on the calculated cumulative error; a meridian direction grid number specifying means for specifying the number of unit three-dimensional grids included in the meridian direction of one three-dimensional block based on the calculated error per unit three-dimensional grid so that a reference error per one three-dimensional block is 1 / 1000 or less of an accumulated error; a reference latitude setting means for sequentially setting a reference latitude from the coordinate origin for each three-dimensional block determined by the specified number of unit three-dimensional grids; a longitude value calculation means for dividing a latitude line for each of the reference latitudes from the coordinate origin that has been set by the received setting by the length of one side of a unit three-dimensional grid, and calculating a longitude value between the unit three-dimensional grids divided for each of the latitude lines; a longitude value cumulative error calculation means for calculating a cumulative error when the longitude values for each latitude line are accumulated for one revolution in the latitude direction of the celestial body; a longitude value grid error calculation means for calculating an error per unit three-dimensional grid for each of the latitude lines based on an accumulated error calculated for each of the latitude lines; a latitude direction grid number specifying means for specifying the number of unit three-dimensional grids included in the latitude direction of one three-dimensional block for each latitude line based on the calculated error per unit three-dimensional grid so that a reference error per one three-dimensional block is equal to or smaller than 1 / 1000 of an accumulated error; a reference longitude setting means for sequentially setting a reference longitude for each latitude line for each three-dimensional block determined by the specified number of unit three-dimensional grids; A reference point specifying means for sequentially specifying a reference point from the coordinate origin based on a set reference latitude and reference longitude.
24. The computer program product of claim 23, wherein the computer program product functions as follows:
Citation Information
Patent Citations
Flying device, management device, flight management method and program
JP2019053501A
Operation management system, operation management method and operation management program
JP2022147583A