JP7458593B2 - Method, system and program for creating travel routes for each of a plurality of moving objects - Google Patents

Method, system and program for creating travel routes for each of a plurality of moving objects Download PDF

Info

Publication number
JP7458593B2
JP7458593B2 JP2020185960A JP2020185960A JP7458593B2 JP 7458593 B2 JP7458593 B2 JP 7458593B2 JP 2020185960 A JP2020185960 A JP 2020185960A JP 2020185960 A JP2020185960 A JP 2020185960A JP 7458593 B2 JP7458593 B2 JP 7458593B2
Authority
JP
Japan
Prior art keywords
point
starting point
points
group
starting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020185960A
Other languages
Japanese (ja)
Other versions
JP2022075273A (en
Inventor
勇一 矢口
美勝 松本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EAST JAPAN ACCOUNTING CENTER CO., LTD.
University of Aizu
Original Assignee
EAST JAPAN ACCOUNTING CENTER CO., LTD.
University of Aizu
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by EAST JAPAN ACCOUNTING CENTER CO., LTD., University of Aizu filed Critical EAST JAPAN ACCOUNTING CENTER CO., LTD.
Priority to JP2020185960A priority Critical patent/JP7458593B2/en
Publication of JP2022075273A publication Critical patent/JP2022075273A/en
Application granted granted Critical
Publication of JP7458593B2 publication Critical patent/JP7458593B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Navigation (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Description

本発明は、複数の移動体のそれぞれの移動経路の作成方法、システムおよびプログラムに関する。 The present invention relates to a method, system, and program for creating movement routes for each of a plurality of moving objects.

自律航行可能な飛行体(例えば、ドローン)が、例えば、物流、点検、土木・建築、空撮等の多種多様な用途において用いられている。 2. Description of the Related Art Autonomous flying vehicles (eg, drones) are used in a wide variety of applications, such as logistics, inspection, civil engineering/architecture, and aerial photography.

特許文献1は、ドローンを含む自律移動可能なロボットの経路を動的に計画するシステムを開示している。 Patent document 1 discloses a system that dynamically plans paths for autonomous mobile robots, including drones.

特表2020-502630号公報Special Publication No. 2020-502630

本発明の発明者は、自律航行可能な飛行体または自律移動可能なロボット等の移動体を複数個同時に利用することにより、それらの移動体の用途の幅をさらに広げることができると考えた。 The inventor of the present invention thought that by simultaneously using a plurality of moving objects such as autonomously navigable flying objects or autonomously movable robots, the range of applications of these moving objects could be further expanded.

しかしながら、複数の移動体の衝突を最小限にする安全な移動経路を自動的に作成する手法は確立されていない。 However, there is no established method for automatically creating safe paths that minimize collisions between multiple moving objects.

本発明は上記事情に鑑みてなされたものであり、複数の移動体の衝突を最小限にする、複数の移動体のそれぞれの移動経路の作成方法、システムおよびプログラムを提供することを目的とする。 The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a method, system, and program for creating movement routes for a plurality of moving objects to minimize collisions between the plurality of moving objects. .

本発明は、例えば、以下の項目を提供する。
(項目1)
第1の移動体と第2の移動体とを少なくとも含む複数の移動体の、それぞれの移動経路の作成方法であって、
(1)前記第1の移動体についての第1の出発点および第1の複数の候補到達点と、前記第2の移動体についての第2の出発点および第2の複数の候補到達点とを含む移動条件を取得することと、
(2)前記複数の移動体のそれぞれについて直線経路を決定することであって、
前記第1の出発点と、前記第1の複数の候補到達点のうちの1つの第1の選択候補到達点とを結ぶことにより、第1の移動体の第1の直線経路を決定することと、
前記第2の出発点と、前記第2の複数の候補到達点のうちの1つの第2の選択候補到達点とを結ぶことにより、第2の移動体の第2の直線経路を決定することと
を含む、直線経路を決定することと、
(3)少なくとも第1の直線経路について、前記第1の出発点と、前記第1の選択候補到達点と、前記出発点と前記第1の選択候補到達点との間の少なくとも1つの点とを結ぶことによって、第1の修正経路を導出することと
を含む作成方法。
(項目2)
前記(2)直線経路を決定することは、前記第1の直線経路と前記第2の直線経路との交差が最小となるように、前記第1の直線経路および前記第2の直線経路のそれぞれを決定することを含む、項目1に記載の作成方法。
(項目3)
前記交差は、2次元平面上での交差である、項目2に記載の作成方法。
(項目4)
前記(2)直線経路を決定することは、
他のいずれの直線経路とも交差しない1本の直線を特定することと、
前記第1の出発点および前記第2の出発点と、前記第1の複数の候補到達点および前記第2の複数の候補到達点を含む候補到達点群とを含む点群を前記1本の直線で分割することと、
分割後の点群のうち、第1の出発点が含まれる点群内で、前記第1の選択候補到達点を特定することと、
分割後の点群のうち、第2の出発点が含まれる点群内で、前記第2の選択候補到達点を特定することと
を含む、項目1~3のいずれか一項に記載の作成方法。
(項目5)
前記少なくとも1つの点は、前記第1の直線経路の周囲に配置された点群内の点である、項目1~4のいずれか一項に記載の作成方法。
(項目6)
前記点群内の複数の点は、前記第1の出発点に近づくほど点が密になり、かつ/または、前記第1の選択候補到達点に近づくほど点が密になるように分布している、項目5に記載の作成方法。
(項目7)
前記点群は、
極座標系におけるランダムな分布を有する点群を取得することと、
前記極座標系における点群を直交座標系における点群に変換することと、
前記変換された点群を前記第1の出発点を中心に配置することと、
前記変換された点群を前記第1の選択候補到達点を中心に配置することと
によって配置される、項目5または項目6に記載の作成方法。
(項目8)
前記第1の修正経路を導出することは、
(i)障害物が前記第1の直線経路に与える斥力場を算出することと、
(ii)前記斥力場が最小となるように、前記第1の出発点と、前記第1の選択候補到達点と、前記少なくとも1つの点とを結ぶことと
を含む、項目1~7のいずれか一項に記載の作成方法。
(項目9)
前記第1の修正経路を導出することは、
(a)障害物が前記第2の直線経路に与える斥力場を算出することと、
(b)前記斥力場に基づいて、前記第2の出発点と、前記第2の選択候補到達点と、前記第2の出発点と前記第2の選択候補到達点との間の少なくとも1つの点とを結ぶこととによって、第2の修正経路を導出することと、
(c)前記第2の修正経路を障害物として、前記第1の直線経路に対して、前記(i)、(ii)を行うことによって、前記第1の修正経路を導出することと
を含む、項目8に記載の作成方法。
(項目10)
前記第1の移動体および前記第2の移動体は、前記複数の移動体からランダムに選択される、項目1~9のいずれか一項に記載の作成方法。
(項目11)
第1の移動体と第2の移動体とを少なくとも含む複数の移動体の、それぞれの移動経路を作成するためのシステムであって、
前記第1の移動体についての第1の出発点および第1の複数の候補到達点と、前記第2の移動体についての第2の出発点および第2の複数の候補到達点とを含む移動条件を取得する取得手段と、
前記複数の移動体のそれぞれについて直線経路を決定する決定手段であって、
前記第1の出発点と、前記第1の複数の候補到達点のうちの1つの第1の選択候補到達点とを結ぶことにより、第1の移動体の第1の直線経路を決定することと、
前記第2の出発点と、前記第2の複数の候補到達点のうちの1つの第2の選択候補到達点とを結ぶことにより、第2の移動体の第2の直線経路を決定することと
を行うように構成されている決定手段と、
少なくとも第1の直線経路について、前記第1の出発点と、前記第1の選択候補到達点と、前記出発点と前記第1の選択候補到達点との間の少なくとも1つの点とを結ぶことによって、第1の修正経路を導出する導出手段と
を含むシステム。
(項目12)
第1の移動体と第2の移動体とを少なくとも含む複数の移動体の、それぞれの移動経路を作成するためのプログラムであって、前記プログラムは、プロセッサ部を有するコンピュータシステムにおいて実行され、前記プログラムは、
(1)前記第1の移動体についての第1の出発点および第1の複数の候補到達点と、前記第2の移動体についての第2の出発点および第2の複数の候補到達点とを含む移動条件を取得することと、
(2)前記複数の移動体のそれぞれについて直線経路を決定することであって、
前記第1の出発点と、前記第1の複数の候補到達点のうちの1つの第1の選択候補到達点とを結ぶことにより、第1の移動体の第1の直線経路を決定することと、
前記第2の出発点と、前記第2の複数の候補到達点のうちの1つの第2の選択候補到達点とを結ぶことにより、第2の移動体の第2の直線経路を決定することと
を含む、直線経路を決定することと、
(3)少なくとも第1の直線経路について、前記第1の出発点と、前記第1の選択候補到達点と、前記出発点と前記第1の選択候補到達点との間の少なくとも1つの点とを結ぶことによって、第1の修正経路を導出することと
を含む処理を前記プロセッサ部に行わせる、プログラム。
The present invention provides, for example, the following items.
(Item 1)
A method for creating movement routes for each of a plurality of moving bodies including at least a first moving body and a second moving body, the method comprising:
(1) A first starting point and a first plurality of candidate arrival points for the first moving body, and a second starting point and a second plurality of candidate arrival points for the second moving body. obtaining movement conditions including;
(2) determining a straight path for each of the plurality of moving objects,
determining a first linear route of the first moving body by connecting the first starting point and one first selected candidate destination point of the first plurality of candidate destination points; and,
determining a second linear route of the second moving body by connecting the second starting point and one second selected candidate arrival point of the second plurality of candidate arrival points; determining a straight path, including;
(3) for at least the first straight route, the first starting point, the first selected candidate destination point, and at least one point between the starting point and the first selected candidate destination point; deriving a first modified path by connecting .
(Item 2)
(2) Determining the straight line path includes determining each of the first straight line path and the second straight line path so that the intersection between the first straight line path and the second straight line path is minimized. The preparation method described in item 1, comprising determining.
(Item 3)
The creation method according to item 2, wherein the intersection is an intersection on a two-dimensional plane.
(Item 4)
(2) Determining the straight path is as follows:
identifying a straight line that does not intersect with any other straight line path;
A point group including the first starting point, the second starting point, and a candidate arrival point group including the first plurality of candidate arrival points and the second plurality of candidate arrival points is dividing by a straight line,
Identifying the first selection candidate destination point within the point group that includes the first starting point among the point group after division;
The creation according to any one of items 1 to 3, including specifying the second selection candidate destination point within the point group that includes the second starting point among the point group after division. Method.
(Item 5)
The creation method according to any one of items 1 to 4, wherein the at least one point is a point in a point group arranged around the first straight line path.
(Item 6)
The plurality of points in the point group are distributed such that the closer the points are to the first starting point, the denser the points are, and/or the closer the points are to the first selected candidate destination point, the denser the points are. The preparation method described in item 5.
(Item 7)
The point group is
Obtaining a point cloud with a random distribution in a polar coordinate system;
Converting a point group in the polar coordinate system to a point group in a rectangular coordinate system;
centering the transformed point cloud on the first starting point;
The creation method according to item 5 or item 6, wherein the converted point group is arranged by arranging the point group centered on the first selection candidate arrival point.
(Item 8)
Deriving the first modified path includes:
(i) calculating a repulsive force field exerted by an obstacle on the first straight path;
(ii) connecting the first starting point, the first selected candidate destination, and the at least one point so that the repulsive force field is minimized. The preparation method described in paragraph (1).
(Item 9)
Deriving the first modified path includes:
(a) calculating a repulsive force field exerted by an obstacle on the second straight path;
(b) based on the repulsive force field, at least one of the second starting point, the second selected candidate destination point, and the second selected candidate destination point between the second starting point and the second selected candidate destination point; deriving a second modified path by connecting the points;
(c) deriving the first modified route by performing (i) and (ii) on the first straight route using the second modified route as an obstacle; , the preparation method described in item 8.
(Item 10)
The creation method according to any one of items 1 to 9, wherein the first moving object and the second moving object are randomly selected from the plurality of moving objects.
(Item 11)
A system for creating movement routes for each of a plurality of moving bodies including at least a first moving body and a second moving body, the system comprising:
Movement including a first starting point and a first plurality of candidate destination points for the first mobile object, and a second starting point and a second plurality of candidate destination points for the second mobile object. an acquisition means for acquiring conditions;
Determining means for determining a straight path for each of the plurality of moving objects,
determining a first linear route of the first moving body by connecting the first starting point and one first selected candidate destination point of the first plurality of candidate destination points; and,
determining a second linear route of the second moving body by connecting the second starting point and one second selected candidate arrival point of the second plurality of candidate arrival points; a determining means configured to:
connecting the first starting point, the first selected candidate destination point, and at least one point between the starting point and the first selected candidate destination point for at least a first straight path; and deriving means for deriving a first modified path by.
(Item 12)
A program for creating movement routes for each of a plurality of moving bodies including at least a first moving body and a second moving body, the program being executed in a computer system having a processor section, The program is
(1) A first starting point and a first plurality of candidate arrival points for the first moving body, and a second starting point and a second plurality of candidate arrival points for the second moving body. obtaining movement conditions including;
(2) determining a straight path for each of the plurality of moving objects,
determining a first linear route of the first moving body by connecting the first starting point and one first selected candidate destination point of the first plurality of candidate destination points; and,
determining a second straight path of the second moving body by connecting the second starting point and one second selected candidate arrival point of the second plurality of candidate arrival points; determining a straight path, including;
(3) for at least the first straight route, the first starting point, the first selected candidate destination point, and at least one point between the starting point and the first selected candidate destination point; A program that causes the processor unit to perform processing including: deriving a first modified path by connecting .

本発明によれば、複数の移動体の衝突を最小限にする、複数の移動体のそれぞれの移動経路の作成方法、システムおよびプログラムを提供することができる。複数の移動体は、これらの移動経路に辿ることで、衝突を最小限にして安全に移動することができるようになる。 According to the present invention, it is possible to provide a method, system, and program for creating movement paths for multiple moving bodies that minimizes collisions between the multiple moving bodies. By following these movement paths, the multiple moving bodies can move safely with collisions minimized.

複数の飛行体10を利用するフローの一例を示す図FIG. 1 is a diagram showing an example of a flow for using multiple flying objects 10. 複数の移動体のそれぞれの移動経路を作成するためのシステム100の構成の一例を示す図A diagram illustrating an example of the configuration of a system 100 for creating movement routes for each of a plurality of moving objects. プロセッサ部120の構成の一例を示す図A diagram showing an example of the configuration of the processor section 120 ペア交差数をカウントする枝刈付き深さ優先探索法を説明する図Diagram explaining depth-first search method with pruning that counts the number of pair intersections Sequential Partition法のステップを概略的に示す図FIG. 1 is a schematic diagram showing the steps of the Sequential Partition method. 点群を直線経路の周囲に配置する方法を概略的に示す図Diagram showing schematically how to arrange a point cloud around a straight path 点群を直線経路の周囲に配置する方法を概略的に示す図Diagram showing schematically how to arrange a point cloud around a straight path A*アルゴリズムによって出発点と選択候補到達点との間の少なくとも1つの点を特定し、修正経路を導出するフローを概略的に示す図FIG. 1 is a schematic diagram showing a flow of identifying at least one point between a starting point and a selected candidate destination point by the A* algorithm and deriving a modified path. A*アルゴリズムによって出発点と選択候補到達点との間の少なくとも1つの点を特定し、修正経路を導出するフローを概略的に示す図A diagram schematically showing the flow of identifying at least one point between the starting point and the selected candidate destination point using the A* algorithm and deriving a modified route. A*アルゴリズムによって出発点と選択候補到達点との間の少なくとも1つの点を特定し、修正経路を導出するフローを概略的に示す図A diagram schematically showing the flow of identifying at least one point between the starting point and the selected candidate destination point using the A* algorithm and deriving a modified route. A*アルゴリズムによって出発点と選択候補到達点との間の少なくとも1つの点を特定し、修正経路を導出するフローを概略的に示す図A diagram schematically showing the flow of identifying at least one point between the starting point and the selected candidate destination point using the A* algorithm and deriving a modified route. A*アルゴリズムによって出発点と選択候補到達点との間の少なくとも1つの点を特定し、修正経路を導出するフローを概略的に示す図A diagram schematically showing the flow of identifying at least one point between the starting point and the selected candidate destination point using the A* algorithm and deriving a modified route. 複数の移動体のそれぞれの移動経路を作成するためのシステム100による処理700の一例を示すフローチャートFlowchart illustrating an example of a process 700 by the system 100 for creating movement routes for each of a plurality of moving objects. 出発点と選択候補到達点とを結ぶ直線経路の周囲に点群を配置するための処理800の一例を示すフローチャートFlowchart showing an example of a process 800 for arranging a point group around a straight path connecting a starting point and a selected candidate destination point 修正経路を導出するための処理900の一例を示すフローチャート9 is a flow chart illustrating an example of a process 900 for deriving a modified path. 複数の移動体のそれぞれの移動経路を作成するためのシステム100を利用して、複数の移動体のそれぞれの移動経路を計画するフローの一例を示すフローチャートA flowchart showing an example of a flow for planning the movement routes of each of a plurality of moving objects using the system 100 for creating the movement routes of each of a plurality of moving objects. 複数の移動体のそれぞれの移動経路を作成するための処理700を実装するためのアプリケーションのユーザインターフェース1100の一例An example of a user interface 1100 of an application for implementing the process 700 for creating movement routes for each of a plurality of moving objects 複数の移動体のそれぞれの移動経路を作成するための処理700を実装するためのアプリケーションの操作方法の一例を示すフローチャートFlowchart illustrating an example of an application operating method for implementing processing 700 for creating movement routes for each of a plurality of moving objects. ユーザに提示される飛行経路の3D表示を含む画面1300の一例An example of a screen 1300 including a 3D display of a flight path presented to a user

以下、図面を参照しながら、本発明の実施の形態を説明する。 Embodiments of the present invention will be described below with reference to the drawings.

本明細書において、「約」とは、後に続く数字の±10%の範囲内をいう。 As used herein, "about" refers to a range of ±10% of the following number.

1.複数の飛行体を利用するフロー
図1は、移動体の実施形態として複数の飛行体10を利用するフローの一例を概略的に示す。
1. Flow using multiple flying objects FIG. 1 schematically shows an example of a flow using multiple flying objects 10 as an embodiment of the mobile object.

ここでは、複数の飛行体10(例えば、無人航空機(Unnmaned Aerial Vehicle))を目的地Gで利用する(例えば、目的地の気象を観測する、目的地で環境を計測する、目的地に荷物を運ぶ等)ために、出発地Sから目的地Gまで複数の飛行体10を自律航行させることを例に説明する。 Here, a plurality of flying objects 10 (for example, unmanned aerial vehicles) are used at destination G (for example, to observe the weather at the destination, measure the environment at the destination, and deliver cargo to the destination. An example will be explained in which a plurality of flying objects 10 are autonomously navigated from a departure point S to a destination G for transportation, etc.).

ステップS1では、ユーザUは、初期設定として航行条件をコンピュータシステム100に入力する。航行条件は、少なくとも出発地Sの情報、目的地Gの情報を含む。出発地Sの情報は、例えば、複数の飛行体10の各々の出発点の位置座標として表される。目的地Gの情報は、例えば、複数の飛行体10の各々の到達点の位置座標として表される。航行条件は、航行させる飛行体の数、航行範囲等の情報も含み得る。 In step S1, the user U inputs navigation conditions into the computer system 100 as initial settings. The navigation conditions include at least information on the departure point S and destination G. The information on the departure point S is expressed, for example, as position coordinates of the departure point of each of the plurality of flying objects 10. The information on the destination G is expressed, for example, as the position coordinates of the arrival point of each of the plurality of flying objects 10. The navigation conditions may also include information such as the number of aircraft to be navigated and the navigation range.

航行条件が入力されると、コンピュータシステム100は、航行条件に基づいて、複数の飛行体10のそれぞれの航行経路を作成する。このとき、コンピュータシステム100は、複数の飛行体10のそれぞれの航行経路が互いに最小限に干渉する航行経路を作成することができる。 When the navigation conditions are input, the computer system 100 creates a navigation route for each of the plurality of flying objects 10 based on the navigation conditions. At this time, the computer system 100 can create a navigation route in which the respective navigation routes of the plurality of flying objects 10 minimally interfere with each other.

ステップS2では、コンピュータシステム100は、作成された航行経路に従って航行するように、複数の飛行体10のそれぞれに命令する。 In step S2, the computer system 100 instructs each of the multiple flying objects 10 to navigate according to the created navigation route.

ステップS3では、複数の飛行体10のそれぞれは、コンピュータシステム100によって作成されたそれぞれの航行経路に従って、出発地Sから目的地Gまで航行する。コンピュータシステム100によって作成された複数の航行経路は、干渉が最小限であるため、複数の飛行体10のそれぞれは、出発地Sから目的地Gまで安全に航行することができる。 In step S3, each of the multiple flying objects 10 navigates from the departure point S to the destination G according to the respective navigation routes created by the computer system 100. Because the multiple navigation routes created by the computer system 100 have minimal interference, each of the multiple flying objects 10 can navigate safely from the departure point S to the destination G.

複数の飛行体10が目的地Gに到達すると、ステップS4では、複数の飛行体10が用途に応じた作業内容で利用され得る。例えば、複数の飛行体10に搭載された観測機器を用いて、目的地Gの気象が観測される。例えば、複数の飛行体10に搭載された計測機器を用いて、目的地Gの環境が計測される。例えば、複数の飛行体10に積載された荷物が目的地Gに下ろされる。 When the multiple aircraft 10 reach destination G, in step S4, the multiple aircraft 10 can be used for tasks according to their intended use. For example, the weather at destination G is observed using observation equipment mounted on the multiple aircraft 10. For example, the environment at destination G is measured using measuring equipment mounted on the multiple aircraft 10. For example, luggage loaded on the multiple aircraft 10 is unloaded at destination G.

このように、コンピュータシステム100によって作成された航行経路により、出発地Sから目的地Gまでの安全な航行が可能となり、目的地Gでの複数の飛行体10の利用が促進される。これにより、複数の飛行体10の目的地Gでの用途の幅を広げることができる。 In this way, the navigation route created by the computer system 100 enables safe navigation from the departure point S to the destination G, and promotes the use of a plurality of flying objects 10 at the destination G. Thereby, the range of uses of the plurality of aircraft 10 at the destination G can be expanded.

上述した例では、移動体として飛行体10について説明したが、本発明は、飛行体に限定されず、任意の移動体に適用されることができる。任意の移動体は、例えば、地上を移動する移動体、地中を移動する移動体、水上を移動する移動体、水中を移動する移動体、宇宙空間を移動する移動体等を含むが、これらに限定されない。また、移動体は、例えば、操縦入力なしに自律移動可能であってもよいし、操縦入力によって移動可能であってもよい。操縦入力は、例えば、移動体に搭乗している操作者によって入力されてもよいし、移動体の外部の操作者によって入力されてもよいし、移動体の外部のコンピュータシステムによって入力されてもよい。 In the above example, an air vehicle 10 has been described as a moving body, but the present invention is not limited to air vehicles and can be applied to any moving body. Any moving body includes, but is not limited to, a moving body that moves on the ground, a moving body that moves underground, a moving body that moves on water, a moving body that moves underwater, a moving body that moves in outer space, and the like. In addition, the moving body may be capable of moving autonomously without a control input, or may be capable of moving by a control input. The control input may be input, for example, by an operator on board the moving body, by an operator outside the moving body, or by a computer system outside the moving body.

上述したコンピュータシステム100は、以下に説明する複数の移動体のそれぞれの移動経路を作成するためのシステムによって実装され得る。 The computer system 100 described above can be implemented by a system for creating travel routes for each of a plurality of moving objects, which will be described below.

2.複数の移動体のそれぞれの移動経路を作成するためのシステムの構成
図2は、複数の移動体のそれぞれの移動経路を作成するためのシステム100の構成の一例を示す。
2. Configuration of a system for creating travel routes for each of a plurality of moving bodies FIG. 2 shows an example of the configuration of a system 100 for creating travel routes for each of a plurality of moving bodies.

システム100は、インターフェース部110と、プロセッサ部120と、メモリ130部とを備える。システム100は、データベース部200に接続されている。 The system 100 includes an interface section 110, a processor section 120, and a memory section. The system 100 is connected to a database section 200.

インターフェース部110は、システム100の外部と情報のやり取りを行う。システム100のプロセッサ部120は、インターフェース部110を介して、システム100の外部から情報を受信することが可能であり、システム100の外部に情報を送信することが可能である。インターフェース部110は、任意の形式で情報のやり取りを行うことができる。 The interface unit 110 exchanges information with the outside of the system 100. The processor unit 120 of the system 100 can receive information from outside the system 100 via the interface unit 110, and can send information to the outside of the system 100. The interface unit 110 can exchange information in any format.

インターフェース部110は、例えば、システム100に情報を入力することを可能にする入力部を備える。入力部が、どのような態様でシステム100に情報を入力することを可能にするかは問わない。例えば、入力部がタッチパネルである場合には、ユーザがタッチパネルにタッチすることによって情報を入力するようにしてもよい。あるいは、入力部がマウスである場合には、ユーザがマウスを操作することによって情報を入力するようにしてもよい。あるいは、入力部がキーボードである場合には、ユーザがキーボードのキーを押下することによって情報を入力するようにしてもよい。あるいは、入力部がマイクである場合には、ユーザがマイクに音声を入力することによって情報を入力するようにしてもよい。あるいは、入力部がカメラである場合には、カメラが撮像した情報を入力するようにしてもよい。あるいは、入力部がデータ読み取り装置である場合には、システム100に接続された記憶媒体から情報を読み取ることによって情報を入力するようにしてもよい。あるいは、入力部が受信器である場合、受信器がネットワークを介してシステム100の外部から情報を受信することにより入力してもよい。この場合、ネットワークの種類は問わない。例えば、受信器は、インターネットを介して情報を受信してもよいし、LANを介して情報を受信してもよい。 The interface unit 110 includes, for example, an input unit that allows information to be input into the system 100. It does not matter in what manner the input unit allows information to be input into the system 100. For example, if the input unit is a touch panel, the user may input information by touching the touch panel. Alternatively, if the input unit is a mouse, the user may input information by operating the mouse. Alternatively, if the input unit is a keyboard, the user may input information by pressing keys on the keyboard. Alternatively, if the input unit is a microphone, the information may be input by the user inputting voice into the microphone. Alternatively, if the input unit is a camera, information captured by the camera may be input. Alternatively, if the input unit is a data reading device, the information may be input by reading the information from a storage medium connected to the system 100. Alternatively, if the input unit is a receiver, the information may be input by the receiver receiving information from outside the system 100 via a network. In this case, the type of network does not matter. For example, the receiver may receive information via the Internet or may receive information via a LAN.

例えば、インターフェース部110の入力部は、ユーザの端末装置から移動条件の入力を受け付ける。例えば、インターフェース部110の入力部は、データベース部200から移動条件の入力を受け付ける。 For example, the input unit of the interface unit 110 receives input of movement conditions from a user's terminal device. For example, the input unit of the interface unit 110 receives input of movement conditions from the database unit 200.

インターフェース部110は、例えば、システム100から情報を出力することを可能にする出力部を備える。出力部が、どのような態様でシステム100から情報を出力することを可能にするかは問わない。例えば、出力部が表示画面である場合、表示画面に情報を出力するようにしてもよい。あるいは、出力部がスピーカである場合には、スピーカからの音声によって情報を出力するようにしてもよい。あるいは、出力部がデータ書き込み装置である場合、システム100に接続された記憶媒体に情報を書き込むことによって情報を出力するようにしてもよい。あるいは、出力部が送信器である場合、送信器がネットワークを介してシステム100の外部に情報を送信することにより出力してもよい。この場合、ネットワークの種類は問わない。例えば、送信器は、インターネットを介して情報を送信してもよいし、LANを介して情報を送信してもよい。 The interface unit 110 includes, for example, an output unit that allows information to be output from the system 100. It does not matter in what manner the output unit allows information to be output from the system 100. For example, if the output unit is a display screen, the information may be output to the display screen. Alternatively, if the output unit is a speaker, the information may be output by sound from the speaker. Alternatively, if the output unit is a data writing device, the information may be output by writing the information to a storage medium connected to the system 100. Alternatively, if the output unit is a transmitter, the transmitter may output the information by transmitting it to the outside of the system 100 via a network. In this case, the type of network does not matter. For example, the transmitter may send information over the Internet or may send information over a LAN.

例えば、インターフェース部110の出力部は、複数の移動体のそれぞれに、作成されたそれぞれの移動経路を送信する。例えば、インターフェース部110の出力部は、複数の移動体を制御するコントローラに、作成された移動経路を送信する。 For example, the output unit of the interface unit 110 transmits the created movement path to each of the multiple moving bodies. For example, the output unit of the interface unit 110 transmits the created movement path to a controller that controls the multiple moving bodies.

プロセッサ部120は、システム100の処理を実行し、かつ、システム100全体の動作を制御する。プロセッサ部120は、メモリ部130に格納されているプログラムを読み出し、そのプログラムを実行する。これにより、システム100を所望のステップを実行するシステムとして機能させることが可能である。プロセッサ部120は、単一のプロセッサによって実装されてもよいし、複数のプロセッサによって実装されてもよい。 The processor unit 120 executes processing of the system 100 and controls the overall operation of the system 100. The processor unit 120 reads a program stored in the memory unit 130 and executes the program. This allows the system 100 to function as a system that executes desired steps. The processor unit 120 may be implemented by a single processor or by multiple processors.

メモリ部130は、システム100の処理を実行するために必要とされるプログラムやそのプログラムの実行に必要とされるデータ等を格納する。メモリ部130は、複数の移動体のそれぞれの移動経路を作成するための処理をプロセッサ部120に行わせるためのプログラム(例えば、後述する図7、図8、図9に示される処理を実現するプログラム)を格納してもよい。ここで、プログラムをどのようにしてメモリ部130に格納するかは問わない。例えば、プログラムは、メモリ部130にプリインストールされていてもよい。あるいは、プログラムは、ネットワークを経由してダウンロードされることによってメモリ部130にインストールされるようにしてもよい。この場合、ネットワークの種類は問わない。メモリ部130は、任意の記憶手段によって実装され得る。 The memory unit 130 stores programs required to execute the processing of the system 100, data required to execute the programs, and the like. The memory unit 130 includes a program for causing the processor unit 120 to perform processing for creating movement routes for each of a plurality of moving objects (for example, implementing the processing shown in FIGS. 7, 8, and 9, which will be described later). program) may be stored. Here, it does not matter how the program is stored in the memory unit 130. For example, the program may be preinstalled in the memory unit 130. Alternatively, the program may be installed in the memory unit 130 by being downloaded via a network. In this case, the type of network does not matter. Memory section 130 may be implemented by any storage means.

データベース部200には、例えば、地理的情報が格納されている。地理的情報は、例えば、地形に関する情報、建造物に関する情報等を含み得る。地理的情報は、飛行禁止区域に関する情報も含み得る。 The database unit 200 stores, for example, geographic information. Geographical information may include, for example, information regarding topography, information regarding buildings, and the like. Geographical information may also include information regarding no-fly zones.

データベース部200には、例えば、ユーザによって入力された移動条件が格納されてもよいし、例えば、過去に作成された移動経路が格納されてもよい。 The database unit 200 may store, for example, movement conditions input by the user, or may store movement routes created in the past, for example.

図2に示される例では、データベース部200は、システム100の外部に設けられているが、本発明はこれに限定されない。データベース部200をシステム100の内部に設けることも可能である。このとき、データベース部200は、メモリ部130を実装する記憶手段と同一の記憶手段によって実装されてもよいし、メモリ部130を実装する記憶手段とは別の記憶手段によって実装されてもよい。いずれにせよ、データベース部200は、システム100のための格納部として構成される。データベース部200の構成は、特定のハードウェア構成に限定されない。例えば、データベース部200は、単一のハードウェア部品で構成されてもよいし、複数のハードウェア部品で構成されてもよい。例えば、データベース部200は、システム100の外付けハードディスク装置として構成されてもよいし、ネットワークを介して接続されるクラウド上のストレージとして構成されてもよい。 In the example shown in FIG. 2, the database unit 200 is provided outside the system 100, but the present invention is not limited thereto. It is also possible to provide the database unit 200 inside the system 100. At this time, the database unit 200 may be implemented by the same storage unit that implements the memory unit 130, or may be implemented by a different storage unit from the storage unit that implements the memory unit 130. In any case, the database unit 200 is configured as a storage unit for the system 100. The configuration of the database unit 200 is not limited to a specific hardware configuration. For example, the database unit 200 may be composed of a single hardware component or a plurality of hardware components. For example, the database unit 200 may be configured as an external hard disk device of the system 100, or may be configured as a storage on a cloud connected via a network.

図3は、プロセッサ部120の構成の一例を示す。 Figure 3 shows an example of the configuration of the processor unit 120.

プロセッサ部120は、取得手段121と、決定手段122と、導出手段123とを備える。 The processor unit 120 includes an acquisition means 121, a determination means 122, and a derivation means 123.

取得手段121は、インターフェース部110を介して、システム100の外部から情報を取得するように構成されている。 The acquisition means 121 is configured to acquire information from outside the system 100 via the interface unit 110.

取得手段121は、移動条件を取得するように構成されている。移動条件は、複数の移動体のそれぞれについて、出発点と複数の候補到達点とを含む。出発点および到達点は、例えば、(緯度、経度、高度)の座標で表され得る。例えば、移動条件は、複数の移動体のうちの第1の移動体についての第1の出発点および第1の複数の候補到達点、および、複数の移動体のうちの第2の移動体についての第2の出発点および第2の複数の候補到達点を含む。 The acquisition means 121 is configured to acquire travel conditions. The movement conditions include a starting point and a plurality of candidate destination points for each of the plurality of moving objects. The starting point and the destination point may be expressed in (latitude, longitude, altitude) coordinates, for example. For example, the movement conditions include a first starting point and a first plurality of candidate arrival points for a first moving object among the plurality of moving objects, and a second moving object among the plurality of moving objects. and a second plurality of candidate destination points.

移動条件は、例えば、
・移動体の数
・移動範囲の一辺の長さ
・航路計画を行う地図上の範囲
・直線移動を行う最長距離(すなわち、決定され得る直線経路の長さ)
・直線経路の周囲に配置される点群内の点の数
・障害物点群のサンプリング距離(すなわち、障害物を複数の障害物点の集合であるとみなす場合に、障害物上に点をサンプリングする間隔。例えば、障害物点群のサンプリング距離は、格子サンプリング(格子内に属する1点をサンプリングする)場合の格子の一辺の長さであり得る。)
・パスに対するサンプリング距離(すなわち、斥力場を求める際に各直線経路から複数の点をサンプリングするときの各点間の距離)
・移動体半径(例えば移動体が円形または球形でない場合、移動体の中心から移動体の最外点までの距離をいう。)
・障害物と移動体との安定離隔距離
のうちの少なくとも1つをさらに含み得る。
The movement conditions are, for example,
・Number of moving objects ・Length of one side of the movement range ・A range on the map for route planning ・The longest distance to travel in a straight line (i.e., the length of the straight line route that can be determined)
・Number of points in the point cloud placed around the straight path ・Sampling distance of the obstacle point cloud (i.e., when an obstacle is considered to be a set of multiple obstacle points, Sampling interval. For example, the sampling distance of the obstacle point group can be the length of one side of the grid in the case of grid sampling (sampling one point belonging to the grid).)
・Sampling distance for the path (i.e., the distance between each point when sampling multiple points from each straight path when calculating the repulsive force field)
- Moving object radius (for example, if the moving object is not circular or spherical, this refers to the distance from the center of the moving object to the outermost point of the moving object.)
- It may further include at least one of a stable separation distance between the obstacle and the moving object.

移動条件は、例えば、ユーザによって入力されたものであり得る。ここで、入力の仕方は問わない。例えば、ユーザは、インターフェース部110を介して移動条件をシステム100に直接入力するようにしてもよいし、ユーザは、移動条件を端末装置に入力してもよい。端末装置に入力された移動条件は、例えば、ネットワークを介してシステム100に入力され得る。取得手段121は、入力された移動条件を取得し得る。 The movement conditions may be input by, for example, a user. Here, the method of input is not important. For example, the user may directly input the movement conditions to the system 100 via the interface unit 110, or the user may input the movement conditions to a terminal device. The movement conditions input to the terminal device may be input to the system 100 via a network, for example. The acquisition means 121 may acquire the input movement conditions.

移動条件は、例えば、データベース部200に格納されたものであり得る。移動条件は、例えば、ユーザによって予めデータベース部200に格納され得る。取得手段121は、データベース部200から、移動条件を取得し得る。 The movement conditions may be stored in the database unit 200, for example. The movement conditions may be stored in the database unit 200 in advance by the user, for example. The acquisition means 121 can acquire the movement conditions from the database section 200.

決定手段122は、複数の移動体のそれぞれについて、それぞれの直線経路を決定するように構成されている。 The determining means 122 is configured to determine a respective linear route for each of the plurality of moving objects.

決定手段122は、複数の移動体のそれぞれについて、複数の候補到達点のうちの1つを選択し、出発点と、複数の候補到達点のうちの選択された候補到達点を結ぶことにより、複数の移動体のそれぞれの直線経路を決定することができる。選択された候補到達点は、「選択候補到達点」とも呼ばれる。例えば、決定手段122は、第1の移動体について、第1の出発点と、第1の複数の候補到達点のうちの1つの第1の選択候補到達点とを結ぶことにより、第1の移動体の第1の直線経路を決定することができ、第2の移動体について、第2の出発点と、第2の複数の候補到達点のうちの1つの第2の選択候補到達点とを結ぶことにより、第2の移動体の第2の直線経路を決定することができる。このとき、決定手段122は、第1の直線経路と第2の直線経路との交差が最小となるように、第1の直線経路および第2の直線経路のそれぞれを決定することが好ましい。第1の直線経路と第2の直線経路との交差は、3次元空間内での交差であってもよいし、2次元平面上での交差であってもよい。好ましくは、決定手段122は、第1の直線経路と第2の直線経路との2次元平面上での交差が最小となるように、第1の直線経路および第2の直線経路のそれぞれを決定する。例えば、3次元空間内では交差しないが2次元平面へ投影した場合に交差する2つの直線経路のそれぞれに沿って2つの移動体が移動する場合、下降流/上昇流の発生または機体異常の発生により急降下/急上昇が起きた場合に、移動体同士が衝突してしまう可能性がある。2次元平面上での交差が最小とすることにより、このような可能性までも排除または低減することができる。なお、出発点および候補到達点はそれぞれ3次元空間内の点であり得るが、2次元平面(例えば、x-y平面)に投影することにより、出発点および候補到達点を2次元平面上で扱うことができる。 The determining means 122 selects one of the plurality of candidate arrival points for each of the plurality of moving objects, and connects the starting point and the selected candidate arrival point of the plurality of candidate arrival points. Straight-line paths for each of a plurality of moving objects can be determined. The selected candidate destination is also referred to as a "selected candidate destination." For example, the determining means 122 determines, for the first mobile object, by connecting the first starting point and one of the first selected candidate arrival points of the first plurality of candidate arrival points. A first linear path for the mobile object may be determined, and for the second mobile object, a second starting point and a second selected candidate destination of one of the second plurality of candidate destinations. By connecting , the second straight path of the second moving body can be determined. At this time, it is preferable that the determining means 122 determine each of the first straight route and the second straight route so that the intersection between the first straight route and the second straight route is minimized. The first linear path and the second linear path may intersect in a three-dimensional space or may intersect on a two-dimensional plane. Preferably, the determining means 122 determines each of the first straight line path and the second straight line path so that the intersection between the first straight line path and the second straight line path on a two-dimensional plane is minimized. do. For example, when two moving objects move along two linear paths that do not intersect in three-dimensional space but intersect when projected onto a two-dimensional plane, a downward flow/upward flow occurs or an aircraft abnormality occurs. If a sudden drop/surge occurs due to this, there is a possibility that the moving objects will collide with each other. By minimizing the intersection on the two-dimensional plane, even this possibility can be eliminated or reduced. Note that the starting point and candidate destination points can each be points in a three-dimensional space, but by projecting them onto a two-dimensional plane (for example, an xy plane), the starting point and candidate destination points can be expressed on a two-dimensional plane. can be handled.

決定手段122は、任意のアルゴリズムを用いて直線経路を決定することができる。 The determination means 122 can determine the straight line path using any algorithm.

一実施形態において、決定手段122は、二部グラフを利用するアルゴリズムを用いて、直線経路を決定することができる。二部グラフを利用するアルゴリズムでは、複数の移動体のそれぞれの出発点を始点群とし、複数の移動体のそれぞれの複数の候補到達点を終点群として、始点群のうちの1つと終点群のうちの1つとがペアにされる。決定手段122は、始点群のうちの1つと終点群のうちの1つとを結んだ直線と、始点群のうちの他の1つと終点群のうちの他の1つとを結んだそれぞれの直線との交差が最小になるように、始点群のうちの各々と終点群のうちのいずれかとをペアにする。すなわち、決定手段122は、最小交差問題を解くことになる。ペアにされた始点群のうちの1つ、終点群のうちの1つが、それぞれ出発点、選択候補到達点に対応し、それぞれを結んだ直線が直線経路に対応する。 In one embodiment, the determining means 122 may determine the straight path using an algorithm that utilizes bipartite graphs. In an algorithm that uses a bipartite graph, each starting point of a plurality of moving objects is taken as a starting point group, multiple candidate arrival points of each of plural moving objects are taken as a destination point group, and one of the starting point groups and the ending point group are Paired with one of them. The determining means 122 determines a straight line connecting one of the starting point groups and one of the ending point groups, and a straight line connecting another one of the starting points and another one of the ending point groups. Pair each of the starting points with one of the ending points such that the intersection of is minimized. That is, the determining means 122 solves a minimum intersection problem. One of the paired starting points and one of the paired ending points correspond to a starting point and a selected candidate destination point, respectively, and a straight line connecting them corresponds to a straight path.

決定手段122は、二部グラフを利用するアルゴリズムとして、ペア交差数をカウントする枝刈付き深さ優先探索法を利用する。ペア交差数をカウントする枝刈付き深さ優先探索法は、本発明者が開発した手法である。ペア交差数をカウントする枝刈付き深さ優先探索法は、最小交差となるペアを探索するために始点群のうちの1つと終点群のうちの1つとを逐一検証する手法に比べて、計算量を大幅に削減することができ、高速で計算を行うことができる点で有用である。 The determining means 122 uses a pruned depth-first search method that counts the number of pair intersections as an algorithm that uses a bipartite graph. The depth-first search method with pruning that counts the number of pair intersections is a method developed by the present inventor. The pruned depth-first search method that counts the number of pair intersections is computationally efficient compared to the method that verifies one of the starting points and one of the ending points one by one to find the pair that has the minimum intersection. It is useful in that it can significantly reduce the amount of data and perform calculations at high speed.

ペア交差数をカウントする枝刈付き深さ優先探索法は、始点群のうちの1つと終点群のうちの1つとを結んだ直線と、始点群のうちの他の1つと終点群のうちの他の1つとを結んだそれぞれの直線との交差が最小になるように、始点群のうちの各々と終点群のうちのいずれかとのペアを探索する際に、交差数を既に判定された複数のペアをひとまとまりに扱い、それらのひとまとまりについて既に得られている計算結果を使用しながら(枝刈りしながら)、深さ優先探索(depth-first search、DFS)を行う手法である。 The depth-first search method with pruning that counts the number of pair intersections is a method for searching for pairs of each of the start points and one of the end points so that the number of intersections between a line connecting one of the start points and one of the end points is minimized, by treating multiple pairs whose number of intersections has already been determined as a group and performing a depth-first search (DFS) using (pruning) the calculation results already obtained for the group.

枝刈りでは、交差数を既に判定されたペア群がその交差数とともにリストに記憶され、リスト内のペア群の交差数は、次の計算において活用され得る。例えば、始点群のうちの第1の点と終点群のうちの第1の点との第1のペアおよび始点群のうちの第2の点と終点群のうちの第2の点との第2のペアが、交差数1と判定された場合、交差数{(第1の点,第1の点),(第2の点,第2の点)}=1としてリストに記憶される。以降の計算では、始点群のうちの第1の点と終点群のうちの第1の点との第1のペアおよび始点群のうちの第2の点と終点群のうちの第2の点との第2のペアの交差数を改めて計算する必要はなく、リストから得られた交差数1を代用することができる。これにより、計算量を抑えることができる。 In pruning, pairs whose number of intersections has already been determined are stored in a list along with their number of intersections, and the number of intersections of the pairs in the list can be utilized in subsequent calculations. For example, a first pair of a first point in the starting point group and a first point in the ending point group, and a first pair of a second point in the starting point group and a second point in the ending point group. If it is determined that the number of intersections is 1, the pair of 2 is stored in the list as the number of intersections {(first point, first point), (second point, second point)}=1. In subsequent calculations, the first pair of the first point of the starting point group and the first point of the ending point group, and the second point of the starting point group and the second point of the ending point group. There is no need to recalculate the number of intersections of the second pair with , and the number of intersections 1 obtained from the list can be used instead. This allows the amount of calculation to be reduced.

ペア交差数をカウントする枝刈付き深さ優先探索法では、以下の処理がループで繰り返される。
●始点群内の点と終点群内の点との複数のペア候補の中から、Priority Queueにより、ペア候補の組み合わせを1つ取り出す。組み合わせは、2以上のペア候補を含む。Priority Queueは、最も多くのペア候補を含み、かつ、最も少ない交差数を有する組み合わせを抽出するように設定されたアルゴリズムである。
・取り出した組み合わせを『到達済み』としてマークする。
・取り出した組み合わせに含まれるペア候補の総数が出発点の数(すなわち、移動体の数)と同一であれば、ループを終了する。
・取り出した組み合わせのサブセットは『少なくとも現在の交差数よりも多くならない』ことを前提に、到達済みとして交差数をマークする(既にリストに含まれており、リスト内の交差数より交差数が少なくならない場合は更新しない)。
●組み合わせに含まれていない始点群内の点および終点群内の点で構成される可能性のあるペアを全て列挙し、組み合わせと比較して交差数を計測する。
・その際、組み合わせ内のペアの1つと列挙されたペアの1つとを選択し、それらの交差判定を行う。このとき、選択されたペア同士の交差数を既に計算していれば、リストから抽出し、交差数を足し込む。まだ計算していなければ、交差した場合に交差数=+1をし、交差しなければそのままにして、リストに情報を挿入する。
In the depth-first search method with pruning that counts the number of pair intersections, the following process is repeated in a loop.
- Select one combination of pair candidates from among a plurality of pair candidates between a point in the starting point group and a point in the ending point group using the Priority Queue. A combination includes two or more pair candidates. Priority Queue is an algorithm set to extract combinations that include the most pair candidates and have the least number of intersections.
・Mark the retrieved combination as "reached".
- If the total number of pair candidates included in the extracted combination is the same as the number of starting points (that is, the number of moving objects), the loop ends.
・Mark the number of intersections as reached, assuming that the retrieved subset of combinations is ``at least not greater than the current number of intersections'' (it is already included in the list, and the number of intersections is less than the number of intersections in the list). (If not, do not update).
●Enumerate all possible pairs consisting of points in the starting point group and points in the ending point group that are not included in the combination, and measure the number of intersections by comparing them with the combination.
- At that time, one of the pairs in the combination and one of the listed pairs are selected and their intersection judgment is performed. At this time, if the number of intersections between the selected pairs has already been calculated, it is extracted from the list and the number of intersections is added. If it has not been calculated yet, if it intersects, increase the number of intersections by +1, if it does not intersect, leave it as is and insert the information into the list.

最終的に得られた組み合わせが、最小交差を有するペアの組み合わせとなる。 The final combination is the combination of pairs with the minimum intersection.

図4Aに示される、より具体的な例を用いて、ペア交差数をカウントする枝刈付き深さ優先探索法を説明する。 A pruned depth-first search method that counts the number of pair intersections will be described using a more specific example shown in FIG. 4A.

図4A(a)に示されるように、5つの出発点を含む始点群と、5つの候補到達点を含む終点群とについて、始点群のうちの1つと終点群のうちの1つとを結んだ直線と、始点群のうちの他の1つと終点群のうちの他の1つとを結んだそれぞれの直線との交差が最小になるように、始点群のうちの各々と終点群のうちのいずれかとをペアにすることを考える。 As shown in FIG. 4A(a), for a starting point group including five starting points and an ending point group including five candidate destination points, one of the starting points and one of the ending point group are connected. Each of the starting points and one of the ending points such that the intersection between the straight line and each straight line connecting another one of the starting points and another one of the ending points is minimized. Consider pairing up.

まず、第1の出発点と第1の出発点とのペア(1,1)と、第2の出発点と第2の出発点とのペア(2,2)との交差数を計算する。図4Aに示される例では、これらのペアは、交差していないので、
交差数{(1,1),(2,2)}=0
としてリストに記憶される。
First, the number of intersections between the pair (1,1) of the first starting point and the pair (2,2) of the second starting point and the second starting point is calculated. In the example shown in FIG. 4A, these pairs do not intersect, so
Intersection number {(1,1), (2,2)} = 0
are stored in the list as

次に、第1の出発点と第1の出発点とのペア(1,1)と、第2の出発点と第2の出発点とのペア(2,2)と、第3の出発点と第3の出発点とのペア(3,3)との交差数を計算する。図4Aに示される例では、これらのペアは、交差していないので、
交差数{(1,1),(3,3)}=0
交差数{(2,2),(3,3)}=0
交差数{(1,1),(2,2),(3,3)}=0
としてリストに記憶される。このとき、{(1,1),(2,2)}=0であると既に計算されてリストに記憶されているので、第1の出発点と第1の出発点とのペア(1,1)と、第2の出発点と第2の出発点とのペア(2,2)との交差数を改めて計算する必要はなく、第1の出発点と第1の出発点とのペア(1,1)と、第3の出発点と第3の出発点とのペア(3,3)との交差数、および、第2の出発点と第2の出発点とのペア(2,2)と、第3の出発点と第3の出発点とのペア(3,3)との交差数を計算することで足りる。このようにして枝刈りを行うことにより、計算量を著しく低減することができる。
Next, a pair (1,1) of a first starting point and a first starting point, a pair (2,2) of a second starting point and a second starting point, and a third starting point The number of intersections between the pair (3, 3) and the third starting point is calculated. In the example shown in Figure 4A, these pairs do not intersect, so
Number of intersections {(1, 1), (3, 3)} = 0
Number of intersections {(2, 2), (3, 3)} = 0
Number of intersections {(1, 1), (2, 2), (3, 3)} = 0
is stored in the list as . At this time, since {(1, 1), (2, 2)} = 0 has already been calculated and stored in the list, the pair (1, 2) of the first starting point and the first starting point is There is no need to recalculate the number of intersections between 1) and the pair (2, 2) of the second starting point and the second starting point, and the pair (2, 2) of the first starting point and the first starting point 1,1) and the pair (3,3) of the third starting point and the third starting point, and the number of intersections of the pair (2,2) of the second starting point and the second starting point ) and the pair (3, 3) of the third starting point and the third starting point. By performing pruning in this way, the amount of calculation can be significantly reduced.

次に、第1の出発点と第1の出発点とのペア(1,1)と、第2の出発点と第2の出発点とのペア(2,2)と、第3の出発点と第3の出発点とのペア(3,3)、第4の出発点と第4の出発点とのペア(4,4)との交差数を計算する。図4Aに示される例では、これらのペアは、交差していないので、
交差数{(1,1),(4,4)}=0
交差数{(2,2),(4,4)}=0
交差数{(3,3),(4,4)}=0
交差数{(1,1),(2,2),(4,4)}=0
交差数{(1,1),(3,3),(4,4)}=0
交差数{(2,2),(3,3),(4,4)}=0
交差数{(1,1),(2,2),(3,3),(4,4)}=0
としてリストに記憶される。このとき、{(1,1),(2,2),(3,3)}=0であると既に計算されてリストに記憶されているので、第1の出発点と第1の出発点とのペア(1,1)と、第2の出発点と第2の出発点とのペア(2,2)と、第3の出発点と第3の出発点とのペア(3,3)との交差数を改めて計算する必要はなく、第1の出発点と第1の出発点とのペア(1,1)と、第4の出発点と第4の出発点とのペア(4,4)との交差数、第2の出発点と第2の出発点とのペア(2,2)と、第4の出発点と第4の出発点とのペア(4,4)との交差数、および、第3の出発点と第3の出発点とのペア(3,3)と第4の出発点と第4の出発点とのペア(4,4)との交差数を計算することで足りる。
Next, a pair (1,1) of a first starting point and a first starting point, a pair (2,2) of a second starting point and a second starting point, and a third starting point The number of intersections between the pair (3, 3) of the and the third starting point, and the pair (4, 4) of the fourth starting point and the fourth starting point are calculated. In the example shown in Figure 4A, these pairs do not intersect, so
Number of intersections {(1, 1), (4, 4)} = 0
Number of intersections {(2, 2), (4, 4)} = 0
Number of intersections {(3, 3), (4, 4)} = 0
Number of intersections {(1, 1), (2, 2), (4, 4)} = 0
Number of intersections {(1, 1), (3, 3), (4, 4)} = 0
Number of intersections {(2, 2), (3, 3), (4, 4)} = 0
Number of intersections {(1, 1), (2, 2), (3, 3), (4, 4)} = 0
is stored in the list as . At this time, since {(1, 1), (2, 2), (3, 3)} = 0 has already been calculated and stored in the list, the first starting point and the first starting point the pair (1,1), the pair (2,2) of the second starting point and the second starting point, and the pair (3,3) of the third starting point and the third starting point. There is no need to recalculate the number of intersections between the first starting point and the first starting point (1,1), and the fourth starting point and the fourth starting point pair (4, 4), the number of intersections between the pair (2,2) of the second starting point and the second starting point and the pair (4,4) of the fourth starting point and the fourth starting point and the number of intersections between the pair (3,3) of the third starting point and the third starting point and the pair (4,4) of the fourth starting point and the fourth starting point. That's enough.

次に、図4A(b)に示されるように、第1の出発点と第1の出発点とのペア(1,1)と、第2の出発点と第2の出発点とのペア(2,2)と、第3の出発点と第3の出発点とのペア(3,3)、第4の出発点と第4の出発点とのペア(4,4)、第5の出発点と第5の出発点とのペア(5,5)との交差数を計算する。図4A(b)に示される例では、これらのペアは、1回の交差を有しているので、
交差数{(1,1),(2,2),(3,3),(4,4),(5,5)}=1
としてリストに記憶される。このとき、{(1,1),(2,2),(3,3),(4,4)}=0であると既に計算されてリストに記憶されているので、第1の出発点と第1の出発点とのペア(1,1)と、第2の出発点と第2の出発点とのペア(2,2)と、第3の出発点と第3の出発点とのペア(3,3)と、第4の出発点と第4の出発点とのペア(4,4)との交差数を改めて計算する必要はなく、第1の出発点と第1の出発点とのペア(1,1)と、第5の出発点と第5の出発点とのペア(5,5)との交差数、第2の出発点と第2の出発点とのペア(2,2)と、第5の出発点と第5の出発点とのペア(5,5)との交差数、第3の出発点と第3の出発点とのペア(3,3)と、第5の出発点と第5の出発点とのペア(5,5)との交差数、および、第4の出発点と第4の出発点とのペア(4,4)と、第5の出発点と第5の出発点とのペア(5,5)との交差数を計算することで足りる。
Next, as shown in FIG. 4A(b), the pair (1,1) of the first starting point and the first starting point and the pair (1,1) of the second starting point and the second starting point 2,2), the pair (3,3) of the third starting point and the third starting point, the pair (4,4) of the fourth starting point and the fourth starting point, and the fifth starting point Calculate the number of intersections between the point and the pair (5,5) of the fifth starting point. In the example shown in FIG. 4A(b), these pairs have one intersection, so
Number of intersections {(1, 1), (2, 2), (3, 3), (4, 4), (5, 5)} = 1
is stored in the list as . At this time, since {(1,1), (2,2), (3,3), (4,4)}=0 has already been calculated and stored in the list, the first starting point and the first starting point (1,1), the second starting point and the second starting point (2,2), and the third starting point and the third starting point. There is no need to recalculate the number of intersections between the pair (3, 3) and the pair (4, 4) between the fourth starting point and the fourth starting point; The number of intersections between the pair (1, 1) and the pair (5, 5) between the fifth starting point and the fifth starting point, and the pair (2 , 2), the number of intersections between the pair (5, 5) of the fifth starting point and the fifth starting point, and the pair (3, 3) of the third starting point and the third starting point, The number of intersections between the pair (5, 5) of the fifth starting point and the fifth starting point, and the number of intersections between the pair (4, 4) of the fourth starting point and the fourth starting point and the fifth starting point It is sufficient to calculate the number of intersections between the starting point and the fifth starting point pair (5, 5).

次に、深さ優先探索の観点から、図4A(c)に示されるように、第1の出発点と第1の出発点とのペア(1,1)と、第2の出発点と第2の出発点とのペア(2,2)と、第3の出発点と第3の出発点とのペア(3,3)、第4の出発点と第5の出発点とのペア(4,5)、第5の出発点と第4の出発点とのペア(5,4)との交差数を計算する。図4A(c)に示される例では、これらのペアは、交差していないので、
交差数{(1,1),(2,2),(3,3),(4,5),(5,4)}=0
としてリストに記憶される。このとき、{(1,1),(2,2),(3,3)}=0であると既に計算されてリストに記憶されているので、第1の出発点と第1の出発点とのペア(1,1)と、第2の出発点と第2の出発点とのペア(2,2)と、第3の出発点と第3の出発点とのペア(3,3)との交差数を改めて計算する必要はなく、第1の出発点と第1の出発点とのペア(1,1)と、第4の出発点と第5の出発点とのペア(4,5)との交差数、第2の出発点と第2の出発点とのペア(2,2)と、第4の出発点と第5の出発点とのペア(4,5)との交差数、第3の出発点と第3の出発点とのペア(3,3)と第4の出発点と第5の出発点とのペア(4,5)との交差数、第1の出発点と第1の出発点とのペア(1,1)と、第5の出発点と第4の出発点とのペア(5,4)との交差数、第2の出発点と第2の出発点とのペア(2,2)と、第5の出発点と第4の出発点とのペア(5,4)との交差数、第3の出発点と第3の出発点とのペア(3,3)と、第5の出発点と第4の出発点とのペア(5,4)との交差数および、第4の出発点と第5の出発点とのペア(4,5)と、第5の出発点と第4の出発点とのペア(5,4)との交差数を計算することで足りる。
Next, from the perspective of depth-first search, as shown in FIG. 4A(c), the pair (1,1) of the first starting point and the second starting point and the The pair (2, 2) of the second starting point, the pair (3, 3) of the third starting point and the third starting point, and the pair (4, 3) of the fourth starting point and the fifth starting point. , 5), calculate the number of intersections of the pair (5, 4) of the fifth starting point and the fourth starting point. In the example shown in FIG. 4A(c), these pairs do not intersect, so
Number of intersections {(1, 1), (2, 2), (3, 3), (4, 5), (5, 4)} = 0
is stored in the list as . At this time, since {(1, 1), (2, 2), (3, 3)} = 0 has already been calculated and stored in the list, the first starting point and the first starting point the pair (1,1), the pair (2,2) of the second starting point and the second starting point, and the pair (3,3) of the third starting point and the third starting point. There is no need to recalculate the number of intersections between the first starting point and the first starting point (1,1), and the fourth starting point and the fifth starting point pair (4, 5), the number of intersections between the pair (2,2) of the second starting point and the second starting point and the pair (4,5) of the fourth starting point and the fifth starting point number, the number of intersections between the pair (3,3) of the third starting point and the third starting point and the pair (4,5) of the fourth starting point and the fifth starting point, the first starting point The number of intersections between the pair (1, 1) of the point and the first starting point and the pair (5, 4) of the fifth starting point and the fourth starting point, and the number of intersections between the second starting point and the second starting point The number of intersections between the pair (2, 2) with the starting point and the pair (5, 4) between the fifth starting point and the fourth starting point, and the pair between the third starting point and the third starting point (3,3) and the pair (5,4) of the fifth starting point and the fourth starting point, and the number of intersections of the pair (4,5) of the fourth starting point and the fifth starting point. ) and the pair (5, 4) of the fifth starting point and the fourth starting point.

出発点と同数の5つのペアについて、交差数が最小であると判断されるまで、深さ優先探索を続ける。例えば、さらなる探索を行っても現在得られている最小交差数よりも小さくならないと判断される場合には、処理を終了することができる。本例では、最小0の交差数を得られているため、ここで処理を終了することができる。 Continue depth-first search for the same number of five pairs as starting points until the number of intersections is determined to be the minimum. For example, if it is determined that the number of intersections will not become smaller than the currently obtained minimum number of intersections even after further searching, the process can be terminated. In this example, since the minimum number of intersections is 0, the process can be ended here.

決定手段122は、二部グラフを利用するアルゴリズムにおいて、最小交差問題を解く前に、Sequential Partition法を利用して、最小交差問題を部分問題に切り分けるようにしてもよい。Sequential Partition法は、本発明者が開発した手法である。最小交差問題を部分問題に切り分けることにより、最小交差問題を解くときの計算量を著しく低減することができる。全体の点に対して最小交差問題を解く場合には、例えば、ペア交差数をカウントする枝刈付き深さ優先探索法を利用すると、計算量がO(N)となり得るが、最小交差問題の部分問題を解く、すなわち、点群の複数のサブセットの各々に対して最小交差問題を解くようにすることにより、Nを小さくすることができるからである(Nは、出発点の数)。一つの実施形態において、移動体の数を15台として計算した場合、全体の点に対して最小交差問題を計算するには1日以上かかるが、Sequential Partition法を用いた場合20分程度で計算することができる。 In an algorithm using a bipartite graph, the determining means 122 may use a sequential partition method to divide the minimum intersection problem into subproblems before solving the minimum intersection problem. The Sequential Partition method is a method developed by the present inventor. By dividing the minimum intersection problem into subproblems, the amount of calculation when solving the minimum intersection problem can be significantly reduced. When solving a minimum intersection problem for all points, for example, if a pruned depth-first search method that counts the number of pair intersections is used, the amount of calculation can be O(N 4 ), but the minimum intersection problem This is because N can be reduced by solving a subproblem of , that is, by solving a minimum intersection problem for each of a plurality of subsets of the point cloud (N is the number of starting points). In one embodiment, when the number of moving objects is 15, it takes more than one day to calculate the minimum intersection problem for all points, but when using the sequential partition method, it takes about 20 minutes. can do.

図4Bは、Sequential Partition法のステップを概略的に図示する。 FIG. 4B schematically illustrates the steps of the Sequential Partition method.

図4B(a)に示されるように、複数の移動体のそれぞれの出発点および複数の移動体のそれぞれの複数の候補到達点の2次元分布が与えられたとする。出発点および候補到達点はそれぞれ3次元空間内の点であり得るが、図4B(a)に示される2次元分布は、出発点および候補到達点をx-y平面に投影した分布である。 As shown in FIG. 4B(a), it is assumed that a two-dimensional distribution of starting points for each of the plurality of moving bodies and a plurality of candidate arrival points for each of the plurality of moving bodies is given. Although the starting point and the candidate destination points can each be points in a three-dimensional space, the two-dimensional distribution shown in FIG. 4B(a) is a distribution in which the starting point and the candidate destination points are projected onto the xy plane.

次いで、図4B(b)に示されるように、図4B(a)に示される2次元分布の軸を回転させ、x軸方向に横長に並ぶような形の分布に変換する。これは、例えば、任意の多変量解析によって行われることができ、例えば、2次元分布をKL展開(ベクトルの分布を最も良く近似する部分空間を算出)することによって行われる。このとき、x軸は固有値の1次元目に対応し、y軸は固有値の2次元目に対応する。 Next, as shown in FIG. 4B(b), the axis of the two-dimensional distribution shown in FIG. 4B(a) is rotated, and the distribution is converted into a horizontally long distribution in the x-axis direction. This can be done, for example, by any multivariate analysis, for example by performing KL expansion on the two-dimensional distribution (calculating a subspace that best approximates the vector distribution). At this time, the x-axis corresponds to the first dimension of the eigenvalues, and the y-axis corresponds to the second dimension of the eigenvalues.

次いで、複数の出発点のうちの1つを選択し、複数の候補到達点のうちの1つをそのペアとして仮置く。選択される出発点は、複数の出発点のうちの任意の点であり得る。選択された出発点とペアにされた候補到達点とを結ぶことで得られる直線を基準として、負側または正側に同数の出発点および候補到達点が存在するかを判定し、同数の出発点および候補到達点が存在する場合には、そのペアがPartitionになり得るとして、そのペアの負側と正側とを切り分けて、別々に取り扱うことができるようになる。なぜなら、負側または正側に存在する出発点の数と候補到達点の数とが同数であることで、負側または正側に存在する出発点および候補到達点のみで全てペアを組むことができるからである。Partitionになり得るペアの直線は、他のどのペアの直線とも決して交差しない直線となる。 Next, one of the plurality of starting points is selected, and one of the plurality of candidate destination points is temporarily placed as the pair. The selected starting point can be any point among the plurality of starting points. Based on the straight line obtained by connecting the selected starting point and the paired candidate destination point, it is determined whether there are the same number of starting points and candidate destination points on the negative side or the positive side, and the same number of starting points and candidate destination points exist. If a point and a candidate arrival point exist, the pair can become a Partition, and the negative and positive sides of the pair can be separated and handled separately. This is because the number of starting points that exist on the negative or positive side is the same as the number of candidate destination points, so it is possible to form pairs only with starting points and candidate destination points that exist on the negative or positive side. Because it can be done. A pair of straight lines that can become a Partition is a straight line that never intersects with any other pair of straight lines.

ある場合において、図4B(c)に示されるように、一番左側の(すなわち、x軸の値が最小となる)出発点S1を選択し、一番左側の(すなわち、x軸の値が最小となる)候補到達点G1をそのペアとして仮置く。このとき、S1とG1とを結ぶことで得られる直線L11に対して、L11よりも負側に存在する出発点の数と候補到達点の数とが同一(または、L11よりも正側に存在する出発点の数と候補到達点の数とが同一)である場合、このペア(S1,G1)は、Partitionとなり得るため、ペア(S1,G1)が決定される。図4B(c)に示される例では、正側に存在する出発点の数および候補到達点の数が8で一致している。 In a certain case, as shown in FIG. 4B(c), the leftmost starting point S1 (i.e., the x-axis value is the smallest) is selected, and the leftmost candidate destination point G1 (i.e., the x-axis value is the smallest) is provisionally set as its pair. In this case, with respect to the line L11 obtained by connecting S1 and G1, if the number of starting points and the number of candidate destination points on the negative side of L11 are the same (or the number of starting points and the number of candidate destination points on the positive side of L11 are the same), this pair (S1, G1) can be a Partition, so the pair (S1, G1) is determined. In the example shown in FIG. 4B(c), the number of starting points and the number of candidate destination points on the positive side are the same, at 8.

別の場合において、図4B(d)に示されるように、左側から3番目の(すなわち、x軸の値が3番目に小さい)出発点S3を選択し、左から4番目の(すなわち、x軸の値が4番目に小さい)候補到達点G4をそのペアとして仮置く。このとき、S3とG4とを結ぶことで得られる直線L34に対して、L34よりも負側に存在する出発点の数と候補到達点の数とが同一(または、L34よりも正側に存在する出発点の数と候補到達点の数とが同一)でない場合、このペア(S3,G4)は、Partitionとなり得ないため、別のペアの探索に移る。図4B(c)に示される例では、正側に存在する出発点の数、候補到達点の数が、それぞれ6、5で一致しておらず、負側に存在する出発点の数、候補到達点の数が、それぞれ2、3で一致していない。別のペアの選択は、例えば、x軸の値が次に小さい候補到達点または大きい候補到達点をペアとして仮置くこと、x軸の値が次に小さい出発点または大きい出発点を選択すること等であり得る。 In another case, as shown in FIG. 4B(d), select the third starting point S3 from the left (i.e., the third smallest x-axis value) and the fourth starting point S3 from the left (i.e., x Candidate arrival point G4 (with the fourth smallest axis value) is temporarily placed as the pair. At this time, with respect to the straight line L34 obtained by connecting S3 and G4, the number of starting points that exist on the negative side of L34 and the number of candidate destination points are the same (or the number of starting points that exist on the positive side of L34). If the number of starting points and the number of candidate destination points are not the same), this pair (S3, G4) cannot be a Partition, and the search moves on to another pair. In the example shown in FIG. 4B(c), the number of starting points on the positive side and the number of candidate arrival points are 6 and 5, respectively, which do not match, and the number of starting points and candidates on the negative side do not match. The number of reached points is 2 and 3, respectively, which do not match. To select another pair, for example, temporarily place the candidate destination point with the next smallest or largest x-axis value as a pair, or select the starting point with the next smallest or largest x-axis value. etc.

なお、選択された出発点とペアにされた候補到達点とを結ぶことで得られる直線上に複数の出発点および/または候補到達点が存在する場合には、最小の距離を持つペアをPartitionとして採用することができる。 Note that if there are multiple starting points and/or candidate arriving points on the straight line obtained by connecting the selected starting point and the paired candidate arriving points, the pair with the minimum distance is selected as Partition. It can be adopted as

出発点の数をNとすると、Sequential Partition法による計算量は、最大の場合(全てペアリングされなかった場合)、O(N)となり、最小の場合(全て1回でペアリングされた場合)、O(N)となる。 When the number of starting points is N, the amount of calculation by the Sequential Partition method is O(N 2 ) in the maximum case (when all are not paired), and O(N 2 ) in the minimum case (when all are paired at once). ), O(N).

Sequential Partition法を適用した後、例えば、Sequential Partition法によって切り分けられた出発点および候補到達点のサブセットに対して、最小交差問題を解くことになる。例えば、上述したペア交差数をカウントする枝刈付き深さ優先探索法によって、サブセットに対する最小交差問題を解くことができる。あるいは、Sequential Partition法を適用した後、例えば、Sequential Partition法によって切り分けられた出発点および候補到達点のサブセットに対して、さらにSequential Partition法を適用することによりサブセットを切り分けるようにしてもよい。サブセット内の出発点の数を減らすことにより、最小交差問題を解くために必要な計算量を低減することができるからである。好ましくは、Sequential Partition法のための計算量が、Sequential Partition法によって低減できる最小交差問題を解くための計算量を上回らないように、Sequential Partition法を適用すべきである。 After applying the Sequential Partition method, for example, a minimum intersection problem is solved for the subset of starting points and candidate destination points carved out by the Sequential Partition method. For example, the minimum intersection problem for a subset can be solved by the pruned depth-first search method that counts the number of pair intersections described above. Alternatively, after applying the Sequential Partition method, for example, the subsets may be divided by further applying the Sequential Partition method to the subsets of the starting point and candidate destination points that have been divided by the Sequential Partition method. This is because by reducing the number of starting points in the subset, the amount of calculation required to solve the minimum intersection problem can be reduced. Preferably, the Sequential Partition method should be applied such that the amount of calculation for the Sequential Partition method does not exceed the amount of calculation for solving the minimum intersection problem, which can be reduced by the Sequential Partition method.

導出手段123は、決定手段122によって複数の移動体のそれぞれについて決定されたそれぞれの直線経路に基づいて、修正経路を導出するように構成されている。 The deriving means 123 is configured to derive a corrected route based on each straight line route determined for each of the plurality of moving objects by the determining means 122.

導出手段123は、複数の移動体のそれぞれの直線経路について、出発点と選択候補到達点との間の少なくとも1つの点を特定し、出発点と、特定された少なくとも1つの点と、選択候補到達点とを結ぶことによって直線経路を修正することにより、複数の移動体のそれぞれの修正経路を導出することができる。例えば、導出手段123は、第1の直線経路について、第1の出発点と、第1の出発点と第1の選択候補到達点との間の少なくとも1つの点と、第1の選択候補到達点とを結ぶことによって第1の直線経路を修正することにより、第1の修正経路を導出することができる。例えば、導出手段123は、第2の直線経路について、第2の出発点と、第2の出発点と第2の選択候補到達点との間の少なくとも1つの点と、第2の選択候補到達点とを結ぶことによって第2の直線経路を修正することにより、第2の修正経路を導出することができる。 The derivation means 123 specifies at least one point between the starting point and the selected candidate destination point for each linear route of the plurality of moving objects, and identifies the starting point, the specified at least one point, and the selected candidate. By correcting the straight line route by connecting the destination points, corrected routes for each of the plurality of moving bodies can be derived. For example, the deriving means 123 calculates, for the first straight route, a first starting point, at least one point between the first starting point and the first selected candidate destination, and a first selected candidate destination point. By modifying the first linear route by connecting the points, the first modified route can be derived. For example, the deriving means 123 calculates, for the second linear route, the second starting point, at least one point between the second starting point and the second selected candidate destination, and the second selected candidate destination point. By modifying the second linear route by connecting the points, a second modified route can be derived.

出発点と選択候補到達点との間の少なくとも1つの点は、複数の直線経路のそれぞれの周囲に配置された点群のうちの少なくとも1つの点であり得る。例えば、第1の出発点と第1の選択候補到達点との間の少なくとも1つの点は、第1の直線経路の周囲に配置された第1の点群のうちの少なくとも1つの点であり得、第2の出発点と第2の選択候補到達点との間の少なくとも1つの点は、第2の直線経路の周囲に配置された第2の点群のうちの少なくとも1つの点であり得る。 At least one point between the starting point and the selection candidate destination point may be at least one point of a group of points arranged around each of the multiple linear paths. For example, at least one point between the first starting point and the first selection candidate destination point may be at least one point of a first group of points arranged around the first linear path, and at least one point between the second starting point and the second selection candidate destination point may be at least one point of a second group of points arranged around the second linear path.

ここで、点群は、複数の直線経路のそれぞれの周囲で任意の形状の広がりを有し得る。例えば、点群は、出発点、選択候補到達点、または、出発点と選択候補到達点との間の点を中心とする球状の広がりを有し得るが、他の形状、例えば、楕円球状、立方体状、直方体状、円柱状、または角柱状の広がりを有するようにしてもよい。さらに、点群は、複数の直線経路のそれぞれの周囲で任意の大きさの広がりを有し得る。例えば、点群は、出発点と選択候補到達点との間の距離を直径の長さ、半径の長さ、一辺の長さ、または対角線の長さとする広がりを有する。例えば、出発点と候補到達点との間の距離が約10kmであるならば、半径約10kmの球状の広がりを有する点群とすることが好ましい。 Here, the point cloud may have an arbitrary shape of extent around each of the plurality of linear paths. For example, the point cloud may have a spherical extent centered at the starting point, the selected candidate destination, or a point between the starting point and the selected candidate destination, but may have other shapes, such as ellipsoidal, spherical, It may have a cubic, rectangular parallelepiped, cylindrical, or prismatic spread. Further, the point cloud may have an arbitrarily large extent around each of the plurality of straight-line paths. For example, the point cloud has an extent where the distance between the starting point and the selected candidate destination is the length of a diameter, the length of a radius, the length of a side, or the length of a diagonal. For example, if the distance between the starting point and the candidate destination point is approximately 10 km, it is preferable that the point group has a spherical extent with a radius of approximately 10 km.

さらに、点群は、任意の数の点を有し得る。例えば、点群は、出発点と選択候補到達点との間の距離に応じた数の点を有し得る。例えば、点群は、約100個以下、約500個以下、約1000個以下、約2000個以下、約10000個以下の点を有し得る。点群内の点を多くすると、精密な経路生成を可能とするが、計算量が多くなる。他方で、点群内の点を少なくすると、高速で計算することができるようになるが、粗略な経路生成となり得る。好ましくは、約500個~約1000個の点を有する点群であり得る。計算量および経路の精密さの点でバランスがよいからである。 Furthermore, a point cloud can have any number of points. For example, the point cloud may have a number of points depending on the distance between the starting point and the selected candidate destination. For example, a point cloud can have up to about 100 points, up to about 500 points, up to about 1000 points, up to about 2000 points, up to about 10000 points. Increasing the number of points in the point cloud enables more precise route generation, but increases the amount of calculation. On the other hand, reducing the number of points in the point cloud allows for faster calculations, but may result in crude path generation. Preferably, it may be a point cloud having about 500 to about 1000 points. This is because there is a good balance between the amount of calculation and the precision of the route.

さらに、点群は、任意の点分布を有し得る。例えば、点群は、ランダムな点分布を有し得る。すなわち、点群内の複数の点は、点群が占める空間内でランダムに分布し得る。例えば、点群は、均一な点分布を有し得る。すなわち、点群内の複数の点は、点群が占める空間内で規則的に分布し得る。好ましい実施形態では、点群は、出発点に近づくほど点が密になるような点分布、または、選択候補到達点に近づくほど点が密になるような点分布を有し得る。さらに好ましい実施形態では、出発点に近づくほど点が密になり、かつ、選択候補到達点に近づくほど点が密になるような点分布を有し得る。このような分布を有する点群によれば、出発点および/または選択候補到達点の近傍により多数の点を提供し、出発点および/または選択候補到達点の遠方により少数の点を提供することができる。これは、複数の移動体が衝突する可能性が高い出発点および/または選択候補到達点の近傍で細かく直線経路を修正することを可能にすることで、より精密な経路生成を可能にするとともに、複数の移動体が衝突する可能性が低い出発点および/または選択候補到達点の遠方での選択肢の数を減らし、計算負荷を軽減することができる。 Furthermore, the point cloud may have any point distribution. For example, a point cloud may have a random point distribution. That is, the points within the point cloud may be randomly distributed within the space occupied by the point cloud. For example, the point cloud may have a uniform point distribution. That is, the points within the point cloud may be regularly distributed within the space occupied by the point cloud. In a preferred embodiment, the point cloud may have a point distribution such that the points become denser closer to the starting point, or a point distribution such that the points become denser closer to the selected candidate destination. In a further preferred embodiment, the point distribution may be such that the closer the starting point is, the more dense the points are, and the closer the selected candidate destination point is, the denser the points are. According to a point cloud having such a distribution, a larger number of points are provided near the starting point and/or the selected candidate destination point, and a smaller number of points are provided farther from the starting point and/or the selected candidate destination point. I can do it. This enables more precise route generation by making it possible to finely modify the straight line route near the starting point and/or selected candidate destination point where multiple moving objects are likely to collide. , it is possible to reduce the number of options for distant starting points and/or selection candidate destination points where there is a low possibility that multiple moving bodies will collide, thereby reducing the calculation load.

出発点に近づくほど点が密になるような点分布を有する点群は、例えば、図5Aに示される方法によって直線経路の周囲に配置される。図5Aに示される例では、記載の簡単のために、点群は、2次元平面内の第1象限のみにしか示されないが、第2象限、第3象限、および/または第4象限にも、ならびに、3次元空間内にも当然に分布し得ることが理解される。 A point cloud having a point distribution in which the points are denser closer to the starting point is placed around the linear path, for example, by the method shown in FIG. 5A. In the example shown in FIG. 5A, for ease of description, the point cloud is shown only in the first quadrant in a two-dimensional plane, but it is understood that the point cloud may naturally be distributed in the second, third, and/or fourth quadrants as well as in three-dimensional space.

第一に、図5A(a)に示されるように、極座標系において、ランダムな分布を有する点群を取得する。 First, as shown in FIG. 5A(a), a point group having a random distribution is obtained in a polar coordinate system.

第二に、図5A(b)に示されるように、極座標系における点群を直交座標系における点群に変換する。これにより、点群は、原点に近いほど点が密になり、原点から離れるほど点が疎になる点分布を有することになる。この点群は、円状(3次元空間では球状)の広がりを有することになる。 Second, as shown in FIG. 5A(b), the point group in the polar coordinate system is transformed into the point group in the orthogonal coordinate system. As a result, the point group has a point distribution in which the closer the point is to the origin, the denser the points, and the farther away from the origin, the sparser the points. This point group has a circular (spherical in three-dimensional space) spread.

例えば、2次元の極座標系における点群内の点iの座標pは、
=(d,θ) (d:(0,1],θ:[0,2π))
として表され、2次元の極座標系における点群を2次元の直交座標系における点群に変換すると、2次元の直交座標系における点群内の点iの座標qは、
=(x,y,z)=(dcos(θ)),dsin(θ))
となる。
For example, the coordinate p i of point i in the point group in a two-dimensional polar coordinate system is
p i = (d i , θ i ) (d: (0, 1], θ: [0, 2π))
When a point group in a two-dimensional polar coordinate system is converted to a point group in a two-dimensional orthogonal coordinate system, the coordinates q i of point i in the point group in the two-dimensional orthogonal coordinate system are
q i =(x i , y i , z i )=(d i cos(θ i )), d i sin(θ i ))
becomes.

例えば、3次元の極座標系における点群内の点iの座標pは、
=(d,θ,φ) d:(0,1],θ:[0,2π),φ:[-1/2π,1/2π]
として表され、3次元の極座標系における点群を3次元の直交座標系における点群に変換すると、3次元の直交座標系における点群内の点iの座標qは、
=(x,y,z)=(dsin(θ)cos(φ),dsin(θ)sin(φ),dcos(θ))
となる。
For example, the coordinate p i of point i in the point group in a three-dimensional polar coordinate system is
p i = (d i , θ i , φ i ) d: (0, 1], θ: [0, 2π), φ: [-1/2π, 1/2π]
When a point group in a three-dimensional polar coordinate system is converted to a point group in a three-dimensional orthogonal coordinate system, the coordinates q i of point i in the point group in the three-dimensional orthogonal coordinate system are
q i = (x i , y i , z i ) = (d i sin (θ i ) cos (φ i ), d i sin (θ i ) sin (φ i ), d i cos (θ i ))
becomes.

第三に、図5A(c)に示されるように、直交座標系における点群を出発点を中心に配置する。これにより、出発点に近づくほど点が密になる点分布を有する点群を取得することができる。このとき、点群が選択候補到達点に及ぶように、点群の広がりを調節することができる。 Thirdly, as shown in FIG. 5A(c), the point cloud in the Cartesian coordinate system is positioned with the starting point at its center. This makes it possible to obtain a point cloud having a point distribution in which the points become denser as they approach the starting point. At this time, the spread of the point cloud can be adjusted so that the point cloud extends to the selection candidate destination point.

選択候補到達点に近づくほど点が密になるような点分布を有する点群は、例えば、図5Aに示される方法と同様の方法によって、直線経路の周囲に配置される。図5Aに示される方法において、直交座標系における点群を選択候補到達点を中心に配置することにより、選択候補到達点に近づくほど点が密になる点分布を有する点群を取得することができる。 A point group having a point distribution such that the points become denser as they approach the selected candidate destination point is arranged around the straight path by, for example, a method similar to the method shown in FIG. 5A. In the method shown in FIG. 5A, by arranging the point group in the orthogonal coordinate system around the selected candidate destination point, it is possible to obtain a point group with a point distribution in which the points become denser as they approach the selected candidate destination point. can.

出発点に近づくほど点が密になり、かつ、選択候補到達点に近づくほど点が密になるような点分布を有する点群は、例えば、図5Bに示される方法によって直線経路の周囲に配置される。 A point group having a point distribution such that the closer to the starting point the closer the points are and the closer the selected candidate destination point the more dense the points are, for example, arranged around the straight path by the method shown in FIG. 5B. be done.

第一に、図5B(a)に示されるように、極座標系において、ランダムな分布を有する点群を取得する。 First, as shown in FIG. 5B(a), a point group having a random distribution is obtained in a polar coordinate system.

第二に、図5B(b)に示されるように、極座標系における点群を直交座標系における点群に変換する。これにより、点群は、原点に近いほど点が密になり、原点から離れるほど点が疎になる点分布を有することになる。この点群は、円状(3次元空間では球状)の広がりを有することになる。 Second, as shown in FIG. 5B(b), the point group in the polar coordinate system is transformed into the point group in the orthogonal coordinate system. As a result, the point group has a point distribution in which the closer the point is to the origin, the denser the points, and the farther away from the origin, the sparser the points. This point group has a circular (spherical in three-dimensional space) spread.

第三に、図5B(c)に示されるように、直交座標系における点群を、出発点を中心に配置し、かつ、同じ点群を、選択候補到達点を中心に配置する。これにより、出発点に近づくほど点が密になり、かつ、選択候補到達点に近づくほど点が密になるような点分布を有する点群を取得することができる。このとき、点群が出発点と選択候補到達点との間全体に及ぶように、点群の広がりを調節することができる。この分布では、出発点と選択候補到達点との間は、出発点および選択候補到達点の近傍よりも疎になっている。 Third, as shown in FIG. 5B(c), a group of points in the orthogonal coordinate system is arranged around the starting point, and the same group of points is arranged around the selected candidate arrival point. As a result, it is possible to obtain a point group having a point distribution such that the closer the starting point is, the more dense the points are, and the closer the selected candidate destination point is, the denser the points are. At this time, the spread of the point group can be adjusted so that the point group covers the entire area between the starting point and the selected candidate destination point. In this distribution, the distance between the starting point and the selected candidate destination point is sparser than the vicinity of the starting point and the selected candidate destination point.

導出手段123は、複数の移動体のそれぞれの直線経路について、障害物を考慮して、出発点と選択候補到達点との間の少なくとも1つの点を特定することができる。例えば、導出手段123は、障害物が直線経路に与える斥力場を算出し、斥力場に基づいて出発点と選択候補到達点との間の少なくとも1つの点を特定することができる。導出手段123は、例えば、斥力場が最小になるように、あるいは、斥力場が所定の閾値よりも小さくなるように、出発点と選択候補到達点との間の少なくとも1つの点を特定することができる。導出手段123は、例えば、斥力場がより小さく、かつ、結果として得られる経路の長さがより短くなるように、出発点と選択候補到達点との間の少なくとも1つの点を特定することができる。導出手段123は、例えば、斥力場の値と、結果として得られる経路の長さの値とを加算した値が最小となるように、あるいは、斥力場の値と、結果として得られる経路の長さの値とを加算した値が所定の閾値よりも小さくなるように、出発点と選択候補到達点との間の少なくとも1つの点を特定することができる。障害物は、例えば、地形(例えば、山、丘、木等)または建物等であり得る。 The deriving means 123 can identify at least one point between the starting point and the selected candidate destination point for each straight path of the plurality of moving objects, taking obstacles into consideration. For example, the deriving means 123 can calculate the repulsive force field that an obstacle exerts on the straight path, and specify at least one point between the starting point and the selected candidate destination point based on the repulsive force field. The deriving means 123 specifies at least one point between the starting point and the selected candidate destination point, for example, so that the repulsive force field is minimized or the repulsive force field is smaller than a predetermined threshold value. I can do it. The deriving means 123 may, for example, identify at least one point between the starting point and the selected candidate destination point so that the repulsive force field is smaller and the length of the resulting path is shorter. can. The deriving means 123 calculates, for example, such that the sum of the value of the repulsive force field and the length of the resulting path is the minimum, or the value of the repulsive force field and the length of the resulting path are At least one point between the starting point and the selected candidate destination point can be identified such that the sum of the values of the starting point and the selected candidate destination point is smaller than a predetermined threshold value. Obstacles can be, for example, terrain (eg, mountains, hills, trees, etc.), buildings, or the like.

ここで斥力場は、障害物との衝突危険度を示し得る。障害物へ近づくほど、斥力場は大きくなり、従って、衝突の危険性が高いことを示す。 The repulsive field here can indicate the risk of collision with an obstacle. The closer you get to the obstacle, the stronger the repulsive field becomes, and therefore the higher the risk of collision.

障害物が直線経路に与える斥力場は、例えば、障害物を複数の障害物点の集合であるとみなし、直線経路の近傍の障害物点が直線経路に与える斥力場として算出され得る。複数の障害物点は、例えば、格子サンプリング(各格子毎に障害物上の1点をサンプリングすること)によってサンプリングされる。複数の障害物点は、任意のサンプリング距離でサンプリングされ得る。障害物の複数の点は、例えば、KD木を用いてデータベース部200に格納されている。これにより、導出手段123は、例えば、直線経路上の複数の点のそれぞれから最も近い障害物点を、KD木を利用して探索することができる。直線経路上の複数の点は、例えば、任意の数の任意の点であり得、例えば、直線経路を等間隔に分割する任意の数の点であり得る。直線経路上の複数の点は、任意のサンプリング距離でサンプリングされ得る。 The repulsive field that an obstacle exerts on a straight line path can be calculated, for example, by regarding the obstacle as a set of multiple obstacle points and calculating the repulsive field that the obstacle points in the vicinity of the straight line path exert on the straight line path. The multiple obstacle points are sampled, for example, by lattice sampling (sampling one point on the obstacle for each lattice). The multiple obstacle points can be sampled at any sampling distance. The multiple points of the obstacle are stored in the database unit 200, for example, by using a KD tree. This allows the derivation means 123 to search for the nearest obstacle point from each of the multiple points on the straight line path, for example, by using the KD tree. The multiple points on the straight line path can be, for example, any number of arbitrary points, for example, any number of points that divide the straight line path at equal intervals. The multiple points on the straight line path can be sampled at any sampling distance.

導出手段123は、例えば、直線経路上の複数の点のうちの各点について、以下の式を用いて斥力場wを算出することができる。

Figure 0007458593000001

ここで、Oは、障害物からの離隔距離であり、それ以上障害物に近づくと危険であることを示す距離である。Oは、障害物の性質等に応じて任意の値に設定され得る。Oは、移動体の半径である(例えば移動体が円形または球形でない場合、移動体の中心から移動体の最外点までの距離をいう)。pは、直線経路上のi番目の点の座標を表し、oは、pから一番近い障害物点の座標を表す。dist(p-o)は、pとoとの間の距離を表す。なお、dist(pi-oi)が0以下であるとき(すなわち、直線経路と障害物とが衝突する場合)は、dist(pi-oi)を極小値(例えば、0.00001に設定することができる。例えば、移動体の最外部がちょうど障害物からの離隔距離上にある場合には、dist(pi-oi)-O=Oとなることから、その点iでの斥力場wpiは、2となる。移動体が離隔距離よりも障害物から離れると斥力場は2よりも小さくなり、移動体が離隔距離よりも障害物に近づくと斥力場は2よりも大きくなる。 The derivation means 123 can calculate the repulsive field w p for each of the multiple points on the straight line path using the following equation, for example.
Figure 0007458593000001

Here, O w is the distance from the obstacle, and is the distance indicating that it is dangerous to approach the obstacle any closer. O w can be set to any value depending on the nature of the obstacle, etc. O s is the radius of the moving object (for example, if the moving object is not circular or spherical, it refers to the distance from the center of the moving object to the outermost point of the moving object). p i represents the coordinates of the i-th point on the straight path, and o i represents the coordinates of the obstacle point closest to p i . dist(p i -o i ) represents the distance between p i and o i . When dist(pi-oi) is 0 or less (i.e., when the straight path collides with an obstacle), dist(pi-oi) can be set to a minimum value (e.g., 0.00001. For example, when the outermost part of the moving body is exactly at the separation distance from the obstacle, dist(pi-oi) -Os = Ow , and therefore the repulsive field wpi at point i is 2. When the moving body is farther away from the obstacle than the separation distance, the repulsive field becomes smaller than 2, and when the moving body is closer to the obstacle than the separation distance, the repulsive field becomes larger than 2.

なお、数1の式は、一例であり、他の式で斥力場を導出することができる。例えば、Oの係数2を任意の値に変更することもできる。 Note that the equation of Equation 1 is just an example, and the repulsive force field can be derived using other equations. For example, the coefficient 2 of Ow can be changed to any value.

導出手段123は、直線経路上の複数の点について算出された斥力場wpiを合算することにより、その直線経路の斥力場wを算出することができる。 The deriving means 123 can calculate the repulsive force field w p of the straight line path by summing up the repulsive force fields w p i calculated for a plurality of points on the straight line path.

導出手段123は、斥力場を算出した後、例えば、A*アルゴリズムを用いて、斥力場が最小となるように出発点と選択候補到達点との間の少なくとも1つの点を特定することができる。あるいは、導出手段123は、斥力場を算出した後、例えば、A*アルゴリズムを用いて、斥力場の値と、結果として得られる経路の長さの値とを加算した値が最小となるように出発点と選択候補到達点との間の少なくとも1つの点を特定することができる。例えば、障害物から離れるほど斥力場が小さくなるが、結果として得られる経路の長さは長くなる。A*アルゴリズムでは、斥力場の値wと、結果として得られる経路の長さの値hとを加算した値が最小となる点を探索することができる。 After calculating the repulsive field, the derivation means 123 can use, for example, the A* algorithm to identify at least one point between the starting point and the selected candidate destination point such that the repulsive field is minimized. Alternatively, after calculating the repulsive field, the derivation means 123 can use, for example, the A* algorithm to identify at least one point between the starting point and the selected candidate destination point such that the sum of the repulsive field value and the resultant path length value is minimized. For example, the further away from the obstacle, the smaller the repulsive field becomes, but the longer the resultant path length becomes. In the A* algorithm, it is possible to search for a point where the sum of the repulsive field value w p and the resultant path length value h is minimum.

導出手段123は、例えば、第1の直線経路について、(a)障害物が第1の直線経路に与える斥力場を算出することと、(b)斥力場が最小となるように第1の出発点と第1の選択候補到達点との間の少なくとも1つの点を特定し、(c)第1の出発点と、第1の選択候補到達点と、第1の出発点と第1の選択候補到達点との間の少なくとも1つの点を結ぶこととによって、第1の直線経路を修正することができる。これにより、導出される第1の修正経路は、障害物と衝突する可能性が最小限にされた経路となり得る。 For example, the deriving means 123 calculates, for the first straight path, (a) the repulsive force field that an obstacle exerts on the first straight path, and (b) calculates the first departure so that the repulsive force field is minimized. identifying at least one point between the point and the first selection candidate destination; (c) the first starting point, the first selection candidate destination, the first starting point and the first selection; The first linear path may be modified by connecting at least one point between the candidate destination and the candidate destination. Thereby, the derived first modified route can be a route in which the possibility of colliding with an obstacle is minimized.

導出手段123は、例えば、第1の直線経路について、(a)障害物が第1の直線経路に与える斥力場を算出することと、(b)斥力場と、結果として得られる経路の長さの値とを加算した値が最小となるように第1の出発点と第1の選択候補到達点との間の少なくとも1つの点を特定し、(c)第1の出発点と、第1の選択候補到達点と、第1の出発点と第1の選択候補到達点との間の少なくとも1つの点を結ぶこととによって、第1の直線経路を修正することができる。これにより、導出される第1の修正経路は、障害物と衝突する可能性が低減され、かつ、経路長も低減された経路となり得る。 For example, the deriving means 123 calculates, for the first straight path, (a) the repulsive force field that an obstacle gives to the first straight path, and (b) the repulsive force field and the length of the resulting path. (c) identify at least one point between the first starting point and the first selection candidate arrival point such that the sum of the values of the first starting point and the first The first straight path can be modified by connecting the selected candidate destination point of the first selected candidate destination point and at least one point between the first starting point and the first selected candidate destination point. As a result, the derived first modified route can be a route with a reduced possibility of colliding with an obstacle and a reduced route length.

導出手段123は、出発点と選択候補到達点との間に存在し得る実際の障害物を障害物として考慮することに加えて、導出手段123によって既に導出された修正経路を障害物として考慮して、別の直線経路を修正して修正経路を導出するようにしてもよい。例えば、導出手段123は、第2の直線経路について、(a)障害物が第2の直線経路に与える斥力場を算出することと、(b)斥力場に基づいて第2の出発点と第2の選択候補到達点との間の少なくとも1つの点を特定し、(c)第2の出発点と、第2の選択候補到達点と、第2の出発点と第2の選択候補到達点との間の少なくとも1つの点を結ぶこととによって、第2の直線経路を修正し、第2の修正経路を導出したあとに、第1の直線経路について、第2の直線経路を障害物とみなして、(a)障害物が第1の直線経路に与える斥力場を算出することと、(b)斥力場に基づいて第1の出発点と第1の選択候補到達点との間の少なくとも1つの点を特定し、(c)第1の出発点と、第1の選択候補到達点と、第1の出発点と第1の選択候補到達点との間の少なくとも1つの点を結ぶこととによって、第1の直線経路を修正し、第1の修正経路を導出することができる。既に導出されている修正経路を障害物とみなすことにより、出発点と選択候補到達点との間に存在し得る実際の障害物と衝突する可能性が最小限にされるのみならず、他の移動体の経路とも衝突する可能性が最小限にされた経路を作成することができるようになる。 In addition to considering as an obstacle an actual obstacle that may exist between the starting point and the selected candidate destination point, the deriving means 123 considers the modified route already derived by the deriving means 123 as an obstacle. Then, a modified route may be derived by modifying another straight route. For example, with respect to the second straight path, the deriving means 123 (a) calculates a repulsive force field that an obstacle exerts on the second straight path, and (b) calculates a second starting point and a second starting point based on the repulsive force field. (c) the second starting point, the second selected candidate destination, and the second starting point and the second selected candidate destination; After the second straight path is corrected by connecting at least one point between (a) calculating the repulsive force field exerted by the obstacle on the first straight path; and (b) calculating at least the distance between the first starting point and the first selected candidate destination point based on the repulsive force field. identifying a point; (c) connecting the first starting point, the first selected candidate destination, and at least one point between the first starting point and the first selected candidate destination; Accordingly, the first straight path can be corrected and the first corrected path can be derived. By considering the already derived modified route as an obstacle, not only is the possibility of collision with an actual obstacle that may exist between the starting point and the selected candidate destination point minimized, but also other It becomes possible to create a route in which the possibility of colliding with the route of a moving object is minimized.

例えば、最初に導出された修正経路(すなわち、既に導出された修正経路を障害物として考慮していない修正経路)については、他の修正経路が導出された後に、他の修正経路を障害物として考慮して、再度、直線経路から修正経路を導出するようにしてもよい。 For example, for a modified route that is initially derived (i.e., a modified route that does not consider the already derived modified route as an obstacle), after another modified route is derived, Taking this into consideration, a modified route may be derived from the straight route again.

図6A~図6Eは、A*アルゴリズムによって出発点と選択候補到達点との間の少なくとも1つの点を特定し、修正経路を導出するフローを概略的に示す。図6A~図6Eに示される例では、n個の出発点S~Sとそれに対応するn個の選択候補到達点G~Gとが示されており、SとGとの間、SとGとの間、SとGとの間、・・・SとGとの間に直線経路が決定されている。図6A~図6Eに示される例では、説明の簡略化のために、実際の障害物は省略されており、各直線経路が障害物として設定されている。また、図6A~図6Eに示される例では、説明の簡略化のために、2次元的に描写されているが、出発点S~S、選択候補到達点G~G、直線経路、および修正経路が3次元空間内に位置し得ることが当然に理解される。 6A to 6E schematically show a flow of identifying at least one point between a starting point and a selected candidate destination point using the A* algorithm and deriving a modified route. In the examples shown in FIGS. 6A to 6E, n starting points S 1 to S n and n corresponding selection candidate destination points G 1 to G n are shown, and S 1 and G 1 are , between S 2 and G 2 , between S 3 and G 3 , . . . between S n and G n . In the examples shown in FIGS. 6A to 6E, actual obstacles are omitted to simplify the explanation, and each straight path is set as an obstacle. Furthermore, in the examples shown in FIGS. 6A to 6E, the starting points S 1 to S n , the selection candidate destination points G 1 to G n , and the straight line are depicted two-dimensionally to simplify the explanation. It will be appreciated that the path, and the modified path, may be located in three-dimensional space.

図6Aでは、n個の出発点のうち1つの出発点がランダムに選択される。ここでは、第3の出発点Sが選択されており、SとGとを結ぶ第3の直線経路を修正することになる。 In FIG. 6A, one starting point out of n starting points is randomly selected. Here, the third starting point S 3 has been selected, and the third straight path connecting S 3 and G 3 will be modified.

図6Bでは、第3の直線経路が消去され、SとGとの間に点群が配置される。点群は、上述したように取得されて配置された任意の点群である。 In FIG. 6B, the third straight path is erased and a point cloud is placed between S 3 and G 3 . A point cloud is any point cloud acquired and arranged as described above.

図6Cでは、点群のうちの少なくとも1つを辿る経路のそれぞれについてA*が算出される。A*を算出する際に利用される各経路の重み付けは、他の直線経路を障害物としたときの各障害物から与えられる斥力場wとヒューリスティック関数hである。ここで、ヒューリスティック関数hは、直線経路からの逸脱を抑えるように働く項である。簡単な例では、h=-kx(kは正の定数、xは直線経路からの逸脱距離)で表され得る。 In FIG. 6C, A* is calculated for each path that follows at least one of the point clouds. The weighting of each route used when calculating A* is the repulsive force field wp given by each obstacle when other straight routes are obstacles and the heuristic function h. Here, the heuristic function h is a term that acts to suppress deviation from a straight path. A simple example may be expressed as h=-kx, where k is a positive constant and x is the deviation distance from the straight path.

A*は、斥力場wがより小さく、かつ、結果として得られる経路の長さがより短くなるように、算出される。例えば、図6Cでは、点線および二重破線で示される経路について斥力場wおよびヒューリスティック関数hが算出されており、斥力場wがより小さくかつヒューリスティック関数hがより小さくなる経路が二重破線で示されている。これにより、斥力場wがより小さくかつヒューリスティック関数hがより小さくなる経路を形成する点群内の点が特定される。 A* is calculated so that the repulsive field wp is smaller and the length of the resulting path is shorter. For example, in Fig. 6C, the repulsive field wp and the heuristic function h are calculated for the paths shown by the dotted and double-dashed lines, and the path where the repulsive field wp is smaller and the heuristic function h is smaller is shown by the double-dashed line. This identifies points in the point cloud that form a path where the repulsive field wp is smaller and the heuristic function h is smaller.

図6Dでは、Sと、斥力場wがより小さくかつヒューリスティック関数hがより小さくなる経路を形成する点群内の点と、Gとが結ばれ、SとGとを結ぶ第3の修正経路が導出されている。 In FIG. 6D, S 3 is connected to a point in the point cloud that forms a path where the repulsive force field w p is smaller and the heuristic function h is smaller, and G 3 is connected to the point connecting S 3 and G 3 . Three modified paths have been derived.

その後、n個の出発点のうち1つの出発点がランダムに選択され、図6A~図6Dに示される手順が繰り返される。そのとき、例えば、既に導出された修正経路も障害物として設定される。 Then, one starting point among the n starting points is randomly selected and the procedure shown in FIGS. 6A-6D is repeated. At that time, for example, the already derived modified route is also set as an obstacle.

図6Eは、全ての出発点について図6A~図6Dに示される手順が繰り返された結果として導出された第1の修正経路~第nの修正経路を示している。 FIG. 6E shows the first to nth modified paths derived as a result of repeating the procedure shown in FIGS. 6A to 6D for all starting points.

導出手段123によって導出された、複数の移動体のそれぞれの修正経路は、複数の移動体のそれぞれの移動経路として、システム100の外部に出力される。移動経路は、例えば、インターフェース部110を介して、複数の移動体のそれぞれに送信される。あるいは、移動経路は、例えば、インターフェース部110を介して、複数の移動体を制御するコントローラに送信される。複数の移動体は、それぞれの移動経路に従うことにより、障害物および他の移動体と衝突する可能性を最小限にして、移動することができる。 The corrected routes for each of the plurality of moving objects derived by the derivation means 123 are outputted to the outside of the system 100 as the respective movement routes for the plurality of moving objects. The movement route is transmitted to each of the plurality of moving objects, for example, via the interface unit 110. Alternatively, the movement route is transmitted, for example, via the interface unit 110 to a controller that controls a plurality of moving objects. By following their respective movement paths, a plurality of moving objects can move while minimizing the possibility of colliding with obstacles and other moving objects.

上述した図3に示される例では、プロセッサ部120の各構成要素が同一のプロセッサ部120内に設けられているが、本発明はこれに限定されない。プロセッサ部120の各構成要素が複数のプロセッサ部に分散される構成も本発明の範囲内である。このとき、複数のプロセッサ部は、同一のハードウェア部品内に位置してもよいし、近傍または遠隔の別個のハードウェア部品内に位置してもよい。 In the example shown in FIG. 3 described above, each component of the processor section 120 is provided within the same processor section 120, but the present invention is not limited to this. A configuration in which each component of the processor unit 120 is distributed among multiple processor units is also within the scope of the present invention. In this case, the plurality of processor units may be located within the same hardware component, or may be located within separate nearby or remote hardware components.

なお、上述したシステム100の各構成要素は、単一のハードウェア部品で構成されていてもよいし、複数のハードウェア部品で構成されていてもよい。複数のハードウェア部品で構成される場合は、各ハードウェア部品が接続される態様は問わない。各ハードウェア部品は、無線で接続されてもよいし、有線で接続されてもよい。本発明のシステム100は、特定のハードウェア構成には限定されない。プロセッサ部120をデジタル回路ではなくアナログ回路によって構成することも本発明の範囲内である。本発明のシステム100の構成は、その機能を実現できる限りにおいて上述したものに限定されない。 Note that each component of the system 100 described above may be composed of a single hardware component or may be composed of a plurality of hardware components. When configured with a plurality of hardware components, it does not matter how each hardware component is connected. Each hardware component may be connected wirelessly or by wire. The system 100 of the present invention is not limited to any particular hardware configuration. It is also within the scope of the present invention to configure the processor section 120 with an analog circuit rather than a digital circuit. The configuration of the system 100 of the present invention is not limited to that described above as long as its functions can be realized.

3.複数の移動体のそれぞれの移動経路を作成するためのシステムによる処理
図7は、複数の移動体のそれぞれの移動経路を作成するためのシステム100による処理700の一例を示すフローチャートである。処理700は、システム100のプロセッサ部120によって行われることができる。
3. Processing performed by the system for creating travel routes for each of a plurality of moving objects FIG. 7 is a flowchart illustrating an example of a process 700 performed by the system 100 for creating travel routes for each of a plurality of mobile objects. Process 700 may be performed by processor portion 120 of system 100.

ステップS701では、プロセッサ部120の取得手段121が、移動条件を取得する。移動条件は、移動条件は、複数の移動体のそれぞれについて、出発点と複数の候補到達点とを含む。例えば、移動条件は、複数の移動体のうちの第1の移動体についての第1の出発点および第1の複数の候補到達点、および、複数の移動体のうちの第2の移動体についての第2の出発点および第2の複数の候補到達点を含む。取得された移動条件は、プロセッサ部120の決定手段122に渡される。 In step S701, the acquisition means 121 of the processor unit 120 acquires the travel conditions. The travel conditions include a starting point and a plurality of candidate destination points for each of the plurality of moving bodies. For example, the travel conditions include a first starting point and a first plurality of candidate destination points for a first moving body of the plurality of moving bodies, and a second starting point and a second plurality of candidate destination points for a second moving body of the plurality of moving bodies. The acquired travel conditions are passed to the determination means 122 of the processor unit 120.

ステップS702では、プロセッサ部120の決定手段122が、複数の移動体のそれぞれについて、直線経路を決定する。決定手段122は、例えば、複数の移動体のそれぞれについて、複数の候補到達点のうちの1つを選択し、出発点と、複数の候補到達点のうちの選択された候補到達点を結ぶことにより、複数の移動体のそれぞれの直線経路を決定することができる。例えば、決定手段122は、第1の移動体について、第1の出発点と、第1の複数の候補到達点のうちの1つの第1の選択候補到達点とを結ぶことにより、第1の移動体の第1の直線経路を決定することができ、第2の移動体について、第2の出発点と、第2の複数の候補到達点のうちの1つの第2の選択候補到達点とを結ぶことにより、第2の移動体の第2の直線経路を決定することができる。 In step S702, the determining means 122 of the processor unit 120 determines a straight path for each of the plurality of moving objects. For example, the determining means 122 selects one of the plurality of candidate arrival points for each of the plurality of moving objects, and connects the starting point and the selected candidate arrival point among the plurality of candidate arrival points. Accordingly, each straight path of a plurality of moving objects can be determined. For example, the determining means 122 determines, for the first mobile object, by connecting the first starting point and one of the first selected candidate arrival points of the first plurality of candidate arrival points. A first linear path for the mobile object may be determined, and for the second mobile object, a second starting point and a second selected candidate destination of one of the second plurality of candidate destinations. By connecting , it is possible to determine the second straight path of the second moving body.

決定手段122は、第1の直線経路と第2の直線経路との交差が最小となるように、第1の直線経路および第2の直線経路のそれぞれを決定することができる。第1の直線経路と第2の直線経路との交差は、例えば、2次元平面上での交差であり得る。 The determining means 122 can determine each of the first straight path and the second straight path so that the intersection between the first straight path and the second straight path is minimized. The intersection of the first linear path and the second linear path may be, for example, an intersection on a two-dimensional plane.

決定手段122は、任意のアルゴリズムを用いて直線経路を決定することができる。例えば、決定手段122は、二部グラフを利用するアルゴリズムを用いて、直線経路を決定することができる。 The determining means 122 can determine the straight path using any algorithm. For example, the determining means 122 can determine a straight path using an algorithm that utilizes a bipartite graph.

例えば、決定手段122は、ペア交差数をカウントする枝刈付き深さ優先探索法を利用して、最小交差問題を解くことによって、複数の直線経路のそれぞれの交差が最小となるように、複数の直線経路のそれぞれを決定することができる。 For example, the determining means 122 solves a minimum intersection problem using a depth-first search method with pruning that counts the number of pair intersections, so that the determining means 122 calculates Each of the straight line paths can be determined.

例えば、決定手段122は、Sequential Partition法を利用して、最小交差問題を部分問題に切り分けたうえで、切り分けられた部分問題のそれぞれについて、最小交差問題を解くことによって、複数の直線経路のそれぞれの交差が最小となるように、複数の直線経路のそれぞれを決定することができる。一実施形態では、Sequential Partition法を利用して、最小交差問題を部分問題に切り分けたうえで、切り分けられた部分問題のそれぞれについて、ペア交差数をカウントする枝刈付き深さ優先探索法を利用して、最小交差問題の部分問題を解くことによって、複数の直線経路のそれぞれの交差が最小となるように、複数の直線経路のそれぞれを決定することができる。最小交差問題を部分問題に切り分けてから解くことにより、計算量を著しく低減することができる。 For example, the determining means 122 divides the minimum intersection problem into subproblems using the Sequential Partition method, and then solves the minimum intersection problem for each of the divided subproblems, thereby determining each of the plurality of straight line paths. Each of the plurality of straight-line paths can be determined such that the intersection of the lines is minimized. In one embodiment, a sequential partition method is used to divide the minimum intersection problem into subproblems, and a pruned depth-first search method is used to count the number of pairwise intersections for each of the divided subproblems. By solving the subproblems of the minimum intersection problem, each of the plurality of straight-line routes can be determined so that the intersection of each of the plurality of straight-line routes is minimized. By dividing the minimum intersection problem into subproblems and then solving them, the amount of calculation can be significantly reduced.

一例において、或るマシンにおいて、15体の移動体について、出発点から到達点までの直線経路を計算した場合、ペア交差数をカウントする枝刈付き深さ優先探索法を利用することにより、後述するA*による修正経路の導出まで、1.5日程度の時間で計算を完了することができた。同一のマシンにおいて、15体の移動体について、Sequential Partition法を行ったうえで、ペア交差数をカウントする枝刈付き深さ優先探索法を行った場合、後述するA*による修正経路の導出まで、約70分程度で計算を完了することができた。このように、Sequential Partition法とペア交差数をカウントする枝刈付き深さ優先探索法とを組み合わせることにより、予想外に高速に計算を完了することができた。 In one example, when a certain machine calculates straight-line paths from the starting point to the destination point for 15 moving objects, by using the pruned depth-first search method that counts the number of pair intersections, It took about 1.5 days to complete the calculation until the corrected route was derived using A*. If the same machine performs the Sequential Partition method on 15 moving objects, and then performs the pruned depth-first search method that counts the number of pair intersections, up to the derivation of a modified path using A*, which will be described later The calculation could be completed in about 70 minutes. In this way, by combining the Sequential Partition method and the pruned depth-first search method that counts the number of pair intersections, we were able to complete the calculations at an unexpectedly high speed.

決定された複数の直線経路は、導出手段123に渡される。 The determined plural straight-line routes are passed to the deriving means 123.

ステップS703では、プロセッサ部120の導出手段123が、ステップS702で決定された直線経路の少なくとも1つを修正することによって、修正経路を導出する。導出手段123は、複数の移動体のそれぞれの直線経路について、出発点と選択候補到達点との間の少なくとも1つの点を特定し、出発点と、特定された少なくとも1つの点と、選択候補到達点とを結ぶことによって直線経路を修正することにより、複数の移動体のそれぞれの修正経路を導出することができる。例えば、導出手段123は、第1の直線経路について、第1の出発点と、第1の出発点と第1の選択候補到達点との間の少なくとも1つの点と、第1の選択候補到達点とを結ぶことによって第1の直線経路を修正することにより、第1の修正経路を導出することができる。 In step S703, the deriving means 123 of the processor unit 120 derives a modified route by modifying at least one of the straight-line routes determined in step S702. The deriving means 123 specifies at least one point between the starting point and the selected candidate destination point for each straight path of the plurality of moving objects, and identifies the starting point, the specified at least one point, and the selected candidate. By correcting the straight line route by connecting the destination points, corrected routes for each of the plurality of moving bodies can be derived. For example, the deriving means 123 calculates, for the first straight path, a first starting point, at least one point between the first starting point and the first selected candidate destination, and a first selected candidate destination point. By modifying the first linear route by connecting the points, the first modified route can be derived.

出発点と選択候補到達点との間の少なくとも1つの点は、複数の直線経路のそれぞれの周囲に配置された点群のうちの少なくとも1つの点であり得る。例えば、第1の出発点と第1の選択候補到達点との間の少なくとも1つの点は、第1の直線経路の周囲に配置された第1の点群のうちの少なくとも1つの点であり得、第2の出発点と第2の選択候補到達点との間の少なくとも1つの点は、第2の直線経路の周囲に配置された第2の点群のうちの少なくとも1つの点であり得る。 The at least one point between the starting point and the selected candidate destination point may be at least one point of a group of points arranged around each of the plurality of straight-line paths. For example, the at least one point between the first starting point and the first selected candidate destination point is at least one point of a first point group arranged around the first straight path. and the at least one point between the second starting point and the second selected candidate destination point is at least one point of a second point group arranged around the second straight path. obtain.

点群は、例えば、図8に示される処理によって、直線経路の周囲に配置される。 The points are arranged around the straight line path, for example, by the process shown in FIG. 8.

図8は、出発点と選択候補到達点とを結ぶ直線経路の周囲に点群を配置するための処理800の一例を示すフローチャートである。処理800は、システム100のプロセッサ部120によって行われることができる。 FIG. 8 is a flowchart illustrating an example of a process 800 for arranging a point group around a straight line path connecting a starting point and a selected candidate destination point. Process 800 may be performed by processor portion 120 of system 100.

ステップS801では、プロセッサ部120の導出手段123が、極座標系におけるランダムな分布を有する点群を取得する。 In step S801, the deriving means 123 of the processor unit 120 acquires a point group having a random distribution in the polar coordinate system.

ステップS802では、プロセッサ部120の導出手段123が、ステップS801で取得された極座標系における点群を直交座標系における点群に変換する。これにより、点群は、原点に近いほど点が密になり、原点から離れるほど点が疎になる点分布を有することになる。 In step S802, the derivation unit 123 of the processor unit 120 converts the point group in the polar coordinate system acquired in step S801 into a point group in the orthogonal coordinate system. As a result, the point group has a point distribution in which the closer the point is to the origin, the denser the points, and the farther away from the origin, the sparser the points.

ステップS803では、プロセッサ部120の導出手段123が、ステップS802で変換された点群を出発点を中心に配置する。導出手段123は、複数の直線経路のそれぞれのために、変換された点群をそれぞれの出発点を中心に配置することができる。例えば、導出手段123は、第1の直線経路のために、変換された点群を第1の出発点を中心に配置することができる。 In step S803, the derivation means 123 of the processor unit 120 centers the point cloud transformed in step S802 around the starting point. The derivation means 123 can center the transformed point cloud for each of the multiple straight line paths around the respective starting point. For example, the derivation means 123 can center the transformed point cloud for the first straight line path around the first starting point.

ステップS804では、プロセッサ部120の導出手段123が、ステップS802で変換された点群を候補到達点を中心に配置する。導出手段123は、複数の直線経路のそれぞれのために、変換された点群をそれぞれの候補到達点を中心に配置することができる。例えば、導出手段123は、第1の直線経路のために、変換された点群を第1の候補到達点を中心に配置することができる。 In step S804, the deriving means 123 of the processor unit 120 arranges the point group converted in step S802 centered on the candidate arrival point. The deriving means 123 can center the transformed point clouds around the respective candidate arrival points for each of the plurality of straight-line paths. For example, the deriving means 123 may center the transformed point cloud on the first candidate arrival point for the first straight path.

処理800によって配置された点群は、複数の直線経路のそれぞれにおいて、出発点に近づくほど点が密になり、かつ、選択候補到達点に近づくほど点が密になる点分布を有することになる。 The point cloud arranged by process 800 has a point distribution in which the points become denser the closer to the starting point on each of the multiple straight line paths, and the closer to the selected candidate destination point, the denser the points become.

なお、上述した例では、処理800の全てのステップをプロセッサ部120が行うことを説明したが、処理800のステップのうちの少なくとも1つは、プロセッサ部120以外のプロセッサ部が行うことができる。例えば、ステップS801およびステップS802は、プロセッサ部120以外のプロセッサ部によって予め行われることができ、直交座標系における点群は、データベース部200に予め格納されることができる。これにより、プロセッサ部120は、データベース部200に格納されている点群を利用して、ステップS803およびステップS804を行うことができる。 In the above example, it has been described that all steps of process 800 are performed by processor unit 120, but at least one of the steps of process 800 can be performed by a processor unit other than processor unit 120. For example, steps S801 and S802 can be performed in advance by a processor unit other than processor unit 120, and the point cloud in the orthogonal coordinate system can be stored in advance in database unit 200. This allows processor unit 120 to perform steps S803 and S804 using the point cloud stored in database unit 200.

導出手段123は、例えば、図9に示される処理によって、複数の移動体のそれぞれの直線経路について、修正経路を導出することができる。 The deriving means 123 can derive a corrected route for each straight route of a plurality of moving objects, for example, by the process shown in FIG.

図9は、修正経路を導出するための処理900の一例を示すフローチャートである。処理900は、システム100のプロセッサ部120によって行われることができる。処理900では、複数の移動体のそれぞれの直線経路のうち、第1の直線経路について、第1の修正経路を導出することを説明する。 FIG. 9 is a flowchart illustrating an example of a process 900 for deriving a modified route. Process 900 may be performed by processor portion 120 of system 100. In process 900, a first corrected route is derived for a first linear route among the respective linear routes of a plurality of moving objects.

ステップS901では、プロセッサ部120の導出手段123が、障害物が第1の直線経路に与える斥力場を算出する。障害物が第1の直線経路に与える斥力場は、例えば、障害物を複数の障害物点の集合であるとみなし、第1の直線経路の近傍の障害物点が第1の直線経路に与える斥力場として算出され得る。導出手段123は、例えば、第1の直線経路上の複数の点のうちの各点について、以下の式を用いて斥力場wを算出することができる。

Figure 0007458593000002


ここで、Oは、障害物からの離隔距離であり、それ以上障害物に近づくと危険であることを示す距離である。Oは、障害物の性質等に応じて任意の値に設定され得る。Oは、移動体の半径である(例えば移動体が円形または球形でない場合、移動体の中心から移動体の最外点までの距離をいう)。pは、直線経路上のi番目の点の座標を表し、oは、pから一番近い障害物点の座標を表す。dist(p-o)は、pとoとの間の距離を表す。なお、dist(pi-oi)が0以下であるとき(すなわち、直線経路と障害物とが衝突する場合)は、dist(pi-oi)を極小値(例えば、0.00001に設定することができる。 In step S901, the derivation means 123 of the processor unit 120 calculates a repulsive force field that the obstacle exerts on the first straight path. The repulsive force field that the obstacle exerts on the first straight path can be calculated, for example, by regarding the obstacle as a set of multiple obstacle points and calculating the repulsive force field that the obstacle points in the vicinity of the first straight path exert on the first straight path. For example, the derivation means 123 can calculate the repulsive force field wp for each point of the multiple points on the first straight path using the following formula:
Figure 0007458593000002


Here, O w is the distance from the obstacle, and is the distance indicating that it is dangerous to approach the obstacle any closer. O w can be set to any value depending on the nature of the obstacle, etc. O s is the radius of the moving body (for example, if the moving body is not circular or spherical, it refers to the distance from the center of the moving body to the outermost point of the moving body). p i represents the coordinate of the i-th point on the straight path, and o i represents the coordinate of the obstacle point closest to p i . dist(p i -o i ) represents the distance between p i and o i . Note that when dist(p i -o i ) is 0 or less (i.e., when the straight path and the obstacle collide), dist(p i -o i ) can be set to a minimum value (for example, 0.00001.

導出手段123は、第1の直線経路上の複数の点について算出された斥力場wpiを合算することにより、第1の直線経路の斥力場wを算出することができる。 The deriving unit 123 can calculate the repulsive force field w p of the first straight path by summing up the repulsive force fields w p i calculated for a plurality of points on the first straight path.

ステップS902では、プロセッサ部120の導出手段123が、斥力場に基づいて、第1の出発点と、第1の選択候補到達点と、少なくとも1つの点とを結ぶ。少なくとも1つの点は、処理800によって配置された点群の中から、斥力場が最小となるように特定される。 In step S902, the derivation means 123 of the processor unit 120 connects the first starting point, the first selection candidate destination point, and at least one point based on the repulsive field. The at least one point is identified from the group of points arranged by the process 800 so that the repulsive field is minimized.

導出手段123は、例えば、A*アルゴリズムを用いて、斥力場に基づいて、少なくとも1つの点を特定することができる。導出手段123は、例えば、A*アルゴリズムを用いて、斥力場が最小となるように出発点と選択候補到達点との間の少なくとも1つの点を特定することができる。あるいは、導出手段123は、例えば、A*アルゴリズムを用いて、斥力場の値と、結果として得られる経路の長さの値とを加算した値が最小となるように出発点と選択候補到達点との間の少なくとも1つの点を特定することができる。例えば、障害物から離れるほど斥力場が小さくなるが、結果として得られる経路の長さは長くなる。A*アルゴリズムでは、斥力場の値wと、結果として得られる経路の長さの値hとを加算した値が最小となる点を探索することができる。 The deriving means 123 can identify at least one point based on the repulsive force field using, for example, the A* algorithm. The deriving means 123 can use, for example, the A* algorithm to identify at least one point between the starting point and the selected candidate destination point so that the repulsive force field is minimized. Alternatively, the derivation means 123 uses, for example, the A* algorithm to calculate the starting point and the selected candidate destination so that the sum of the value of the repulsive force field and the value of the length of the path obtained as a result is minimized. At least one point between can be identified. For example, the further away from an obstacle the smaller the repulsive force field, but the longer the resulting path length. The A* algorithm can search for a point where the sum of the repulsive force field value w p and the resulting path length value h is the minimum.

第1の出発点と、第1の選択候補到達点と、少なくとも1つの点とを結ぶことによって、第1の修正経路が得られる。 A first modified route is obtained by connecting the first starting point, the first selected candidate destination, and at least one point.

処理900では、ステップS901を行う前に、ステップS911~ステップS913を行うようにしてもよい。ステップS911~ステップS912は、第2の直線経路について第2の修正経路を導出する処理である。これにより、既に得られた第2の修正経路を障害物とみなして、第1の修正経路を得ることができる。このようにして得られた第1の修正経路は、第1の出発点と第1の選択候補到達点との間に存在し得る実際の障害物と衝突する可能性が最小限にされるのみならず、他の移動体の経路とも衝突する可能性が最小限にされた経路となり得る。 In process 900, steps S911 to S913 may be performed before step S901. Steps S911 to S912 are processes for deriving a second modified path for the second straight path. This makes it possible to obtain a first modified path by regarding the second modified path already obtained as an obstacle. The first modified path obtained in this manner can be a path that not only minimizes the possibility of collision with an actual obstacle that may exist between the first starting point and the first selection candidate destination point, but also minimizes the possibility of collision with the paths of other moving bodies.

ステップS911では、プロセッサ部120の導出手段123が、障害物が第2の直線経路に与える斥力場を算出する。ステップS911は、ステップS901と同様の処理である。 In step S911, the deriving means 123 of the processor unit 120 calculates the repulsive force field that the obstacle exerts on the second straight path. Step S911 is the same process as step S901.

ステップS912では、プロセッサ部120の導出手段123が、斥力場に基づいて、第2の出発点と、第2の選択候補到達点と、少なくとも1つの点とを結ぶことによって、第2の修正経路を導出する。ステップS912は、ステップS902と同様の処理である。 In step S912, the deriving means 123 of the processor unit 120 connects the second starting point, the second selected candidate arrival point, and at least one point based on the repulsive force field, thereby determining the second modified route. Derive. Step S912 is the same process as step S902.

ステップS913では、プロセッサ部120の導出手段123が、ステップS912で導出された第2の修正経路を障害物とみなす。例えば、第2の修正経路は、複数の障害物点の集合として表現されて、メモリ部130等に格納され得る。 In step S913, the deriving means 123 of the processor unit 120 regards the second corrected route derived in step S912 as an obstacle. For example, the second modified route may be expressed as a set of a plurality of obstacle points and stored in the memory unit 130 or the like.

その後、ステップS901では、第2の修正経路を障害物として、ステップS901~ステップS902が行われる。 Thereafter, in step S901, steps S901 and S902 are performed using the second modified route as an obstacle.

図9に示される例では、ステップS911~ステップS913では、第2の直線経路について第2の修正経路を得て、それを障害物とみなすことを説明したが、第2の直線経路に加えて、他の少なくとも1つの直線経路についてそれぞれの修正経路を得て、それぞれの修正経路を障害物とみなすようにしてもよい。 In the example shown in FIG. 9, it has been explained that in steps S911 to S913, a second corrected route is obtained for the second straight route and it is regarded as an obstacle, but in addition to the second straight route, , each corrected path may be obtained for at least one other straight path, and each corrected path may be considered as an obstacle.

図10は、複数の移動体のそれぞれの移動経路を作成するためのシステム100を利用して、複数の移動体のそれぞれの移動経路を計画するフローの一例を示すフローチャートである。 FIG. 10 is a flowchart illustrating an example of a flow for planning travel routes for a plurality of moving bodies using the system 100 for creating travel routes for each of a plurality of mobile bodies.

ステップS1001で、移動経路の計画を開始する。 In step S1001, planning of a travel route is started.

ステップS1002では、移動条件がシステム100に入力される。例えば、ユーザが、端末装置を介してシステム200に移動条件を入力することができる。移動条件は、例えば、複数の移動体のそれぞれについて、出発点と複数の候補到達点とを含む。 In step S1002, movement conditions are input into the system 100. For example, a user can input travel conditions into the system 200 via a terminal device. The movement conditions include, for example, a starting point and a plurality of candidate destination points for each of the plurality of moving bodies.

これにより、システム100は、移動条件を取得する。これは、処理700のステップS701に対応している。 Thereby, the system 100 acquires the movement conditions. This corresponds to step S701 of process 700.

ステップS1003では、地図情報が取得される。例えば、システム100は、移動条件に基づいて、データベース部200に格納されている地図情報を取得する。地図情報は、移動条件に含まれる出発点および到達点の周囲に地形および建造物の情報を含み得る。 In step S1003, map information is acquired. For example, the system 100 acquires map information stored in the database unit 200 based on the travel conditions. The map information may include information on the terrain and buildings around the starting point and the destination point included in the travel conditions.

ステップS1004では、3次元での移動空間地図が生成される。例えば、システム100は、地図情報に基づいて、移動空間地図を生成することができる。 In step S1004, a three-dimensional moving space map is generated. For example, system 100 can generate a mobile spatial map based on map information.

ステップS1005では、移動禁止区域情報が取得される。例えば、システム100は、地図情報または移動空間地図に基づいて、データベース部200に格納されている移動禁止区域情報を取得する。 In step S1005, movement prohibited area information is acquired. For example, the system 100 obtains no-movement zone information stored in the database unit 200 based on map information or a moving space map.

ステップS1006では、2次元平面において、複数の移動体のそれぞれの出発点および到達点の組み合わせが決定される。例えば、システム100は、処理700のステップS702の処理を行うことにより、複数の移動体のそれぞれの出発点および到達点の組み合わせ、ならびに、出発点および到達点を結んだ直線経路を決定することができる。 In step S1006, combinations of starting points and destination points of each of the plurality of moving bodies are determined on the two-dimensional plane. For example, by performing the process in step S702 of the process 700, the system 100 can determine the combination of the starting points and destination points of each of the plurality of moving objects, and the straight path connecting the starting points and the destination points. can.

ステップS1007では、3次元地図上で直線経路が生成される。例えば、システム100は、ステップS1006で決定された直線経路を3次元空間に拡張することにより、3次元地図上での直線経路を生成することができる。 In step S1007, a straight route is generated on the three-dimensional map. For example, the system 100 can generate a straight line route on a three-dimensional map by expanding the straight line route determined in step S1006 into a three-dimensional space.

ステップS1008では、直線経路の周囲に配置すべき点群が計算される。例えば、システム100は、処理800のステップS801~ステップS802の処理を行うことにより、配置されるべき点群を計算することができる。配置されるべき点群は、例えば、ランダムな点分布を有してもよいし、中心に近づくほど点が密になり、中心から離れるほど点が疎になる点分布を有してもよい。 In step S1008, a group of points to be placed around the straight path is calculated. For example, the system 100 can calculate the point group to be placed by performing steps S801 and S802 of the process 800. The point group to be placed may have, for example, a random point distribution, or a point distribution where the points become denser as they get closer to the center and become sparser as they move away from the center.

ステップS1009では、障害物および生成済経路を複数の点で表すために、障害物および生成済経路の点群が生成される。例えば、システム100は、KD木を利用して、障害物および生成済経路の点群を生成することができる。 In step S1009, a point cloud of the obstacles and the generated path is generated to represent the obstacles and the generated path with multiple points. For example, the system 100 can use a KD tree to generate the point cloud of the obstacles and the generated path.

ステップS1010では、経路が未だ決定されていない移動体の中から、経路が決定されるべき移動体(および対応する出発点)がランダムに選択される。例えば、システム100は、経路が未だ決定されていない移動体の中から1つの移動体(および対応する出発点)をランダムに選択する。これは、例えば、図6Aに示される状態に対応する。 In step S1010, a moving object (and a corresponding starting point) whose route is to be determined is randomly selected from among moving objects whose route has not yet been determined. For example, system 100 randomly selects one mobile (and a corresponding starting point) among the mobiles whose route has not yet been determined. This corresponds, for example, to the situation shown in FIG. 6A.

ステップS1011では、選択された移動体の直線経路が障害物点群から除外される。例えば、システム100は、選択された移動体の直線経路を障害物点群から除外する。 In step S1011, the selected straight path of the moving object is excluded from the obstacle point group. For example, the system 100 excludes the selected moving object's straight path from the obstacle point cloud.

ステップS1012では、移動体の出発点および到達点を中心に点群が配置される。例えば。システム100は、処理800のステップS803~S804を行うことにより、点群を配置することができる。これは、例えば、図6Bに示される状態に対応する。 In step S1012, a point group is arranged around the starting point and arrival point of the moving body. for example. The system 100 can arrange the point cloud by performing steps S803 to S804 of the process 800. This corresponds, for example, to the situation shown in FIG. 6B.

ステップS1013では、A*による重み付最小パス探索が行われる。例えば、システム100は、処理700のステップS703または処理900のステップS901~ステップS902を行うことによって、A*アルゴリズムを利用して、斥力場が最小になる経路を導出する。これは、例えば、図6Cおよび図6Dに示される状態に対応する。 In step S1013, a weighted minimum path search using A* is performed. For example, the system 100 performs step S703 of process 700 or steps S901 to S902 of process 900 to derive a path that minimizes the repulsive force field using the A* algorithm. This corresponds, for example, to the situation shown in FIGS. 6C and 6D.

A*による重み付最小パス探索は、出発点および到達点を結ぶパスを一度に探索するようにしてもよいし、複数段階に分けて探索するようにしてもよい。例えば、出発点から所定距離(探索半径ともいう)までのパスについてA*による重み付最小パス探索を行うことにより第1のサブパスを特定し、第1のサブパスの終点から所定距離までのパスについてA*による重み付最小パス探索を行うことにより第2のサブパスを特定し、・・・これを到達点まで到達するまで繰り返すことができる。探索半径は、例えば、出発点と到達点との間の距離の5%、10%、20%、25%等の距離であり得る。 In the weighted minimum path search using A*, the path connecting the starting point and the destination point may be searched at once, or may be searched in multiple stages. For example, the first subpath is identified by performing a weighted minimum path search using A* for the path from the starting point to a predetermined distance (also called search radius), and the first subpath is identified for the path from the end point of the first subpath to the predetermined distance. The second subpath is identified by performing a weighted minimum path search using A*, and this process can be repeated until the destination point is reached. The search radius may be, for example, 5%, 10%, 20%, 25%, etc. of the distance between the starting point and the destination point.

ステップS1014では、全ての移動体について経路生成が終了したか否かが判定される。例えば、システム100は、全ての移動体について経路生成が終了したか否かを判定する。 In step S1014, it is determined whether route generation has been completed for all moving objects. For example, the system 100 determines whether route generation has been completed for all moving objects.

全ての移動体について経路生成が終了したと判定された場合、ステップS1015に進む。 If it is determined that route generation has been completed for all moving objects, the process advances to step S1015.

全ての移動体について経路生成が終了していないと判定された場合、ステップS1009に戻り、ステップS1009~ステップS1014を繰り返す。これは、全ての移動体について経路生成が終了するまで繰り返される。これは、例えば、図6Eに示される状態に対応する。 If it is determined that route generation has not been completed for all moving objects, the process returns to step S1009 and steps S1009 to S1014 are repeated. This is repeated until route generation is completed for all moving objects. This corresponds, for example, to the situation shown in FIG. 6E.

ステップS1015では、移動経路の計画が終了する。 In step S1015, planning of the travel route ends.

このようにして、複数の移動体のそれぞれの経路が作成される。複数の移動体のそれぞれは、作成された経路に従って移動することにより、障害物と衝突する可能性も、他の移動体のそれぞれと衝突する可能性も最小限にされる。 In this way, routes for each of the plurality of moving objects are created. By moving each of the plurality of moving bodies according to the created route, the possibility of colliding with an obstacle and each of the other moving bodies is minimized.

上述した例では、特定の順序で処理700、800、900、1000の各ステップが行われることを説明したが、説明された順序は一例に過ぎない。処理700、800、900、1000の各ステップは、論理的に可能な任意の順序で行われることができる。 In the example described above, each step of processing 700, 800, 900, and 1000 is performed in a specific order, but the described order is only an example. Each step of processes 700, 800, 900, 1000 can be performed in any logically possible order.

図7、図8、図9を参照して上述した例では、図7、図8、図9に示される各ステップの処理は、プロセッサ部120とメモリ部130に格納されたプログラムとによって実現することが説明されたが、本発明はこれに限定されない。図7、図8、図9に示される各ステップの処理のうちの少なくとも1つは、制御回路などのハードウェア構成によって実現されてもよい。 In the example described above with reference to FIGS. 7, 8, and 9, the processing of each step shown in FIGS. 7, 8, and 9 is realized by the processor unit 120 and the program stored in the memory unit 130. However, the present invention is not limited thereto. At least one of the processes in each step shown in FIGS. 7, 8, and 9 may be realized by a hardware configuration such as a control circuit.

本発明は、上述した実施形態に限定されるものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。 The present invention is not limited to the embodiments described above. It is understood that the invention is to be construed in scope only by the claims. It will be understood that those skilled in the art will be able to implement the present invention to an equivalent extent based on the description of the present invention and common general technical knowledge from the description of the specific preferred embodiments of the present invention.

複数の移動体のそれぞれの移動経路を作成するための処理700を実装するためのアプリケーションを開発した。図11は、複数の移動体のそれぞれの移動経路を作成するための処理700を実装するためのアプリケーションのユーザインターフェース1100の一例を示す。ここでは、複数の飛行体(ここでは、無人航空機(UAV))のそれぞれの移動経路を作成することを例に説明する。 An application was developed to implement the process 700 for creating travel routes for each of a plurality of moving objects. FIG. 11 shows an example of a user interface 1100 of an application for implementing the process 700 for creating travel routes for each of a plurality of mobile objects. Here, an example will be explained in which a movement route is created for each of a plurality of flying objects (here, unmanned aerial vehicles (UAVs)).

ユーザは、ユーザインターフェース1100に複数の飛行体のそれぞれの移動経路を作成するための条件を入力すると、このアプリケーションは、移動経路を作成してユーザに表示することができる。 When the user inputs conditions for creating travel routes for each of the plurality of flying objects into the user interface 1100, this application can create travel routes and display them to the user.

ユーザインターフェース1100は、位置データ入力ボタン(Position Data)1101、障害物データ入力ボタン(Obstavle Data)1102、飛行体設定ボタン(Drones Ctrl.)1103、実行ボタン1104、保存ボタン1105、経路パラメータ入力部(Path Calculation)1106、飛行パラメータ入力部(Flight Parameters)1107、初期位置/到達位置入力部(Drone Points)1108を含む。ユーザインターフェース1100に表示されたマップには、航行中心位置1109および航行範囲1110が表示されている。 The user interface 1100 includes a position data input button (Position Data) 1101, an obstacle data input button (Obstacle Data) 1102, a drone setting button (Drones Ctrl.) 1103, an execute button 1104, a save button 1105, a path parameter input section (Path Calculation) 1106, a flight parameter input section (Flight Parameters) 1107, and an initial position/arrival position input section (Drone Points) 1108. The map displayed on the user interface 1100 shows the navigation center position 1109 and the navigation range 1110.

図12は、複数の移動体のそれぞれの移動経路を作成するための処理700を実装するためのアプリケーションの操作方法の一例を示すフローチャートである。 FIG. 12 is a flowchart illustrating an example of an application operating method for implementing processing 700 for creating movement routes for each of a plurality of moving objects.

まず、ステップS1201では、ユーザは、航行中心位置を設定する。ユーザは、ユーザインターフェース1101に表示されている航行中心位置1109を移動することにより、航行中心位置を設定することができる。これにより、ユーザは、直感的に航行中心位置を設定することができる。 First, in step S1201, the user sets the navigation center position. The user can set the navigation center position by moving the navigation center position 1109 displayed on the user interface 1101. This allows the user to intuitively set the navigation center position.

次に、ステップS1202では、ユーザは、航行範囲を設定する。ユーザは、ユーザインターフェース1101に表示されている航行範囲1110を移動および/または拡縮することにより、航行範囲を設定することができる。これにより、ユーザは、直感的に航行範囲を設定することができる。 Next, in step S1202, the user sets the navigation range. The user can set the navigation range by moving and/or enlarging/reducing the navigation range 1110 displayed on the user interface 1101. This allows the user to intuitively set the navigation range.

このとき、ユーザは、経路パラメータ入力部(Path Calculation)1106、飛行パラメータ入力部(Flight Parameters)1107を介して、経路パラメータおよび飛行パラメータを設定することができる。経路パラメータおよび飛行パラメータは、上述した移動条件の一部である。 At this time, the user can set route parameters and flight parameters via a path parameter input section (Path Calculation) 1106 and a flight parameter input section (Flight Parameters) 1107. Route parameters and flight parameters are part of the movement conditions mentioned above.

さらにこのとき、ユーザは、障害物データ入力ボタン(Obstavle Data)1102を介して、障害物データを入力するようにしてもよい。これにより、航行範囲内に障害物を設定することができる。障害物データは、例えば、複数の障害物点のデータである。 Furthermore, at this time, the user may input obstacle data via an obstacle data input button (Obstavle Data) 1102. Thereby, obstacles can be set within the navigation range. The obstacle data is, for example, data on a plurality of obstacle points.

次に、ステップS1203では、ユーザは、飛行させるUAVの台数を設定する。ユーザは、飛行体設定ボタン(Drones Ctrl.)1103の[+]または[-]を操作することにより、飛行させるUAVの台数を増減することができる。 Next, in step S1203, the user sets the number of UAVs to be flown. The user can increase or decrease the number of UAVs to be flown by operating the [+] or [-] of the flying object setting button (Drones Ctrl.) 1103.

次に、ステップS1204では、ユーザは、飛行させるUAVの初期位置および到達位置を設定する。ユーザは、初期位置/到達位置入力部(Drone Points)1108の[x]、[y]に初期位置および到達位置を入力することができる。ユーザは、例えば、初期位置/到達位置入力部(Drone Points)1108の[x]、[y]にテキストを入力することができる。あるいは、ユーザは、位置データ入力ボタン(Position Data)1101を介して、UAVの初期位置および到達位置を表すデータを入力することができる。 Next, in step S1204, the user sets the initial position and destination position of the UAV to be flown. The user can input the initial position and destination position in [x] and [y] of the initial position/destination position input section (Drone Points) 1108. The user can, for example, input text in [x] and [y] of the initial position/destination position input section (Drone Points) 1108. Alternatively, the user can input data representing the initial position and destination position of the UAV via the position data input button (Position Data) 1101.

次に、ステップS1205では、ユーザは、飛行させるUAVの離陸高度および到達高度を設定する。ユーザは、初期位置/到達位置入力部(Drone Points)1108の[Alt]に離陸高度および到達高度を入力することができる。ユーザは、例えば、初期位置/到達位置入力部(Drone Points)1108の[Alt]にテキストを入力することができる。あるいは、ユーザは、位置データ入力ボタン(Position Data)1101を介して、UAVの離陸高度および到達高度を表すデータを入力することができる。 Next, in step S1205, the user sets the takeoff altitude and arrival altitude of the UAV to be flown. The user can input the takeoff altitude and the arrival altitude into [Alt] of the initial position/arrival position input section (Drone Points) 1108. The user can input text to [Alt] of the initial position/arrival position input section (Drone Points) 1108, for example. Alternatively, the user can enter data representative of the UAV's takeoff altitude and arrival altitude via a Position Data input button (Position Data) 1101.

次に、ステップS1206では、ユーザは、飛行させるUAVの離陸時間差を設定する。ユーザは、初期位置/到達位置入力部(Drone Points)1108の[Delay]に離陸高度および到達高度を入力することができる。ユーザは、例えば、初期位置/到達位置入力部(Drone Points)1108の[Delay]にテキストを入力することができる。 Next, in step S1206, the user sets a takeoff time difference for the UAV to be flown. The user can input the takeoff altitude and arrival altitude into [Delay] of the initial position/arrival position input section (Drone Points) 1108. The user can input text to [Delay] of the initial position/arrival position input section (Drone Points) 1108, for example.

次に、ステップS1207では、ユーザは、飛行させるUAVの各設定を反映させる。ユーザは、飛行体設定ボタン(Drones Ctrl.)1103の[!]を操作することにより、これまでに入力した設定を確定させ。これにより、本アプリケーションは、UAVの移動条件を受け取ることになる。
例えば、航行中心位置を微調整したい場合には、ステップS1208において、ユーザは、ステップS1201と同様の操作で、航行中心位置を再設定することができる。この場合、ステップS1207に
Next, in step S1207, the user reflects each setting of the UAV to be flown. The user confirms the settings input so far by operating the [!] of the drone setting button (Drones Ctrl.) 1103. This causes the application to receive the movement conditions of the UAV.
For example, if the user wishes to finely adjust the navigation center position, in step S1208, the user can reset the navigation center position by performing the same operation as in step S1201. In this case, in step S1207,

戻って、再設定された内容を反映させる必要がある。 You need to go back and reflect the reconfigured settings.

次に、ステップS1209では、ユーザは、自動パス構築の機能を動作させる。ユーザは、実行ボタン1104を操作することにより、自動パス構築の機能を動作させることができる。これにより、アプリケーション内では、処理700が行われることになる。 Next, in step S1209, the user activates the automatic path construction function. The user can activate the automatic path construction function by operating the execute button 1104. This causes process 700 to be performed within the application.

処理700が完了すると、作成された飛行経路がユーザに提示される。飛行経路は、3D表示および/または2D表示でユーザに提示されることができる。 Upon completion of process 700, the created flight path is presented to the user. The flight path may be presented to the user in a 3D and/or 2D display.

図13は、ユーザに提示される飛行経路の3D表示を含む画面1300の一例を示す。 FIG. 13 shows an example of a screen 1300 that includes a 3D display of a flight path presented to a user.

画面1300では、3Dで芦原された地形図上に、作成された4本の飛行経路1310が表示されている。 Screen 1300 displays the four created flight paths 1310 on a 3D rendered topographical map.

再度図12を参照して、ステップS1210では、ユーザは、作成された飛行経路を3D表示上で視認し、交差等がないかを確認する。例えば、図13の画面1300を視認し、交差がないことを確認する。 Referring again to FIG. 12, in step S1210, the user visually checks the created flight route on the 3D display to check whether there are any intersections or the like. For example, visually check the screen 1300 in FIG. 13 to confirm that there is no intersection.

ステップS1211では、ユーザは、作成された飛行経路を2D表示上で視認し、交差等がないかを確認する。3D表示上では交差がなかったとしても、2D表示上では交差が存在する可能性が有るからである。例えば、3次元空間内では交差しないが2次元平面では交差する場合、下降流/上昇流の発生または機体異常の発生により急降下/急上昇が起きた場合に、飛行体同士が衝突してしまう可能性があるため、2D表示上でも交差しないことを確認することが重要である。上述したとおり、処理700では、2次元平面上での交差が最小となるように飛行経路を作成することができるため、2D表示上で交差する飛行経路は作成されにくいはずである。 In step S1211, the user visually checks the created flight route on the 2D display and checks whether there are any intersections or the like. This is because even if there is no intersection on the 3D display, there is a possibility that there is an intersection on the 2D display. For example, if they do not intersect in three-dimensional space but do intersect on a two-dimensional plane, there is a possibility that the aircraft will collide with each other if a sudden descent or steep rise occurs due to the occurrence of downdraft/updraft or the occurrence of an aircraft abnormality. Therefore, it is important to confirm that they do not intersect even on a 2D display. As described above, in the process 700, a flight path can be created such that the number of intersections on a two-dimensional plane is minimized, so it is unlikely that a flight path that intersects on a 2D display will be created.

作成された飛行経路に交差等の不備があった場合、ステップS1204に戻って、ステップS1204~ステップS1211を繰り返すことができる。 If there is a defect such as an intersection in the created flight route, the process can return to step S1204 and repeat steps S1204 to S1211.

作成された飛行経路が十分なものである場合、ステップS1212では、ユーザは、作成された飛行経路を出力することができる。ユーザは、保存ボタン1105を操作することにより、作成された飛行経路を保存することができる。飛行経路は、例えば、CSVデータで出力されることができる。 If the created flight path is sufficient, in step S1212, the user can output the created flight path. The user can save the created flight route by operating the save button 1105. The flight route can be output as CSV data, for example.

本発明は、複数の移動体の衝突を最小限にする、複数の移動体のそれぞれの移動経路の作成方法、システムおよびプログラムを提供するものとして有用である。 INDUSTRIAL APPLICABILITY The present invention is useful in providing a method, system, and program for creating movement routes for a plurality of moving bodies, which minimize collisions between the plurality of moving bodies.

U ユーザ
S 出発地
G 目的地
10 飛行体
100 システム
110 インターフェース部
120 プロセッサ部
130メモリ部
200 データベース部
U User S Departure G Destination 10 Aircraft 100 System 110 Interface section 120 Processor section 130 Memory section 200 Database section

Claims (14)

第1の移動体と第2の移動体とを少なくとも含む複数の移動体の、それぞれの移動経路の作成方法であって、前記作成方法は、プロセッサ部を有するコンピュータシステムにおいて実行され、前記作成方法は、
(1)前記プロセッサ部が、複数の移動体のそれぞれについての出発点と複数の候補到達点とを含む移動条件を取得することであって、前記出発点は、前記第1の移動体についての第1の出発点前記第2の移動体についての第2の出発点とを含み、前記複数の候補到達点は、前記第1の移動体についての第1の複数の候補到達点と前記第2の移動体についての第2の複数の候補到達点とを含むことと、
(2)前記プロセッサ部が、前記複数の移動体のそれぞれについて直線経路を決定することであって、
前記複数の移動体のそれぞれの出発点を始点群とし、前記複数の移動体のそれぞれの複数の候補到達点を終点群として、前記始点群のうちの各出発点と前記終点群のうちのいずれか1つの候補到達点とをペアにすることと、
前記第1の出発点と、前記第1の出発点とペアにされた第1の選択候補到達点とを結ぶことにより、第1の移動体の第1の直線経路を決定することと、
前記第2の出発点と、前記第2の出発点とペアにされた第2の選択候補到達点とを結ぶことにより、第2の移動体の第2の直線経路を決定することと
を含み、前記ペアにすることは、前記始点群のうちの1つの出発点と前記終点群のうちの1つの候補到達点とを結んだ直線と、前記始点群のうちの他の1つの出発点と前記終点群のうちの他の1つの候補到達点とを結んだ直線との交差数が最小になるように、ペア交差数をカウントする枝刈付き深さ優先探索法を用いて、前記始点群のうちの各出発点と前記終点群のうちのいずれか1つとのペアを探索することを含む、ことと、
(3)前記プロセッサ部が、少なくとも第1の直線経路について、前記第1の出発点と、前記第1の選択候補到達点と、前記出発点と前記第1の選択候補到達点との間の少なくとも1つの点とを結ぶことによって、第1の修正経路を導出することと
を含み、
前記(2)直線経路を決定することは、
他のいずれの直線経路とも交差しない1本の直線を特定することと、
前記第1の出発点および前記第2の出発点と、前記第1の複数の候補到達点および前記第2の複数の候補到達点を含む候補到達点群とを含む点群を前記1本の直線で分割することと、
分割後の点群のうち、第1の出発点が含まれる点群内で、前記第1の選択候補到達点を特定することと、
分割後の点群のうち、第2の出発点が含まれる点群内で、前記第2の選択候補到達点を特定することと
を含み、前記1本の直線は、分割後の点群の少なくとも一方において、出発点の数と候補到達点の数とが同一となるように特定される、作成方法。
A method of creating a movement route for each of a plurality of moving bodies including at least a first moving body and a second moving body, the creation method being executed in a computer system having a processor unit, the creation method teeth,
(1) The processor unit acquires movement conditions including a starting point and a plurality of candidate destination points for each of the plurality of moving objects, and the starting point is for the first moving object. a first starting point and a second starting point for the second mobile object , and the plurality of candidate arrival points include a first plurality of candidate arrival points for the first mobile object and a second starting point for the second mobile object. a second plurality of candidate arrival points for the second mobile body ;
(2) the processor section determines a straight path for each of the plurality of moving objects,
The starting point of each of the plurality of moving bodies is a starting point group, and the plurality of candidate arrival points of each of the plurality of moving bodies are a destination point group, and each starting point of the starting point group and which one of the ending point group or one candidate destination, and
determining a first straight path of the first mobile object by connecting the first starting point and a first selected candidate destination paired with the first starting point;
determining a second straight path of the second mobile object by connecting the second starting point and a second selected candidate destination paired with the second starting point; The above-mentioned pairing includes a straight line connecting one starting point of the starting point group and one candidate arrival point of the ending point group, and another starting point of the starting point group. A depth-first search method with pruning is used to count the number of pairwise intersections so that the number of intersections between the starting point and another candidate arrival point of the end point group is minimized. searching for a pair of each starting point of a group and any one of the ending point groups;
(3) The processor unit, for at least the first linear route, determines the first starting point, the first selected candidate destination point, and between the starting point and the first selected candidate destination point. deriving a first modified path by connecting at least one point;
(2) Determining the straight path is as follows:
identifying a straight line that does not intersect with any other straight line path;
A point group including the first starting point, the second starting point, and a candidate arrival point group including the first plurality of candidate arrival points and the second plurality of candidate arrival points is dividing by a straight line,
Identifying the first selection candidate destination point within the point group that includes the first starting point among the point group after division;
specifying the second selection candidate arrival point in a point group that includes a second starting point among the point group after division, and the one straight line A creation method in which the number of starting points and the number of candidate destination points are specified to be the same in at least one of the above .
前記交差は、2次元平面上での交差である、請求項に記載の作成方法。 The creation method according to claim 1 , wherein the intersection is an intersection on a two-dimensional plane. 前記少なくとも1つの点は、前記第1の直線経路の周囲に配置された点群内の点である、請求項1~のいずれか一項に記載の作成方法。 The method according to claim 1 , wherein the at least one point is a point in a cloud of points arranged around the first linear path. 第1の移動体と第2の移動体とを少なくとも含む複数の移動体の、それぞれの移動経路の作成方法であって、前記作成方法は、プロセッサ部を有するコンピュータシステムにおいて実行され、前記作成方法は、
(1)前記プロセッサ部が、複数の移動体のそれぞれについての出発点と複数の候補到達点とを含む移動条件を取得することであって、前記出発点は、前記第1の移動体についての第1の出発点前記第2の移動体についての第2の出発点とを含み、前記複数の候補到達点は、前記第1の移動体についての第1の複数の候補到達点と前記第2の移動体についての第2の複数の候補到達点とを含むことと、
(2)前記プロセッサ部が、前記複数の移動体のそれぞれについて直線経路を決定することであって、
前記複数の移動体のそれぞれの出発点を始点群とし、前記複数の移動体のそれぞれの複数の候補到達点を終点群として、前記始点群のうちの各出発点と前記終点群のうちのいずれか1つの候補到達点とをペアにすることと、
前記第1の出発点と、前記第1の出発点とペアにされた第1の選択候補到達点とを結ぶことにより、第1の移動体の第1の直線経路を決定することと、
前記第2の出発点と、前記第2の出発点とペアにされた第2の選択候補到達点とを結ぶことにより、第2の移動体の第2の直線経路を決定することと
を含み、前記ペアにすることは、前記始点群のうちの1つの出発点と前記終点群のうちの1つの候補到達点とを結んだ直線と、前記始点群のうちの他の1つの出発点と前記終点群のうちの他の1つの候補到達点とを結んだ直線との交差数が最小になるように、ペア交差数をカウントする枝刈付き深さ優先探索法を用いて、前記始点群のうちの各出発点と前記終点群のうちのいずれか1つとのペアを探索することを含む、ことと、
(3)前記プロセッサ部が、少なくとも第1の直線経路について、前記第1の出発点と、前記第1の選択候補到達点と、前記出発点と前記第1の選択候補到達点との間の少なくとも1つの点とを結ぶことによって、第1の修正経路を導出することと
を含み、
前記少なくとも1つの点は、前記第1の直線経路の周囲に配置された点群内の点であり、
前記点群内の複数の点は、前記第1の出発点に近づくほど点が密になり、かつ/または、前記第1の選択候補到達点に近づくほど点が密になるように分布している、作成方法。
A method of creating a movement route for each of a plurality of moving bodies including at least a first moving body and a second moving body, the creation method being executed in a computer system having a processor unit, the creation method teeth,
(1) The processor unit acquires movement conditions including a starting point and a plurality of candidate destination points for each of the plurality of moving objects, and the starting point is for the first moving object. a first starting point and a second starting point for the second mobile object , and the plurality of candidate arrival points include a first plurality of candidate arrival points for the first mobile object and a second starting point for the second mobile object. a second plurality of candidate arrival points for the second mobile body ;
(2) the processor section determines a straight path for each of the plurality of moving objects,
The starting point of each of the plurality of moving bodies is a starting point group, and the plurality of candidate arrival points of each of the plurality of moving bodies are a destination point group, and each starting point of the starting point group and which one of the ending point group or one candidate destination, and
determining a first straight path of the first mobile object by connecting the first starting point and a first selected candidate destination paired with the first starting point;
determining a second straight path of the second mobile object by connecting the second starting point and a second selected candidate destination paired with the second starting point; The above-mentioned pairing includes a straight line connecting one starting point of the starting point group and one candidate arrival point of the ending point group, and another starting point of the starting point group. A depth-first search method with pruning is used to count the number of pairwise intersections so that the number of intersections between the starting point and another candidate arrival point of the end point group is minimized. searching for a pair of each starting point of a group and any one of the ending point groups;
(3) The processor unit, for at least the first linear route, determines the first starting point, the first selected candidate destination point, and between the starting point and the first selected candidate destination point. deriving a first modified path by connecting at least one point;
the at least one point is a point in a point cloud arranged around the first linear path;
The plurality of points in the point group are distributed such that the closer the points are to the first starting point, the denser the points are, and/or the closer the points are to the first selected candidate destination point, the denser the points are. Yes, how to create it.
前記点群は、
極座標系におけるランダムな分布を有する点群を取得することと、
前記極座標系における点群を直交座標系における点群に変換することと、
前記変換された点群を前記第1の出発点を中心に配置することと、
前記変換された点群を前記第1の選択候補到達点を中心に配置することと
によって配置される、請求項または請求項に記載の作成方法。
The point group is
Obtaining a point cloud with a random distribution in a polar coordinate system;
Converting a point group in the polar coordinate system to a point group in a rectangular coordinate system;
centering the transformed point cloud on the first starting point;
The creation method according to claim 3 or 4 , wherein the transformed point group is arranged by centering the first selection candidate arrival point.
第1の移動体と第2の移動体とを少なくとも含む複数の移動体の、それぞれの移動経路の作成方法であって、前記作成方法は、プロセッサ部を有するコンピュータシステムにおいて実行され、前記作成方法は、
(1)前記プロセッサ部が、複数の移動体のそれぞれについての出発点と複数の候補到達点とを含む移動条件を取得することであって、前記出発点は、前記第1の移動体についての第1の出発点前記第2の移動体についての第2の出発点とを含み、前記複数の候補到達点は、前記第1の移動体についての第1の複数の候補到達点と前記第2の移動体についての第2の複数の候補到達点とを含むことと、
(2)前記プロセッサ部が、前記複数の移動体のそれぞれについて直線経路を決定することであって、
前記複数の移動体のそれぞれの出発点を始点群とし、前記複数の移動体のそれぞれの複数の候補到達点を終点群として、前記始点群のうちの各出発点と前記終点群のうちのいずれか1つの候補到達点とをペアにすることと、
前記第1の出発点と、前記第1の出発点とペアにされた第1の選択候補到達点とを結ぶことにより、第1の移動体の第1の直線経路を決定することと、
前記第2の出発点と、前記第2の出発点とペアにされた第2の選択候補到達点とを結ぶことにより、第2の移動体の第2の直線経路を決定することと
を含み、前記ペアにすることは、前記始点群のうちの1つの出発点と前記終点群のうちの1つの候補到達点とを結んだ直線と、前記始点群のうちの他の1つの出発点と前記終点群のうちの他の1つの候補到達点とを結んだ直線との交差数が最小になるように、ペア交差数をカウントする枝刈付き深さ優先探索法を用いて、前記始点群のうちの各出発点と前記終点群のうちのいずれか1つとのペアを探索することを含む、ことと、
(3)前記プロセッサ部が、少なくとも第1の直線経路について、前記第1の出発点と、前記第1の選択候補到達点と、前記出発点と前記第1の選択候補到達点との間の少なくとも1つの点とを結ぶことによって、第1の修正経路を導出することと
を含み、
前記第1の修正経路を導出することは、
(i)障害物が前記第1の直線経路に与える斥力場を算出することと、
(ii)前記斥力場が最小となるように、前記第1の出発点と、前記第1の選択候補到達点と、前記少なくとも1つの点とを結ぶことと
を含む、作成方法。
A method of creating a movement route for each of a plurality of moving bodies including at least a first moving body and a second moving body, the creation method being executed in a computer system having a processor unit, the creation method teeth,
(1) The processor unit acquires movement conditions including a starting point and a plurality of candidate destination points for each of the plurality of moving objects, and the starting point is for the first moving object. a first starting point and a second starting point for the second moving object , and the plurality of candidate arrival points include a first plurality of candidate arrival points for the first moving object and a second starting point for the second moving object. a second plurality of candidate arrival points for the second mobile body ;
(2) the processor section determines a straight path for each of the plurality of moving objects,
The starting points of each of the plurality of moving bodies are defined as a starting point group, and the plurality of candidate arrival points of each of the plurality of moving bodies are defined as a final point group, and each starting point of the plurality of starting points and which one of the terminal point group or one candidate destination, and
determining a first straight path of the first mobile object by connecting the first starting point and a first selected candidate destination point paired with the first starting point;
determining a second straight path of the second mobile object by connecting the second starting point and a second selected candidate destination paired with the second starting point; The pairing means that a straight line connecting one starting point of the starting point group and one candidate arrival point of the ending point group, and another starting point of the starting point group. A depth-first search method with pruning is used to count the number of pairwise intersections so that the number of intersections between the starting point and another candidate arrival point of the end point group is minimized. searching for a pair of each starting point of the group and any one of the ending point group;
(3) The processor unit, for at least the first linear route, determines the first starting point, the first selected candidate destination point, and the distance between the starting point and the first selected candidate destination point. deriving a first modified path by connecting at least one point;
Deriving the first modified path includes:
(i) calculating a repulsive force field exerted by an obstacle on the first straight path;
(ii) Connecting the first starting point, the first selection candidate arrival point, and the at least one point so that the repulsive force field is minimized.
前記第1の修正経路を導出することは、
(a)障害物が前記第2の直線経路に与える斥力場を算出することと、
(b)前記斥力場に基づいて、前記第2の出発点と、前記第2の選択候補到達点と、前記第2の出発点と前記第2の選択候補到達点との間の少なくとも1つの点とを結ぶこととによって、第2の修正経路を導出することと、
(c)前記第2の修正経路を障害物として、前記第1の直線経路に対して、前記(i)、(ii)を行うことによって、前記第1の修正経路を導出することと
を含む、請求項に記載の作成方法。
Deriving the first modified path includes:
(a) calculating a repulsive force field exerted by an obstacle on the second straight path;
(b) based on the repulsive force field, at least one of the second starting point, the second selected candidate destination point, and the second selected candidate destination point between the second starting point and the second selected candidate destination point; deriving a second modified path by connecting the points;
(c) deriving the first modified route by performing (i) and (ii) on the first straight route using the second modified route as an obstacle; , The production method according to claim 6 .
前記第1の移動体および前記第2の移動体は、前記複数の移動体からランダムに選択される、請求項1~のいずれか一項に記載の作成方法。 The creation method according to any one of claims 1 to 7 , wherein the first moving object and the second moving object are randomly selected from the plurality of moving objects. 第1の移動体と第2の移動体とを少なくとも含む複数の移動体の、それぞれの移動経路を作成するためのシステムであって、
複数の移動体のそれぞれについての出発点と複数の候補到達点とを含む移動条件を取得する取得手段であって、前記出発点は、前記第1の移動体についての第1の出発点と前記第2の移動体についての第2の出発点とを含み、前記複数の候補到達点は、前記第1の移動体についての第1の複数の候補到達点と前記第2の移動体についての第2の複数の候補到達点とを含む、取得手段と、
前記複数の移動体のそれぞれについて直線経路を決定する決定手段であって、前記決定手段は、
前記複数の移動体のそれぞれの出発点を始点群とし、前記複数の移動体のそれぞれの複数の候補到達点を終点群として、前記始点群のうちの各出発点と前記終点群のうちのいずれか1つの候補到達点とをペアにすることと、
前記第1の出発点と、前記第1の出発点とペアにされた第1の選択候補到達点とを結ぶことにより、第1の移動体の第1の直線経路を決定することと、
前記第2の出発点と、前記第2の出発点とペアにされた第2の選択候補到達点とを結ぶことにより、第2の移動体の第2の直線経路を決定することと
を行うように構成され、前記ペアにすることは、前記始点群のうちの1つの出発点と前記終点群のうちの1つの候補到達点とを結んだ直線と、前記始点群のうちの他の1つの出発点と前記終点群のうちの他の1つの候補到達点とを結んだ直線との交差数が最小になるように、ペア交差数をカウントする枝刈付き深さ優先探索法を用いて、前記始点群のうちの各出発点と前記終点群のうちのいずれか1つとのペアを探索することを含む、決定手段と、
少なくとも第1の直線経路について、前記第1の出発点と、前記第1の選択候補到達点と、前記出発点と前記第1の選択候補到達点との間の少なくとも1つの点とを結ぶことによって、第1の修正経路を導出する導出手段と
を含み、前記導出手段は、
(i)障害物が前記第1の直線経路に与える斥力場を算出するステップと、
(ii)前記斥力場が最小となるように、前記第1の出発点と、前記第1の選択候補到達点と、前記少なくとも1つの点とを結ぶステップと
を行う、システム。
A system for creating movement routes for each of a plurality of moving bodies including at least a first moving body and a second moving body, the system comprising:
Acquisition means for acquiring movement conditions including a starting point and a plurality of candidate arrival points for each of a plurality of moving objects, wherein the starting point is a first starting point for the first moving object and a plurality of candidate arrival points. a second starting point for the second mobile body, and the plurality of candidate arrival points include a first plurality of candidate arrival points for the first mobile body and a second starting point for the second mobile body. 2. a plurality of candidate arrival points ;
A determining means for determining a straight line route for each of the plurality of moving objects, the determining means comprising:
The starting point of each of the plurality of moving bodies is a starting point group, and the plurality of candidate arrival points of each of the plurality of moving bodies are a destination point group, and each starting point of the starting point group and which one of the ending point group or one candidate destination, and
determining a first straight path of the first mobile object by connecting the first starting point and a first selected candidate destination paired with the first starting point;
determining a second straight path of the second moving body by connecting the second starting point and a second selected candidate arrival point paired with the second starting point; The pairing includes a straight line connecting one starting point of the starting point group and one candidate arrival point of the ending point group, and another one of the starting point group. A depth-first search method with pruning is used to count the number of pairwise intersections so that the number of intersections with a straight line connecting one starting point and another candidate arrival point of the group of destination points is minimized. , searching for a pair of each starting point of the starting points and any one of the ending points ;
connecting the first starting point, the first selected candidate destination point, and at least one point between the starting point and the first selected candidate destination point for at least a first straight path; derivation means for deriving the first modified path by; the derivation means comprising:
(i) calculating a repulsive force field exerted by an obstacle on the first straight path;
(ii) connecting the first starting point, the first selected candidate destination, and the at least one point such that the repulsive force field is minimized.
第1の移動体と第2の移動体とを少なくとも含む複数の移動体の、それぞれの移動経路を作成するためのプログラムであって、前記プログラムは、プロセッサ部を有するコンピュータシステムにおいて実行され、前記プログラムは、
(1)複数の移動体のそれぞれについての出発点と複数の候補到達点とを含む移動条件を取得することであって、前記出発点は、前記第1の移動体についての第1の出発点前記第2の移動体についての第2の出発点とを含み、前記複数の候補到達点は、前記第1の移動体についての第1の複数の候補到達点と前記第2の移動体についての第2の複数の候補到達点とを含むことと、
(2)前記複数の移動体のそれぞれについて直線経路を決定することであって、
前記複数の移動体のそれぞれの出発点を始点群とし、前記複数の移動体のそれぞれの複数の候補到達点を終点群として、前記始点群のうちの各出発点と前記終点群のうちのいずれか1つの候補到達点とをペアにすることと、
前記第1の出発点と、前記第1の出発点とペアにされた第1の選択候補到達点とを結ぶことにより、第1の移動体の第1の直線経路を決定することと、
前記第2の出発点と、前記第2の出発点とペアにされた第2の選択候補到達点とを結ぶことにより、第2の移動体の第2の直線経路を決定することと
を含み、前記ペアにすることは、前記始点群のうちの1つの出発点と前記終点群のうちの1つの候補到達点とを結んだ直線と、前記始点群のうちの他の1つの出発点と前記終点群のうちの他の1つの候補到達点とを結んだ直線との交差数が最小になるように、ペア交差数をカウントする枝刈付き深さ優先探索法を用いて、前記始点群のうちの各出発点と前記終点群のうちのいずれか1つとのペアを探索することを含む、ことと、
(3)少なくとも第1の直線経路について、前記第1の出発点と、前記第1の選択候補到達点と、前記出発点と前記第1の選択候補到達点との間の少なくとも1つの点とを結ぶことによって、第1の修正経路を導出することと
を含む処理を前記プロセッサ部に行わせ、前記第1の修正経路を導出することは、
(i)障害物が前記第1の直線経路に与える斥力場を算出することと、
(ii)前記斥力場が最小となるように、前記第1の出発点と、前記第1の選択候補到達点と、前記少なくとも1つの点とを結ぶことと
を含む、プログラム。
A program for generating a moving path for each of a plurality of moving bodies including at least a first moving body and a second moving body, the program being executed in a computer system having a processor unit, the program comprising:
(1) acquiring travel conditions including a starting point and a plurality of candidate destination points for each of a plurality of moving bodies, the starting point including a first starting point for the first moving body and a second starting point for the second moving body, and the plurality of candidate destination points including a first plurality of candidate destination points for the first moving body and a second plurality of candidate destination points for the second moving body;
(2) determining a straight line path for each of the plurality of moving objects,
A starting point of each of the plurality of moving bodies is defined as a starting point group, a plurality of candidate arrival points of each of the plurality of moving bodies is defined as an end point group, and each starting point of the starting point group is paired with any one of the candidate arrival points of the end point group;
determining a first straight-line path for a first moving object by connecting the first starting point and a first selected candidate destination point paired with the first starting point;
determining a second straight-line path of a second moving object by connecting the second starting point with a second selected candidate destination point paired with the second starting point , the pairing including searching for pairs of each starting point in the group of starting points and any one of the group of destination points using a pruning depth-first search method that counts the number of pair intersections between a straight line connecting one starting point in the group of starting points and one candidate destination point in the group of destination points and a straight line connecting another starting point in the group of starting points and another candidate destination point in the group of destination points, so as to minimize the number of intersections between the straight line connecting one starting point in the group of starting points and one candidate destination point in the group of destination points ;
(3) for at least a first straight line path, deriving a first modified path by connecting the first starting point, the first selection candidate destination point, and at least one point between the starting point and the first selection candidate destination point, and deriving the first modified path includes:
(i) calculating a repulsive force field that an obstacle exerts on the first linear path;
(ii) connecting the first starting point, the first selection candidate destination point, and the at least one point so that the repulsive field is minimized.
第1の移動体と第2の移動体とを少なくとも含む複数の移動体の、それぞれの移動経路を作成するためのシステムであって、
複数の移動体のそれぞれについての出発点と複数の候補到達点とを含む移動条件を取得する取得手段であって、前記出発点は、前記第1の移動体についての第1の出発点と前記第2の移動体についての第2の出発点とを含み、前記複数の候補到達点は、前記第1の移動体についての第1の複数の候補到達点と前記第2の移動体についての第2の複数の候補到達点とを含む、取得手段と、
前記複数の移動体のそれぞれについて直線経路を決定する決定手段であって、前記決定手段は、
前記複数の移動体のそれぞれの出発点を始点群とし、前記複数の移動体のそれぞれの複数の候補到達点を終点群として、前記始点群のうちの各出発点と前記終点群のうちのいずれか1つの候補到達点とをペアにすることと、
前記第1の出発点と、前記第1の出発点とペアにされた第1の選択候補到達点とを結ぶことにより、第1の移動体の第1の直線経路を決定することと、
前記第2の出発点と、前記第2の出発点とペアにされた第2の選択候補到達点とを結ぶことにより、第2の移動体の第2の直線経路を決定することと
を行うように構成され、前記ペアにすることは、前記始点群のうちの1つの出発点と前記終点群のうちの1つの候補到達点とを結んだ直線と、前記始点群のうちの他の1つの出発点と前記終点群のうちの他の1つの候補到達点とを結んだ直線との交差数が最小になるように、ペア交差数をカウントする枝刈付き深さ優先探索法を用いて、前記始点群のうちの各出発点と前記終点群のうちのいずれか1つとのペアを探索することを含む、決定手段と、
少なくとも第1の直線経路について、前記第1の出発点と、前記第1の選択候補到達点と、前記出発点と前記第1の選択候補到達点との間の少なくとも1つの点とを結ぶことによって、第1の修正経路を導出する導出手段と
を含み、
前記決定手段は、
他のいずれの直線経路とも交差しない1本の直線を特定することと、
前記第1の出発点および前記第2の出発点と、前記第1の複数の候補到達点および前記第2の複数の候補到達点を含む候補到達点群とを含む点群を前記1本の直線で分割することと、
分割後の点群のうち、第1の出発点が含まれる点群内で、前記第1の選択候補到達点を特定することと、
分割後の点群のうち、第2の出発点が含まれる点群内で、前記第2の選択候補到達点を特定することと
を行い、前記1本の直線は、分割後の点群の少なくとも一方において、出発点の数と候補到達点の数とが同一となるように特定される、システム
A system for creating movement routes for each of a plurality of moving bodies including at least a first moving body and a second moving body, the system comprising:
Acquisition means for acquiring movement conditions including a starting point and a plurality of candidate arrival points for each of a plurality of moving objects, wherein the starting point is a first starting point for the first moving object and a plurality of candidate arrival points. a second starting point for the second mobile body, and the plurality of candidate arrival points include a first plurality of candidate arrival points for the first mobile body and a second starting point for the second mobile body. 2. a plurality of candidate arrival points;
A determining means for determining a straight line route for each of the plurality of moving objects, the determining means comprising:
The starting point of each of the plurality of moving bodies is a starting point group, and the plurality of candidate arrival points of each of the plurality of moving bodies are a destination point group, and each starting point of the starting point group and which one of the ending point group or one candidate destination, and
determining a first straight path of the first mobile object by connecting the first starting point and a first selected candidate destination paired with the first starting point;
determining a second straight path of the second moving body by connecting the second starting point and a second selected candidate destination paired with the second starting point;
The pairing includes a straight line connecting one starting point of the starting point group and one candidate arrival point of the ending point group, and the other of the starting point group. A pruned depth-first search method is used to count the number of pairwise intersections so that the number of intersections with a straight line connecting one starting point and one other candidate arrival point of the end point group is minimized. determining means for searching for a pair of each starting point of the group of starting points and any one of the group of ending points using the method;
connecting the first starting point, the first selected candidate destination point, and at least one point between the starting point and the first selected candidate destination point for at least a first straight path; a deriving means for deriving the first modified path by
including;
The determining means is
identifying a straight line that does not intersect with any other straight line path;
A point group including the first starting point, the second starting point, and a candidate arrival point group including the first plurality of candidate arrival points and the second plurality of candidate arrival points is dividing by a straight line,
Identifying the first selection candidate destination point within the point group that includes the first starting point among the point group after division;
specifying the second selection candidate destination point within the point group that includes the second starting point among the point group after the division;
and the one straight line is specified such that the number of starting points and the number of candidate destination points are the same in at least one of the point groups after division.
第1の移動体と第2の移動体とを少なくとも含む複数の移動体の、それぞれの移動経路を作成するためのプログラムであって、前記プログラムは、プロセッサ部を有するコンピュータシステムにおいて実行され、前記プログラムは、
(1)複数の移動体のそれぞれについての出発点と複数の候補到達点とを含む移動条件を取得することであって、前記出発点は、前記第1の移動体についての第1の出発点と前記第2の移動体についての第2の出発点とを含み、前記複数の候補到達点は、前記第1の移動体についての第1の複数の候補到達点と前記第2の移動体についての第2の複数の候補到達点とを含む、ことと、
(2)前記複数の移動体のそれぞれについて直線経路を決定することであって、
前記複数の移動体のそれぞれの出発点を始点群とし、前記複数の移動体のそれぞれの複数の候補到達点を終点群として、前記始点群のうちの各出発点と前記終点群のうちのいずれか1つの候補到達点とをペアにすることと、
前記第1の出発点と、前記第1の出発点とペアにされた第1の選択候補到達点とを結ぶことにより、第1の移動体の第1の直線経路を決定することと、
前記第2の出発点と、前記第2の出発点とペアにされた第2の選択候補到達点とを結ぶことにより、第2の移動体の第2の直線経路を決定することと
を含み、前記ペアにすることは、前記始点群のうちの1つの出発点と前記終点群のうちの1つの候補到達点とを結んだ直線と、前記始点群のうちの他の1つの出発点と前記終点群のうちの他の1つの候補到達点とを結んだ直線との交差数が最小になるように、ペア交差数をカウントする枝刈付き深さ優先探索法を用いて、前記始点群のうちの各出発点と前記終点群のうちのいずれか1つとのペアを探索することを含む、ことと、
(3)少なくとも第1の直線経路について、前記第1の出発点と、前記第1の選択候補到達点と、前記出発点と前記第1の選択候補到達点との間の少なくとも1つの点とを結ぶことによって、第1の修正経路を導出することと
を含む処理を前記プロセッサ部に行わせ、
前記(2)直線経路を決定することは、
他のいずれの直線経路とも交差しない1本の直線を特定することと、
前記第1の出発点および前記第2の出発点と、前記第1の複数の候補到達点および前記第2の複数の候補到達点を含む候補到達点群とを含む点群を前記1本の直線で分割することと、
分割後の点群のうち、第1の出発点が含まれる点群内で、前記第1の選択候補到達点を特定することと、
分割後の点群のうち、第2の出発点が含まれる点群内で、前記第2の選択候補到達点を特定することと
を含み、前記1本の直線は、分割後の点群の少なくとも一方において、出発点の数と候補到達点の数とが同一となるように特定される、プログラム
A program for creating movement routes for each of a plurality of moving bodies including at least a first moving body and a second moving body, the program being executed in a computer system having a processor section, The program is
(1) Obtaining movement conditions including a starting point and a plurality of candidate arrival points for each of a plurality of moving objects, wherein the starting point is a first starting point for the first moving object. and a second starting point for the second mobile body, and the plurality of candidate arrival points include a first plurality of candidate arrival points for the first mobile body and a second starting point for the second mobile body. a second plurality of candidate destinations; and
(2) determining a straight path for each of the plurality of moving objects,
The starting point of each of the plurality of moving bodies is a starting point group, and the plurality of candidate arrival points of each of the plurality of moving bodies are a destination point group, and each starting point of the starting point group and which one of the ending point group or one candidate destination, and
determining a first straight path of the first mobile object by connecting the first starting point and a first selected candidate destination paired with the first starting point;
determining a second straight path of the second moving body by connecting the second starting point and a second selected candidate destination paired with the second starting point;
and the pairing includes a straight line connecting one starting point of the starting point group and one candidate arrival point of the ending point group, and another starting point of the starting point group. Using a depth-first search method with pruning that counts the number of pairwise intersections so that the number of intersections between a point and a straight line connecting another candidate arrival point of the end point group is minimized, searching for a pair of each starting point of the starting points and any one of the ending points;
(3) for at least the first straight route, the first starting point, the first selected candidate destination point, and at least one point between the starting point and the first selected candidate destination point; Derive the first modified path by connecting
causing the processor unit to perform processing including;
(2) Determining the straight path is as follows:
identifying a straight line that does not intersect with any other straight line path;
A point group including the first starting point, the second starting point, and a candidate arrival point group including the first plurality of candidate arrival points and the second plurality of candidate arrival points is dividing by a straight line,
Identifying the first selection candidate destination point within the point group that includes the first starting point among the point group after division;
specifying the second selection candidate destination point within the point group that includes the second starting point among the point group after the division;
, wherein the one straight line is specified such that the number of starting points and the number of candidate destination points are the same in at least one of the point groups after division.
第1の移動体と第2の移動体とを少なくとも含む複数の移動体の、それぞれの移動経路を作成するためのシステムであって、
複数の移動体のそれぞれについての出発点と複数の候補到達点とを含む移動条件を取得する取得手段であって、前記出発点は、前記第1の移動体についての第1の出発点と前記第2の移動体についての第2の出発点とを含み、前記複数の候補到達点は、前記第1の移動体についての第1の複数の候補到達点と前記第2の移動体についての第2の複数の候補到達点とを含む、取得手段と、
前記複数の移動体のそれぞれについて直線経路を決定する決定手段であって、前記決定手段は、
前記複数の移動体のそれぞれの出発点を始点群とし、前記複数の移動体のそれぞれの複数の候補到達点を終点群として、前記始点群のうちの各出発点と前記終点群のうちのいずれか1つの候補到達点とをペアにすることと、
前記第1の出発点と、前記第1の出発点とペアにされた第1の選択候補到達点とを結ぶことにより、第1の移動体の第1の直線経路を決定することと、
前記第2の出発点と、前記第2の出発点とペアにされた第2の選択候補到達点とを結ぶことにより、第2の移動体の第2の直線経路を決定することと
を行うように構成され、前記ペアにすることは、前記始点群のうちの1つの出発点と前記終点群のうちの1つの候補到達点とを結んだ直線と、前記始点群のうちの他の1つの出発点と前記終点群のうちの他の1つの候補到達点とを結んだ直線との交差数が最小になるように、ペア交差数をカウントする枝刈付き深さ優先探索法を用いて、前記始点群のうちの各出発点と前記終点群のうちのいずれか1つとのペアを探索することを含む、決定手段と、
少なくとも第1の直線経路について、前記第1の出発点と、前記第1の選択候補到達点と、前記出発点と前記第1の選択候補到達点との間の少なくとも1つの点とを結ぶことによって、第1の修正経路を導出する導出手段と
を含み、
前記少なくとも1つの点は、前記第1の直線経路の周囲に配置された点群内の点であり、
前記点群内の複数の点は、前記第1の出発点に近づくほど点が密になり、かつ/または、前記第1の選択候補到達点に近づくほど点が密になるように分布している、システム
A system for creating movement routes for each of a plurality of moving bodies including at least a first moving body and a second moving body, the system comprising:
Acquisition means for acquiring movement conditions including a starting point and a plurality of candidate arrival points for each of a plurality of moving objects, wherein the starting point is a first starting point for the first moving object and a plurality of candidate arrival points. a second starting point for the second mobile body, and the plurality of candidate arrival points include a first plurality of candidate arrival points for the first mobile body and a second starting point for the second mobile body. 2. a plurality of candidate arrival points;
A determining means for determining a straight line route for each of the plurality of moving objects, the determining means comprising:
The starting point of each of the plurality of moving bodies is a starting point group, and the plurality of candidate arrival points of each of the plurality of moving bodies are a destination point group, and each starting point of the starting point group and which one of the ending point group or one candidate destination, and
determining a first straight path of the first mobile object by connecting the first starting point and a first selected candidate destination paired with the first starting point;
determining a second straight path of the second moving body by connecting the second starting point and a second selected candidate destination paired with the second starting point;
The pairing includes a straight line connecting one starting point of the starting point group and one candidate arrival point of the ending point group, and the other of the starting point group. A pruned depth-first search method is used to count the number of pairwise intersections so that the number of intersections with a straight line connecting one starting point and one other candidate arrival point of the end point group is minimized. determining means for searching for a pair of each starting point of the group of starting points and any one of the group of ending points using the method;
connecting the first starting point, the first selected candidate destination point, and at least one point between the starting point and the first selected candidate destination point for at least a first straight path; a deriving means for deriving the first modified path by
including;
the at least one point is a point in a point cloud arranged around the first linear path;
The plurality of points in the point group are distributed such that the closer the points are to the first starting point, the denser the points are, and/or the closer the points are to the first selected candidate destination point, the denser the points are. There is a system .
第1の移動体と第2の移動体とを少なくとも含む複数の移動体の、それぞれの移動経路を作成するためのプログラムであって、前記プログラムは、プロセッサ部を有するコンピュータシステムにおいて実行され、前記プログラムは、
(1)複数の移動体のそれぞれについての出発点と複数の候補到達点とを含む移動条件を取得することであって、前記出発点は、前記第1の移動体についての第1の出発点と前記第2の移動体についての第2の出発点とを含み、前記複数の候補到達点は、前記第1の移動体についての第1の複数の候補到達点と前記第2の移動体についての第2の複数の候補到達点とを含む、ことと、
(2)前記複数の移動体のそれぞれについて直線経路を決定することであって、
前記複数の移動体のそれぞれの出発点を始点群とし、前記複数の移動体のそれぞれの複数の候補到達点を終点群として、前記始点群のうちの各出発点と前記終点群のうちのいずれか1つの候補到達点とをペアにすることと、
前記第1の出発点と、前記第1の出発点とペアにされた第1の選択候補到達点とを結ぶことにより、第1の移動体の第1の直線経路を決定することと、
前記第2の出発点と、前記第2の出発点とペアにされた第2の選択候補到達点とを結ぶことにより、第2の移動体の第2の直線経路を決定することと
を含み、前記ペアにすることは、前記始点群のうちの1つの出発点と前記終点群のうちの1つの候補到達点とを結んだ直線と、前記始点群のうちの他の1つの出発点と前記終点群のうちの他の1つの候補到達点とを結んだ直線との交差数が最小になるように、ペア交差数をカウントする枝刈付き深さ優先探索法を用いて、前記始点群のうちの各出発点と前記終点群のうちのいずれか1つとのペアを探索することを含む、ことと、
(3)少なくとも第1の直線経路について、前記第1の出発点と、前記第1の選択候補到達点と、前記出発点と前記第1の選択候補到達点との間の少なくとも1つの点とを結ぶことによって、第1の修正経路を導出することと
を含む処理を前記プロセッサ部に行わせ、
前記少なくとも1つの点は、前記第1の直線経路の周囲に配置された点群内の点であり、
前記点群内の複数の点は、前記第1の出発点に近づくほど点が密になり、かつ/または、前記第1の選択候補到達点に近づくほど点が密になるように分布している、プログラム
A program for creating movement routes for each of a plurality of moving bodies including at least a first moving body and a second moving body, the program being executed in a computer system having a processor section, The program is
(1) Obtaining movement conditions including a starting point and a plurality of candidate arrival points for each of a plurality of moving objects, wherein the starting point is a first starting point for the first moving object. and a second starting point for the second mobile body, and the plurality of candidate arrival points include a first plurality of candidate arrival points for the first mobile body and a second starting point for the second mobile body. a second plurality of candidate destination points; and
(2) determining a straight path for each of the plurality of moving objects,
The starting point of each of the plurality of moving bodies is a starting point group, and the plurality of candidate arrival points of each of the plurality of moving bodies are a destination point group, and each starting point of the starting point group and which one of the ending point group or one candidate destination, and
determining a first straight path of the first mobile object by connecting the first starting point and a first selected candidate destination paired with the first starting point;
determining a second straight path of the second moving body by connecting the second starting point and a second selected candidate destination paired with the second starting point;
and the pairing includes a straight line connecting one starting point of the starting point group and one candidate arrival point of the ending point group, and another starting point of the starting point group. Using a depth-first search method with pruning that counts the number of pairwise intersections so that the number of intersections between a point and a straight line connecting another candidate arrival point of the end point group is minimized, searching for a pair of each starting point of the starting points and any one of the ending points;
(3) for at least the first straight route, the first starting point, the first selected candidate destination point, and at least one point between the starting point and the first selected candidate destination point; Derive the first modified path by connecting
causing the processor unit to perform processing including;
the at least one point is a point in a point cloud arranged around the first linear path;
The plurality of points in the point group are distributed such that the closer the points are to the first starting point, the denser the points are, and/or the closer the points are to the first selected candidate destination point, the denser the points are. Yes, there is a program .
JP2020185960A 2020-11-06 2020-11-06 Method, system and program for creating travel routes for each of a plurality of moving objects Active JP7458593B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020185960A JP7458593B2 (en) 2020-11-06 2020-11-06 Method, system and program for creating travel routes for each of a plurality of moving objects

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020185960A JP7458593B2 (en) 2020-11-06 2020-11-06 Method, system and program for creating travel routes for each of a plurality of moving objects

Publications (2)

Publication Number Publication Date
JP2022075273A JP2022075273A (en) 2022-05-18
JP7458593B2 true JP7458593B2 (en) 2024-04-01

Family

ID=81606288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020185960A Active JP7458593B2 (en) 2020-11-06 2020-11-06 Method, system and program for creating travel routes for each of a plurality of moving objects

Country Status (1)

Country Link
JP (1) JP7458593B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111722639B (en) * 2019-03-18 2022-06-07 北京京东乾石科技有限公司 Takeoff control method, device and system of unmanned aerial vehicle cluster and readable medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019196047A (en) 2018-05-08 2019-11-14 株式会社eロボティクス福島 Drone group and atmospheric environment measuring method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5785463B2 (en) * 2011-09-14 2015-09-30 富士重工業株式会社 Flight path identification method and program
JP7067897B2 (en) * 2017-10-30 2022-05-16 エスゼット ディージェイアイ テクノロジー カンパニー リミテッド Information processing equipment, flight control instruction method, program, and recording medium
JP7106417B2 (en) * 2018-10-04 2022-07-26 セコム株式会社 Flight plan calculation device and program

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019196047A (en) 2018-05-08 2019-11-14 株式会社eロボティクス福島 Drone group and atmospheric environment measuring method

Also Published As

Publication number Publication date
JP2022075273A (en) 2022-05-18

Similar Documents

Publication Publication Date Title
WO2017211029A1 (en) Method and device for planning flight path for unmanned aerial vehicle
CN104854428B (en) sensor fusion
US11029352B2 (en) Unmanned aerial vehicle electromagnetic avoidance and utilization system
Yoder et al. Autonomous exploration for infrastructure modeling with a micro aerial vehicle
Allaire et al. FPGA implementation of genetic algorithm for UAV real-time path planning
US20210278834A1 (en) Method for Exploration and Mapping Using an Aerial Vehicle
JP2019067252A (en) Route selecting unit, unmanned aircraft, data processing unit, route selection processing method, and program for route selection processing
JP6996729B2 (en) Electromagnetic field data acquisition system, flying object, terminal device, and program
Garcia et al. Dynamic graph-search algorithm for global path planning in presence of hazardous weather
EP3213158B1 (en) Space partitioning for motion planning
CN113405552A (en) Aircraft path planning method and device
JP7458593B2 (en) Method, system and program for creating travel routes for each of a plurality of moving objects
Bryson et al. Architectures for cooperative airborne simultaneous localisation and mapping
Scholer et al. Configuration space and visibility graph generation from geometric workspaces for uavs
Magree et al. Monocular visual mapping for obstacle avoidance on UAVs
Bouzid et al. Guidance-control system of a quadrotor for optimal coverage in cluttered environment with a limited onboard energy: Complete software
Niendorf et al. Multi-query path planning for an unmanned fixed-wing aircraft
Bertram et al. Efficient Unmanned Aerial Systems Navigation With Collision Avoidance in Dense Urban Environments
KR20220062964A (en) Method of generating optimal path for multiple unmanned aerial vehicles over a polygonal flight area
KR20190004983A (en) Method and apparatus for providing digital moving map service for safe navigation of unmanned aerial vehicle
CN116560408A (en) Sequence convex optimization method and system for time optimal track of unmanned aerial vehicle
Adolf et al. Rapid multi-query path planning for a vertical take-off and landing unmanned aerial vehicle
US20230244244A1 (en) Information processing apparatus, information processing method, and program
Kurdi et al. Navigation of mobile robot with cooperation of quadcopter
Zhang et al. Route planning for unmanned air vehicles with multiple missions using an evolutionary algorithm

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230414

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230414

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230803

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231019

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20231218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240123

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240308

R150 Certificate of patent or registration of utility model

Ref document number: 7458593

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150