以下、添付図面を参照しながら本開示での実施形態を詳細に説明する。なお、図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。
[システムの概要]
実施形態に係る飛行制御システム1は飛行体を制御するコンピュータシステムである。飛行体とは、空中を移動することが可能な人工物のことをいう。飛行体の種類は限定されず、例えば有人航空機でもよいし無人航空機(ドローン)でもよい。「飛行体の制御」とは、飛行体を直接に制御することと、他の装置またはコンピュータを介して飛行体を間接的に制御することとの双方を含み得る概念である。飛行体の間接的な制御の一例として、飛行体の制御の支援が挙げられる。飛行体の制御の具体的な手法は限定されない。例えば、飛行制御システム1は飛行体の進行方向または速度を変更してもよいし、飛行体を離着陸させてもよいし、飛行体を空中で停止させてもよいし、飛行体の飛行経路を決定してもよいし、決定された飛行経路を飛行体の移動中に変更してもよい。「飛行体の制御」は、飛行体の移動の制御と、飛行体に搭載された機器(例えばカメラ)の制御との少なくとも一方を含んでもよい。
一例では、飛行制御システム1は、他の飛行体の存在も考慮して特定の飛行体を制御する。本開示では、この場合を想定して、飛行制御システム1によって制御する対象となる飛行体を「対象飛行体」ともいい、これにより該飛行体を「他の飛行体」と区別する。
飛行制御システム1は飛行経路に沿って飛行している対象飛行体を制御する。一例では、その飛行経路は少なくとも1箇所において他の経路と交差する。本開示において、飛行経路および他の経路の交差とは、それら二つの経路が同一平面で交差せずに異なる高さまたは高度で交わる場合と、それら二つの経路が同一平面で交わる場合との双方を含む概念を意味することに留意されたい。言い換えると、飛行経路および他の経路の交差とは、飛行経路および他の経路を地表面に投影した際に双方の経路が交わることを意味する。本開示において、交差は、飛行経路が他の経路と合わさって一つの経路になる合流を含む概念であることに留意されたい。
飛行経路と交差する他の経路は、地物により構成される経路(すなわち地上の経路)でもよいし、空中に設定される経路でもよい。地物により構成される経路の例として道路、線路、航路などが挙げられる。より具体的な例として、地物により構成される経路は河川、湖、海、または地面上に架けられた橋梁であり得る。空中に設定される経路の例として、他の飛行体が通る可能性がある経路、すなわち他の飛行経路が挙げられる。飛行経路と交差する他の経路の種類はこれらに限定されない。
地物とは、地上に存在する任意の有体物または無体物である。地物は自然物でも人工物でもよい。例えば、地物は、山地、農地、住宅地、更地、河川、湖、海、観光地、道路、鉄道、建物、公園、塔、信号機、踏切、横断歩道、歩道橋、浮標などを含み得る。無体物である地物の例として、任意の目的で設定された区域(例えば、撮影禁止区域、一時的な進入禁止区域など)、イベントが開催される区域、集合場所、撮影スポットなどが挙げられる。当然ながら、地物の種類はこれらに限定されない。本開示では、地物は経路を構成し得る有体物または無体物である。
飛行制御システム1は飛行経路および他の経路の交差に対応する注意範囲内の状況に基づいて飛行経路上での対象飛行体を制御する。注意範囲とは、対象飛行体の制御において考慮される状況を確認するために設定される有限の地理的範囲のことをいう。注意範囲は2次元または3次元の空間的広がりを有する。一例では、注意範囲内の状況は、時間の経過に伴って変化する要素を含む。飛行制御システム1は注意範囲内の任意の状況を認識してよい。その状況の例として、通行する人または移動体の個数を示す交通量と他の飛行体の有無とが挙げられ、これらの例はいずれも、時間の経過に伴って変化する要素の一例である。もちろん、状況は交通量、および他の飛行体の有無に限定されない。
図1は対象飛行体の制御の一例を示す図である。この例では、対象飛行体40の飛行経路の一部として、ノード201とノード202とをつなぐリンク203を示す。リンク203は河川301の上空に設定され、河川301に架かった橋梁302と交差する。ノードとは、移動体が通過する地点であり、その地点を通過するように、飛行体の進行を制御する。具体的には、移動方法(例えば方向、速度など)を変える。なお、移動体の移動方法はノード以外の場所で変更される。リンクとは、移動経路を示すために設定される仮想的な線のことをいい、隣接するノード間を結ぶ。リンクの形状は直線でも曲線でもよく、あるいは、直線と曲線との組合せでもよい。対象飛行体40はリンク203に沿ってノード201からノード202へと進む。この例では、飛行制御システム1はその交差に対応して、橋梁302の全体を包含する注意範囲401を決定し、その注意範囲401における交通量に基づいて対象飛行体40を制御する。一例では、飛行制御システム1は、その交通量が所与の閾値以上である場合には対象飛行体40を橋梁302の手前で一時停止させ、交通量が該閾値未満である場合には対象飛行体40をノード202へとそのまま飛行させ続ける。
地物の中には、河川、線路、道路などのように線状を呈する地物が存在する。本開示ではそのような地物を「線状の地物」ともいう。一例では、飛行経路は線状の地物の上空に位置してもよく、この場合に、他の経路は橋梁であってもよい。図1は、線状の地物の上空に位置する飛行経路と橋梁との交差の一例を示すということができる。
図2は対象飛行体の制御の別の例を示す図である。この例では、対象飛行体40の飛行経路の一部として、ノード211とノード212とをつなぐリンク213を示し、他の飛行体50の飛行経路の一部として、ノード214とノード215とをつなぐリンク216を示す。リンク216の途中には、ノード214とノード215に向かって進む他の飛行体50を一時停止させるための一時停止位置が設定される。その一時停止位置では、他の飛行体50は一時的にホバリングし、安全が確認された場合にノード215に向かって再び進む。対象飛行体40はリンク213に沿ってノード211からノード212へと進む。この例では、飛行制御システム1はその交差に対応して、一時停止位置の周辺を注意範囲411として決定する。そして、飛行制御システム1はその注意範囲411内に他の飛行体50が存在するか否かに基づいて対象飛行体40を制御する。一例では、飛行制御システム1は、他の飛行体50が注意範囲411内に存在する場合には対象飛行体40の速度を下げさせた上で(図2では速度を40km/hから20km/hに下げさせた上で)対象飛行体40をそのまま飛行させる。他の飛行体50が注意範囲411内に存在しない場合には、飛行制御システム1は対象飛行体40をそのままの速度で飛行させ続ける。
図3は対象飛行体の制御のさらに別の例を示す図である。この例では、対象飛行体40の飛行経路の一部として、ノード221とノード222とをつなぐリンク223を示し、他の飛行体50の飛行経路の一部として、ノード224とノード222とをつなぐリンク225を示す。リンク225はノード222の手前でリンク223と合流する。対象飛行体40はリンク223に沿ってノード221からノード222へと進む。この例では、飛行制御システム1はその合流に対応して、リンク225の合流前の領域を注意範囲421として決定し、その注意範囲421内に他の飛行体50が存在するか否かに基づいて対象飛行体40を制御する。一例では、飛行制御システム1は、他の飛行体50が注意範囲421内に存在する場合には対象飛行体40を合流地点の手前で一時停止させて他の飛行体50を先に進ませる。他の飛行体50が注意範囲421内に存在しない場合には、飛行制御システム1は対象飛行体40をノード222へとそのまま飛行させ続ける。
本開示では、必要に応じて、空ネットワークおよび飛行経路を設定するために用いられるノードおよびリンクをそれぞれ空ノード、空リンクともいう。これに対して、地上に設定されるノードおよびリンク(すなわち、地上ネットワークを構成するノードおよびリンク)をそれぞれ地上ノード、地上リンクともいう。
[システムの構成]
図4は飛行制御システム1の機能構成の一例を示す図である。一例では、飛行制御システム1は、対象飛行体40を制御するためのコンピュータであるサーバ10を少なくとも含む。サーバ10は有線または無線の通信ネットワークを介して地図データベース20、飛行データベース30、対象飛行体40、および他の飛行体50とデータを送受信することができる。サーバ10とのデータ通信が可能なこれらの機器または装置のそれぞれは、飛行制御システム1の構成要素であってもよいし、飛行制御システム1には含まれない構成要素(例えば、他のコンピュータシステムの構成要素)であってもよい。通信ネットワークの具体的な構成は限定されず、例えば、通信ネットワークはインターネットおよびイントラネットの少なくとも一方を含んで構成されてもよい。図4では対象飛行体40および他の飛行体50を一つずつ示すが、飛行制御システム1によって制御される飛行体の個数は何ら限定されない。例えば、一つの対象飛行体40に対して複数の他の飛行体50が存在し得る。飛行制御システム1は複数の対象飛行体40のそれぞれについて飛行を制御してよい。
地図データベース20は、対象飛行体40を制御するために用いられる空地図データ21を記憶する装置である。空地図データ21のデータ構造については後述する。飛行データベース30はそれぞれの飛行体についての飛行情報を記憶する装置である。例えば、或る一つの飛行体についての飛行情報は、該飛行体を一意に特定する識別子である飛行体IDと、該飛行体の性能(飛行性能)と、飛行経路と、飛行スケジュールとを示す。
一例では、サーバ10は空地図データ21に少なくとも基づいて対象飛行体40をどのように制御するかを決定し、決定された制御を示す指示データを出力する。対象飛行体40はその指示データに基づいて飛行することができる。サーバ10は対象飛行体40を制御するために、飛行データベース30内の飛行情報をさらに用いてもよいし、対象飛行体40または他の飛行体50からデータを取得してもよいし、さらに別の装置、機器、またはコンピュータシステムからデータを取得してもよい。
一例では、サーバ10は機能モジュールとして飛行登録部11、位置取得部12、交差特定部13、範囲決定部14、制御決定部15、および通信部16を備える。飛行登録部11はそれぞれの飛行体についての飛行情報を登録する機能モジュールである。位置取得部12は対象飛行体40の位置を示す位置情報を取得する機能モジュールである。交差特定部13は、対象飛行体40に近い交差をその位置情報に基づいて特定する機能モジュールである。範囲決定部14は、その交差に対応する注意範囲を決定する機能モジュールである。制御決定部15はその注意範囲内の状況に基づいて飛行経路上での対象飛行体40の制御を決定し、対象飛行体40を制御するための指示データを必要に応じて用意する機能モジュールである。通信部16は、その指示データを送信する機能モジュールである。
図5は、サーバ10のハードウェア構成の一例を示す。例えば、サーバ10は制御回路100を有する。一例では、制御回路100は、一つまたは複数のプロセッサ101と、メモリ102と、ストレージ103と、通信ポート104と、入出力ポート105とを有する。プロセッサ101はオペレーティングシステムおよびアプリケーションプログラムを実行する。ストレージ103はハードディスク、不揮発性の半導体メモリ、または取り出し可能な媒体(例えば、磁気ディスク、光ディスクなど)の記憶媒体で構成され、オペレーティングシステムおよびアプリケーションプログラムを記憶する。メモリ102は、ストレージ103からロードされたプログラム、またはプロセッサ101による演算結果を一時的に記憶する。一例では、プロセッサ101は、メモリ102と協働してプログラムを実行することで、上記の各機能モジュールとして機能する。通信ポート104は、プロセッサ101からの指令に従って、通信ネットワークNWを介して他の装置(例えば地図データベース20または対象飛行体40)との間でデータ通信を行う。入出力ポート105は、プロセッサ101からの指令に従って、キーボード、マウス、モニタなどの入出力装置(ユーザインタフェース)との間で電気信号の入出力を実行する。
サーバ10は一つまたは複数のコンピュータにより構成され得る。複数のコンピュータが用いられる場合には、通信ネットワークを介してこれらのコンピュータが互いに接続されることで論理的に一つのサーバ10が構成される。
サーバ10として機能するコンピュータは限定されない。例えば、サーバ10は業務用サーバなどの大型のコンピュータで構成されてもよいし、パーソナルコンピュータや携帯端末(例えばスマートフォン、タブレット端末など)などの小型のコンピュータで構成されてもよい。
[データ構造]
飛行制御システム1で用いられる各種のデータおよび情報は、コンピュータが読み取ることが可能な電子データであり、各種の制御のために必要なデジタル情報を含む。
サーバ10により参照される空地図データ21について詳しく説明する。一例では、空地図データ21は、対象飛行体40の飛行経路上に位置する情報点と、該飛行経路および他の経路の交差との対応を示す。或る情報点が或る交差に対応するとは、該情報点を参照することで該交差を識別できることを意味する。情報点と交差との対応を表現する限り、空地図データ21の具体的なデータ構造は限定されず、そのデータ構造は任意の手法で設計されてよい。一部の情報点が交差と対応しなくてもよく、また、どの情報点とも対応しない交差が存在してもよい。
情報点とは、リンク(空リンク)上に設定される仮想点のことをいう。情報点はノード(空ノード)上に設定されてもよい。情報点は対象飛行体40の飛行経路上に位置するということもできる。情報点は対象飛行体を制御するために用いられる。例えば、情報点は対象飛行体40の飛行(例えば、進行、空中での停止、飛行速度など)を制御するために用いられてもよいし、対象飛行体40に搭載された機器を制御するために用いられてもよい。あるいは、情報点は交差および注意範囲の少なくとも一方を定義するために用いられてもよい。隣り合う情報点の間隔は任意に設定されてよく、例えば、一定であってもよいし、場所に応じて異なってもよい。
図6は空地図データ21のデータ構造の一例を示す図である。この例では、空地図データ21は空ネットワーク情報22、情報点詳細23、交差情報24、および地上ネットワーク情報25を含んで構成される。
空ネットワーク情報22は、空ネットワークの構成を示す情報である。一例では、一つの空リンクに関する空ネットワーク情報22は空リンクID、第1空ノードID、第2空ノードID、および1以上の情報点IDを含む。空リンクIDは空リンクを一意に特定するための識別子である。空ノードIDは空ノードを一意に特定するための識別子であり、第1空ノードIDは空リンクの一端に位置する空ノードのIDであり、第2空ノードIDは該空リンクの他端に位置する空ノードのIDである。情報点IDは情報点を一意に特定するための識別子である。
情報点詳細23は個々の情報点に関する情報である。一例では、一つの情報点に関する情報点詳細23は、情報点ID、座標、および関連情報を含む。座標は情報点の地理的位置を示す。関連情報は情報点に関する任意の情報であり、この例では交差IDおよび速度情報を含む。交差IDは交差を一意に特定するための識別子である。速度情報は対象飛行体の制限速度を示す。速度情報は対象飛行体の制御方法を示す情報(制御情報)の一例であるともいえる。制御情報は速度情報に限定されず、例えば、一時停止に関する情報、進行方向に関する情報などの様々な情報を含んでもよい。
交差情報は飛行経路および他の経路の交差に関する情報である。一例では、一つの交差に関する交差情報は交差ID、交差種別、制御情報、交差範囲、および地上リンクIDを含む。交差種別は、飛行経路(より具体的には、空ネットワーク情報22で示される空リンク)と交差する他の経路の種別である。図6に示す「地上」という交差種別は、他の経路が地上に存在することを示す。他の経路が空ネットワーク上に存在する場合には、交差種別は「空中」と設定され得る。交差種別は地物の種類によって示されてもよく、例えば「道路」「橋梁」「線路」「歩道」などの値が交差種別として設定されてもよい。制御情報は対象飛行体40の制御方法に関する情報である。図6では、制御情報は、必要に応じて対象飛行体40を停止させる地理的位置の座標(すなわち、停止位置の座標)を含む。制御情報の内容は任意に設定されてよく、例えば制御情報は必要に応じて対象飛行体を減速させる際の飛行速度を示してもよい。交差範囲は飛行経路が他の経路と交差する部分の地理的範囲を示し、例えば、その部分の外縁を画定させる複数の座標によって表現される。交差範囲の仮想的な形状は限定されず、例えば、2次元形状または3次元形状でもよい。地上リンクIDは地上リンクを一意に特定するための識別子である。
地上ネットワーク情報25は、地上ネットワークの構成を示す情報である。一例では、一つの地上リンクに関する地上ネットワーク情報25は地上リンクID、第1地上ノードID、第2地上ノードID、リンクの種別、リンクの長さ、およびリンクに対応する範囲を含む。地上ノードIDは地上ノードを一意に特定するための識別子であり、第1地上ノードIDは地上リンクの一端に位置する地上ノードのIDであり、第2地上ノードIDは地上リンクの他端に位置する地上ノードのIDである。リンクの種別は、リンクに対応する地物を示す。リンクに対応する範囲は、例えば、その領域の外縁を画定させる複数の座標によって表現される。この範囲は、リンクに対応する地物を覆うように設定されてもよい。この範囲の仮想的な形状は限定されず、例えば、2次元形状または3次元形状でもよい。
図7は空地図データ21のデータ構造の別の例を示す図である。この例では、空地図データ21は空ネットワーク情報22、情報点詳細23、交差情報24、および地上ネットワーク情報25Aを含んで構成される。図6の例と異なる点は地上ネットワーク情報25Aのみなので、その相違点について説明する。
一つの地上リンクに関する地上ネットワーク情報25Aは地上リンクID、第1地上ノードID、第2地上ノードID、および少なくとも一つの接続リンクIDを含む。接続リンクIDは、地上リンクIDで示される地上リンクと接続する別の地上リンクのIDである。図7の例では、地上リンク「rd000」は4個の地上リンクと接続する。
図6または図7のデータ構造が採用される場合には、飛行制御システム1は空ネットワーク情報22および情報点詳細23を参照し、対象飛行体40の現在位置に対応する情報点IDを選択する。続いて、飛行制御システム1はその情報点IDに対応する情報点詳細23を参照することで、該情報点IDに対応する交差IDを特定する。続いて、飛行制御システム1はその交差IDに対応する交差情報24を参照することで、該交差IDに対応する交差範囲および地上リンクIDを特定する。続いて、飛行制御システム1はその地上リンクIDに対応する地上ネットワーク情報25または25Aを参照することで、地上リンクに関する情報を取得する。そして、飛行制御システム1はこれらの特定または取得された情報の少なくとも一部に基づいて注意範囲を決定し、該注意範囲内の状況に基づいて対象飛行体40を制御する。
空地図データ21の具体的なデータ項目およびデータ構造は図6および図7の例に限定されず、任意の形式で定義されてよい。例えば、そのデータ項目およびデータ構造は、他の経路の種類に応じて設計されてもよい。いずれにしても、飛行制御システム1はこの空地図データ21を参照することで、交差付近に位置する対象飛行体40を制御することができる。
空地図データ21を構成する各種の情報は静的に設定されてもよいし、動的に設定されてもよい。「静的に設定される」とは、情報が予め設定され、人手の介入がない限りはその設定が変更されないことをいう。一方、「動的に設定される」とは、情報が任意の事象に応じて人手の介入無しに変更され得ることをいう。動的な設定は、空地図データ21の情報を制御するプログラムが所定のコンピュータ上で実行されることで実現される。動的な設定は飛行制御システム1により実行されてもよいし、別のコンピュータシステムにより実行されてもよい。
[システムでの処理手順]
図8は飛行制御システム1の動作の一例を示すフローチャートである。このフローチャートは、飛行経路上の或る一つの情報点の付近に位置する対象飛行体40を制御するための処理手順を処理フローS1として示す。
ステップS11では、位置取得部12が対象飛行体40の位置(典型的には、現在位置)を取得する。この位置の取得手法は限定されない。例えば、位置取得部12は対象飛行体40から位置情報を受信することでその位置を取得してもよい、対象飛行体40を監視する任意の監視装置から位置情報を受信してもよい。あるいは、位置取得部12はユーザにより入力された位置情報を受け付けてもよい。あるいは、位置取得部12は飛行データベース30にアクセスして対象飛行体40の飛行情報(より具体的には、飛行経路および飛行スケジュール)を読み出して対象飛行体40の位置を推定してもよい。
ステップS12では、交差特定部13が空地図データ21を参照して、取得された対象飛行体40の位置に対応する情報点を選択する。例えば、交差特定部13は対象飛行体40の位置に最も近い情報点を選択する。交差特定部13は、対象飛行体40の位置からリンクに垂線を下ろして双方の線の交点を求める。そして、交差特定部13は、空ネットワーク情報22で示される個々の情報点のうち該交点に最も近い情報点を選択する。このとき、対象飛行体40はその情報点に接近したということができる。「飛行体が或る情報点に接近する」とは、飛行体と特定の情報点との距離が、飛行体と他の情報点との距離よりも短くなることをいい、飛行体が飛行経路において該特定の情報点より前に位置する場合と後ろに位置する場合との双方を含む概念である。典型的には、交差特定部13は、飛行経路上で対象飛行体40がまだ通過していない複数の情報点のうち該対象飛行体40の位置に最も近い情報点(すなわち、対象飛行体40が次に通過しようとする情報点)を選択する。交差特定部13は空ネットワーク情報22を参照して、選択された情報点の情報点IDを取得する。
ステップS13では、交差特定部13が、選択された情報点に対応する交差を特定する。交差特定部13はその情報点の情報点IDを含む情報点詳細23を参照することで、その情報点に対応する交差IDを特定し、その交差IDに対応する交差情報24を参照することで交差を特定する。
ステップS14では、範囲決定部14が、特定された交差に対応する注意範囲を空地図データ21に基づいて決定する。注意範囲の具体的な決定方法は限定されず、様々な手法が用いられてよい。
範囲決定部14は、交差情報24の地上リンクIDを含む地上ネットワーク情報25,25Aを参照することで、その交差に対応する地上リンクに関する情報を取得し、その情報に基づいて注意範囲を決定してもよい。範囲決定部14は地上ネットワーク情報25によって示される範囲を注意範囲として決定してもよいし、地上ネットワーク情報25Aで示される地上リンクおよび1以上の接続リンクに跨がる範囲を注意範囲として決定してもよい。
範囲決定部14は飛行経路と交差する地上リンクの種別に応じて注意範囲を決定してもよい。例えば、範囲決定部14は地上リンクが移動体の通行可能な道路である場合には該地上リンクに沿った注意範囲の長さをXaメートルに設定し、種別が歩行者専用道路である場合にはその長さをXbメートル(ただし、Xb<Xa)に設定してもよい。車両などの移動体の移動速度は歩行者の移動速度よりも大きいので、現時点では遠くに位置する移動体も把握する必要がある。そのため、範囲決定部14は、移動体が通行する可能性がある場合には注意範囲をより広く設定してもよい。
図9は地上リンクの種別に応じた注意範囲の例を示す図である。この例では、対象飛行体40の飛行経路231が河川311の上空に設定され、その河川311上に橋梁が架けられている。したがって、飛行経路231と交差する地上リンクは橋梁である。図9の例(a)では、地上リンク(橋梁312)の種別が車両通行可能な道路であることを受けて、範囲決定部14は橋梁312の全体を覆うような広い注意範囲402を決定する。一方、図9の例(b)では、地上リンク(橋梁313)の種別が歩行者専用道路であることを受けて、範囲決定部14は、橋梁313のうち飛行経路231に近い部分のみを注意範囲403として決定する。
地上リンクの種別が様々であり得ることに応じて、注意範囲の決定方法も様々であり得る。例えば、範囲決定部14は地上リンクが在来線である場合の注意範囲よりも、地上リンクが新幹線などの高速鉄道である場合の注意範囲をより広く設定してもよい。別の例では、範囲決定部14は地上リンクが一般道路である場合の注意範囲よりも、地上リンクが高速道路である場合の注意範囲をより広く設定してもよい。
範囲決定部14は、予め定められた一時停止位置から交差範囲までの対象飛行体40の移動時間にさらに基づいて注意範囲を決定してもよい。範囲決定部14はその一時停止位置から交差範囲までの距離を求め、この距離を対象飛行体40の移動速度で割ることでその移動時間を算出する。そして、範囲決定部14はこの移動時間に基づいて注意範囲を決定する。例えば、範囲決定部14はその移動時間が長いほど注意範囲を広く設定してもよい。対象飛行体40が交差に到達するまでに多くの時間を要するほど、その時間内に他の物体がその交差に到達する蓋然性が高くなるので、現時点では遠くに位置する物体も把握する必要がある。そのため、範囲決定部14は、対象飛行体40が交差範囲に到達するまでの所要時間が長いほど注意範囲をより広く設定してもよい。
範囲決定部14は、対象飛行体40の影響範囲にさらに基づいて注意範囲を決定してもよい。飛行体の影響範囲とは、飛行体が不測の事態によって現在位置から進入する可能性がある地理的範囲のことをいう。影響範囲の計算方法は限定されない。例えば、範囲決定部14は対象飛行体40の現在位置、風向、風速、対象飛行体40の飛行速度、および対象飛行体40の重量のうちの少なくとも一つを所定のアルゴリズムに適用することで対象飛行体40の影響範囲を算出してもよい。算出される影響範囲は2次元形状で表されてもよいし3次元形状で表されてもよい。
図10は対象飛行体40の影響範囲の一例を示す図である。この例では、対象飛行体40の飛行経路232が河川321の上空に設定され、その河川321上に橋梁322が架けられている。したがって、飛行経路232と交差する地上リンクは橋梁322である。図10に示すように、対象飛行体40が橋梁322を通過した後も、対象飛行体40の影響範囲501が橋梁322と重複する時間幅が存在する。範囲決定部14は、影響範囲が他の経路と重複する時間幅も考慮して注意範囲をより広く決定してもよい。
飛行経路と交差する他の経路が他の飛行経路である場合に、範囲決定部14はその交差の付近での気象状況にさらに基づいて注意範囲を決定してもよい。このために、範囲決定部14は交差付近の気象を示す気象情報を任意の手法により取得する。例えば、範囲決定部14は交差付近を監視する気象システムまたは気象センサから気象情報を取得してもよい。あるいは、範囲決定部14は対象飛行体40または他の飛行体50に搭載された任意のセンサによって取得された気象情報を該飛行体から受信してもよい。注意範囲を決定するために考慮される気象情報の例として風向および風速のうちの少なくとも一つが挙げられるが、考慮される気象情報はこれに限定されない。
飛行経路と交差する他の経路が他の飛行経路である場合に、範囲決定部14は対象飛行体40および他の飛行体50の少なくとも一方の性能にさらに基づいて注意範囲を決定してもよい。このために、範囲決定部14は飛行体の性能に関する情報を任意の手法により取得する。例えば、範囲決定部14は飛行データベース30内の飛行情報を参照することで飛行体の性能を認識してもよいし、飛行体から性能情報を受信してもよい。注意範囲を決定するために考慮される飛行体の性能の例としてGPS(全地球測位システム)の性能が挙げられるが、考慮される性能はこれに限定されない。GPS性能は、例えば、測位精度とGPS衛星の捕捉数とのうちの少なくとも一つによって規定されてもよい。
飛行経路と交差する他の経路が他の飛行経路である場合に、範囲決定部14は、その交差の付近での気象状況と、対象飛行体40の性能と、他の飛行体50の性能とから選択される任意の2以上の要素に基づいて注意範囲を決定してもよい。
気象状況および飛行体の性能はいずれも、飛行経路(空リンク)からの飛行体の位置のずれの原因になり得る。例えば、一時停止位置でホバリングする飛行体は、風が弱い場合には、望ましい位置もしくはその近くで静止するが、風が強い場合には、その望ましい位置から離れてしまう可能性がある。したがって、範囲決定部14は、強風の場合には注意範囲を広く設定してもよい。別の例で、GPS性能が高い飛行体(GPS精度が高い飛行体、またはGPS衛星の捕捉数が多い飛行体)は自機の位置を正確に算出して、指定された飛行経路からさほど外れることなく飛行することができる。しかし、GPS性能が低い飛行体(GPS精度が低い飛行体、またはGPS衛星の捕捉数が少ない飛行体)の場合にはその位置計算の精度が下がるので、指定された飛行経路からのずれ量が多くなり得る。したがって、範囲決定部14は、飛行体のGPS性能が低い場合には注意範囲を広く設定してもよい。このように注意範囲を動的に決定することで、他の飛行体50を確実に捕捉するために必要な大きさの注意範囲を効率的に決定することができる。
図11は対象飛行体40の飛行経路が他の飛行体50の飛行経路と交差する区域において注意範囲を決定する一例を示す図である。この例では、対象飛行体40の飛行経路の一部として、ノード241とノード242とをつなぐリンク243を示す。また、他の飛行体50の飛行経路の一部として、ノード244とノード245とをつなぐリンク246を示す。リンク246の途中には、ノード244からノード245に向かって進む他の飛行体50を静止させるための一時停止位置が設定される。この例では、範囲決定部14は、リンク243に沿ってノード241からノード242へと進む対象飛行体40を制御するために、一時停止位置の周辺を注意範囲として決定する。
例えば、範囲決定部14は、風速が所与の閾値未満である場合には注意範囲431を設定し、風速がその閾値以上であれば、注意範囲431よりも広い注意範囲432を設定してもよい。すなわち、範囲決定部14は風速が大きいほど注意範囲をより広く設定してもよい。
あるいは、範囲決定部14は、他の飛行体50のGPS性能が所与の閾値以上である場合には注意範囲431を設定し、GPS性能がその閾値未満であれば注意範囲432を設定してもよい。すなわち、範囲決定部14は他の飛行体50のGPS性能が低いほど注意範囲をより広く設定してもよい。より具体的には、範囲決定部14は、他の飛行体50のGPS精度が所与の閾値以上である場合には注意範囲431を設定し、GPS精度がその閾値未満であれば注意範囲432を設定してもよい。あるいは、範囲決定部14は、他の飛行体50によるGPS衛星の捕捉数が所与の閾値以上である場合には注意範囲431を設定し、その個数がその閾値未満であれば注意範囲432を設定してもよい。
あるいは、範囲決定部14は、対象飛行体40のGPS性能が所与の閾値以上である場合には注意範囲431を設定し、GPS性能がその閾値未満であれば注意範囲432を設定してもよい。すなわち、範囲決定部14は対象飛行体40のGPS性能が低いほど注意範囲をより広く設定してもよい。より具体的には、範囲決定部14は、対象飛行体40のGPS精度が所与の閾値以上である場合には注意範囲431を設定し、GPS精度がその閾値未満であれば注意範囲432を設定してもよい。あるいは、範囲決定部14は、対象飛行体40によるGPS衛星の捕捉数が所与の閾値以上である場合には注意範囲431を設定し、その個数がその閾値未満であれば注意範囲432を設定してもよい。
図8に戻って、ステップS15では、制御決定部15が、決定された注意範囲内の状況を特定する。その状況の特定方法は限定されない。例えば、制御決定部15は注意範囲に対応する位置に設けられた装置、機器、またはコンピュータシステムから提供されるデータを用いて状況を特定してもよい。より具体的には、制御決定部15は注意範囲を撮影するカメラから提供される映像データを解析することで交通量、または他の飛行体の有無を特定してもよい。あるいは、制御決定部15は対象飛行体40または他の飛行体50に搭載された任意のセンサから提供されるデータを用いて状況を特定してもよい。
ステップS16では、制御決定部15が、特定された状況に基づいて対象飛行体40の制御を決定する。この決定方法も限定されず、制御決定部15は任意の方針で対象飛行体40を制御してよい。一例では、制御決定部15は注意範囲内の交通量が所与の閾値未満である場合には対象飛行体40に交差をそのまま通過させると決定し、その交通量が該閾値以上であれば対象飛行体40を交差の手前で一時停止させると決定してもよい。別の例では、制御決定部15は他の飛行体50が注意範囲内に存在しない場合には対象飛行体40の飛行速度をVa(km/h)にすると決定し、他の飛行体50が注意範囲内に存在する場合には対象飛行体40の飛行速度をVb(km/h)にすると決定してもよい(ただし、Vb<Va)。さらに別の例では、制御決定部15は他の飛行体50が注意範囲内に存在しない場合には対象飛行体40に交差をそのまま通過させると決定し、他の飛行体50が注意範囲内に存在する場合には対象飛行体40を交差の手前で一時停止させると決定してもよい。制御決定部15は、対象飛行体40を一時停止させると却って不測の事態を招くと判断した場合には、交通量にかかわらず、または他の飛行体50が存在しても、対象飛行体40を一時停止させることなく飛行させ続けてもよい。
制御決定部15は、決定された制御を示す指示データを用意する。制御決定部15は、メモリに予め記憶されている指示データを読み出すことで指示データを用意してもよいし、指示データを動的に生成してもよい。指示データの具体的な内容およびデータ構造は何ら限定されないが、指示データは決定された制御を少なくとも示す。
ステップS17では、通信部16が、決定された制御を示す指示データを送信する。指示データの宛先は限定されない。例えば、通信部16は指示データを、対象飛行体40に直接に送信してもよいし、対象飛行体40以外の任意のコンピュータを経由して対象飛行体40に送信してもよい。対象飛行体40の制御回路は、指示データを受信および処理することで対象飛行体40の動力、舵、または搭載機器を制御してもよい。あるいは、対象飛行体40以外のコンピュータ(例えばリモートコントローラ)が指示データに基づく信号を対象飛行体40に送信し、対象飛行体40の制御回路がその信号に基づいて対象飛行体40の動力、舵、または搭載機器を制御してもよい。いずれにしても、対象飛行体40は、サーバ10から提供される指示データに基づいて飛行することができる。
ステップS16,S17の処理は必須ではなく、必要な場合に限って実行されてもよい。例えば、制御決定部15が、対象飛行体40が今後の一定時間または一定距離内においてもそのまま飛行し続けることが好ましいと判定した場合には、指示データの用意および送信が省略されてもよい。
図12および図13を参照しながら、飛行制御システム1の動作に関する、より具体的な例を説明する。図12はその例で説明する交差を示す図である。図13は飛行制御システム1の動作の一例を処理フローS2として示すシーケンス図である。処理フローS2は上述した処理フローS1の具体例であるといえるので、図13では処理フローS1のステップとの対応も示す。
図12も、図11に示すリンク243とリンク246との交差を示す。図12は、交差付近の気象を示す気象情報をサーバ10に提供する気象システム60をさらに示す。この例では、飛行制御システム1はその気象に基づいて注意範囲を決定し、その注意範囲内の状況に基づいて対象飛行体40の制御を決定する。
ステップS21では、対象飛行体40および他の飛行体50のそれぞれが飛行情報をサーバ10に送信する。一例では、それぞれの飛行情報は飛行体ID、飛行性能、飛行経路、および飛行スケジュールを示す。サーバ10では飛行登録部11がそれぞれの飛行情報を受信する。ステップS22では、飛行登録部11がそれぞれの飛行体の飛行情報を飛行データベース30に登録する。この登録によって、サーバ10はそれぞれの飛行体に関する飛行性能、飛行経路、および飛行スケジュールを参照することができる。ステップS23では、それぞれの飛行体が離陸し、目的地へと向かって飛行し始める。図13では便宜的に、対象飛行体40および他の飛行体50についてステップS21~S23が同じタイミングで実行されるかのように各ステップを表現している。しかし当然ながら、典型的には対象飛行体40と他の飛行体50との間でそれらのステップの実行タイミングが異なることに留意されたい。
対象飛行体40および他の飛行体50のそれぞれは離陸後に定期的に自機の位置情報を提供する。それぞれの位置情報は任意の通信経路を経由してサーバ10に届く。図13ではこのような位置情報の伝達をステップS24として示す。サーバ10では位置取得部12がそれぞれの位置情報を取得する。対象飛行体40の位置情報を受信する処理は上記のステップS11に対応する。
ステップS25では交差特定部13が空地図データ21を参照して、対象飛行体40の位置に対応する情報点を選択する。ステップS26では交差特定部13がその情報点に対応する交差を特定する。これらの一連の処理は上記のステップS12,S13に対応する。
ステップS27では、気象システム60が気象情報をサーバ10に提供する。ステップS28では、範囲決定部14がその交差に対応する注意範囲を空地図データ21および気象情報に基づいて決定する。この決定は上記のステップS14に対応する。図12では気象情報の伝送(ステップS27)をステップS26の後に示しているが、サーバ10が気象情報を取得するタイミングは、ステップS28より前であればいつでもよい。
ステップS29では制御決定部15が注意範囲内の状況を特定する。ステップS30では制御決定部15がその状況に基づいて対象飛行体40の制御を決定する。ステップS31では通信部16がその制御を示す指示データを対象飛行体40に送信する。これらの一連の処理は上記のステップS15~S17に対応し、したがって、ステップS30,S31の処理は必須ではない。
処理フローS1,S2はいずれも、飛行制御システム1が、対象飛行体40の飛行経路上に位置する情報点と、該飛行経路および他の経路の交差との対応を示す空地図データ21に基づいて、該交差に対応する注意範囲内の状況に基づいて飛行経路上での対象飛行体40を制御する例を示す。このような一連の処理はプロセッサ101が空地図データ21を参照することで実現される。処理フローS1(および処理フローS2におけるステップS24~S31)は対象飛行体40が目的地に到着するまで繰り返し実行され得る。
[プログラム]
コンピュータをサーバ10として機能させるためのプログラムは、該コンピュータを飛行登録部11、位置取得部12、交差特定部13、範囲決定部14、制御決定部15、および通信部16として機能させるためのプログラムコードを含む。このプログラムは、CD-ROM、DVD-ROM、半導体メモリなどの有形の記録媒体に固定的に記録された上で提供されてもよい。あるいは、プログラムは、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。提供されたプログラムはストレージ103に記憶され、プロセッサ101がメモリ102と協働してそのプログラムを実行することで上記の各機能モジュールが実現する。
[効果]
以上説明したように、本開示の一側面に係るコンピュータシステムは少なくとも一つのプロセッサを備える。少なくとも一つのプロセッサは、対象飛行体の飛行経路と他の経路との交差を示す空地図データと、該交差に対応する範囲内の状況とに基づいて、飛行経路上での対象飛行体を制御する。
本開示の一側面に係るプログラムは、対象飛行体の飛行経路と他の経路との交差を示す空地図データと、該交差に対応する範囲内の状況とに基づいて、前記飛行経路上での前記対象飛行体を制御するステップをコンピュータに実行させる。
このような側面においては、経路の交差に対応する箇所での状況に基づいて対象飛行体が制御されるので、その交差において対象飛行体を適切に制御することができる。
他の側面に係るコンピュータシステムでは、空地図データが、飛行経路上に位置する情報点と交差との対応を示してもよい。少なくとも一つのプロセッサは、対象飛行体の現在位置に対応する情報点を選択し、選択された情報点に対応する交差を空地図データに基づいて特定し、特定された交差に対応する範囲を決定してもよい。情報点と交差との対応を示す空地図データを参照することで、より適切に交差を認識することができる。
他の側面に係るコンピュータシステムでは、他の経路が地物により構成されてもよい。少なくとも一つのプロセッサは、地物の種類に基づいて範囲を決定してもよい。地物の種類に基づいて範囲を決定することで、範囲を不必要に拡げることなく交差付近の状況を効率的に取得することができる。
他の側面に係るコンピュータシステムでは、他の経路が地物により構成され、範囲内の状況が、時間の経過に伴って変化する要素を含んでもよい。この場合には、動的に変化する要素を考慮して対象飛行体を安全に飛行させることができる。
他の側面に係るコンピュータシステムでは、飛行経路が線状の地物の上空に位置し、他の経路が橋梁であってもよい。この場合には、河川、線路、道路などのような線状の地物の上にある飛行経路と橋梁との交差において対象飛行体を適切に制御することができる。
他の側面に係るコンピュータシステムでは、他の経路が他の飛行体の飛行経路であってもよい。少なくとも一つのプロセッサは、交差の付近での気象状況と、対象飛行体の性能と、他の飛行体の性能とのうちの少なくとも一つに基づいて範囲を決定してもよい。これらの要因はいずれも飛行位置のずれの原因になるので、飛行体の飛行位置の精度に影響を及ぼし得る。したがって、それらの要因のうちの少なくとも一つに基づいて範囲を決定することで、範囲を不必要に拡げることなく交差付近の状況を効率的に取得することができる。
他の側面に係るコンピュータシステムでは、他の経路が他の飛行体の飛行経路であってもよい。少なくとも一つのプロセッサは、範囲内での他の飛行体の有無を範囲内の状況の少なくとも一部として取得し、範囲内での他の飛行体の有無に少なくとも基づいて飛行経路上での対象飛行体を制御してもよい。この場合には、他の飛行体が存在するか否かを考慮して対象飛行体を安全に飛行させることができる。
[変形例]
以上、本開示をその実施形態に基づいて詳細に説明した。しかし、本開示は上記実施形態に限定されるものではない。本開示は、その要旨を逸脱しない範囲で様々な変形が可能である。
上記実施形態では、範囲決定部14が空地図データに基づいて、交差に対応する注意範囲を決定し、制御決定部15がその注意範囲内の状況を特定するが、空地図データを用いて注意範囲を決定することは必須ではない。例えば、制御決定部15は、交差に対応する範囲の情報として、飛行体に搭載された機器(例えばカメラ)から取得するデータに基づいて、その範囲内の状況を特定してもよい。
対象飛行体を制御するためのシステム構成は限定されない。例えば、サーバ10が地図データベース20および飛行データベース30の少なくとも一方を備えてもよい。対象飛行体がサーバ10の機能を備えてもよく、この場合には、対象飛行体は通信ネットワークを介してそれぞれのデータベースにアクセスし、例えば地図データベース20にアクセスすることで空地図データを読み出す。あるいは、対象飛行体がサーバ10および地図データベース20の双方の機能を備えてもよく、この場合には、対象飛行体はあたかもスタンドアロンマシンのように、他の情報処理装置に頼ることなく所与の飛行経路を飛行することができる。
本開示において、「少なくとも一つのプロセッサが、第1の処理を実行し、第2の処理を実行し、…第nの処理を実行する。」との表現、またはこれに対応する表現は、第1の処理から第nの処理までのn個の処理の実行主体(すなわちプロセッサ)が途中で変わる場合を含む概念を示す。すなわち、この表現は、n個の処理のすべてが同じプロセッサで実行される場合と、n個の処理においてプロセッサが任意の方針で変わる場合との双方を含む概念を示す。
少なくとも一つのプロセッサにより実行される方法の処理手順は上記実施形態での例に限定されない。例えば、上述したステップ(処理)の一部が省略されてもよいし、別の順序で各ステップが実行されてもよい。また、上述したステップのうちの任意の2以上のステップが組み合わされてもよいし、ステップの一部が修正又は削除されてもよい。あるいは、上記の各ステップに加えて他のステップが実行されてもよい。
コンピュータシステムまたはコンピュータ内で二つの数値の大小関係を比較する際には、「以上」および「よりも大きい」という二つの基準のどちらを用いてもよく、「以下」および「未満」という二つの基準のうちのどちらを用いてもよい。このような基準の選択は、二つの数値の大小関係を比較する処理についての技術的意義を変更するものではない。
以上の実施形態の全部または一部に記載された態様は、飛行の適切な管理または制御、処理速度の向上、処理精度の向上、使い勝手の向上、データを利用した機能の向上または適切な機能の提供その他の機能向上または適切な機能の提供、データおよび/またはプログラムの容量の削減、装置および/またはシステムの小型化等の適切なデータ、プログラム、記録媒体、装置および/またはシステムの提供、並びにデータ、プログラム、装置またはシステムの制作・製造コストの削減、制作・製造の容易化、制作・製造時間の短縮等のデータ、プログラム、記録媒体、装置および/またはシステムの制作・製造の適切化のいずれか一つの課題を解決する。