(57)【要約】【課題】飛行体を適切に制御すること。【解決手段】本開示の一側面に係るコンピュータシステムは、少なくとも一つのプロセッサを備え、少なくとも一つのプロセッサが、空ネットワークと、高度に対応して設定されるパラメータ値とが関連付けられた空ネットワークデータに基づいて、飛行体を制御するための制御データを生成し、制御データを出力する。【選択図】図３
2020154484.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つのプロセッサを備え、
前記少なくとも一つのプロセッサが、
空ネットワークと、高度に対応して設定されるパラメータ値とが関連付けられた空ネットワークデータに基づいて、飛行体を制御するための制御データを生成し、
前記制御データを出力する、
コンピュータシステム。
【請求項２】
前記空ネットワークデータが、前記空ネットワークを構成する地図要素と前記パラメータ値との関連付けを含む、
請求項１に記載のコンピュータシステム。
【請求項３】
前記空ネットワークデータが、前記地図要素と、複数の前記高度に対応する複数の前記パラメータ値との関連付けを含む、
請求項２に記載のコンピュータシステム。
【請求項４】
前記少なくとも一つのプロセッサが、
前記飛行体を飛行させるための飛行経路を構成する少なくとも一つの前記地図要素を特定し、
前記空ネットワークデータを参照することで、特定された前記少なくとも一つの地図要素に対応する少なくとも一つの前記パラメータ値を特定し、
特定された前記少なくとも一つのパラメータ値に基づいて、前記飛行経路における前記飛行体の高度を設定し、
前記飛行経路と、該飛行経路における前記飛行体の高度とを示す前記制御データを生成する、
請求項２または３に記載のコンピュータシステム。
【請求項５】
前記少なくとも一つのプロセッサが、
前記飛行経路の候補である複数の候補経路を取得し、
前記複数の候補経路のそれぞれについて、
前記候補経路を構成する少なくとも一つの前記地図要素を特定するステップと、
前記空ネットワークデータを参照することで、特定された前記少なくとも一つの地図要素に対応する少なくとも一つの前記パラメータ値を特定するステップと、
特定された前記少なくとも一つのパラメータ値に基づいて前記候補経路のコストを計算するステップとを含む処理を実行し、
前記複数の候補経路のそれぞれの前記コストに基づいて、前記複数の候補経路から前記飛行経路を決定し、
前記飛行経路と、該飛行経路における前記飛行体の高度とを示す前記制御データを生成する、
請求項４に記載のコンピュータシステム。
【請求項６】
空ネットワークと、高度に対応して設定されるパラメータ値とが関連付けられた空ネットワークデータに基づいて、飛行体を制御するための制御データを生成するステップと、
前記制御データを出力するステップと
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示の一側面はコンピュータシステムおよびプログラムに関する。
【背景技術】
【０００２】
従来から、飛行体を制御するための技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−１０９６２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本開示の一側面は、飛行体を適切に制御することを目的とする。
【課題を解決するための手段】
【０００５】
本開示の一側面に係るコンピュータシステムは、少なくとも一つのプロセッサを備え、少なくとも一つのプロセッサが、空ネットワークと、高度に対応して設定されるパラメータ値とが関連付けられた空ネットワークデータに基づいて、飛行体を制御するための制御データを生成し、制御データを出力する。
【図面の簡単な説明】
【０００６】
【図１】飛行経路の候補の例を示す図である。
【図２】飛行経路の候補の別の例を示す図である。
【図３】実施形態に係る飛行制御システムの機能構成の一例を示す図である。
【図４】実施形態に係るサーバのハードウェア構成の一例を示す図である。
【図５】空ネットワークデータの一例を示す図である。
【図６】空ネットワークデータの別の例を示す図である。
【図７】飛行制御システムの動作の一例を示すフローチャートである。
【発明を実施するための形態】
【０００７】
以下、添付図面を参照しながら本開示での実施形態を詳細に説明する。なお、図面の説明において同一または同等の要素には同一の符号を付し、重複する説明を省略する。
【０００８】
［システムの概要］
実施形態に係る飛行制御システム１は、飛行体を制御するための制御データを生成および出力するコンピュータシステムである。飛行体とは、空中を移動することが可能な人工物のことをいう。飛行体の種類は限定されず、例えば有人航空機でもよいし無人航空機（ドローン）でもよい。
【０００９】
「飛行体の制御」とは、飛行体を直接に制御することと、他の装置またはコンピュータを介して飛行体を間接的に制御することとの双方を含み得る概念である。飛行体の間接的な制御の一例として、飛行体の制御の支援が挙げられる。飛行体の制御の具体的な手法は限定されない。例えば、飛行制御システム１は飛行体の進行方向または速度を変更してもよいし、飛行体を離着陸させてもよいし、飛行体を空中で停止させてもよいし、飛行体の飛行経路を決定してもよいし、決定された飛行経路を飛行体の移動中に変更してもよい。「飛行体の制御」は、飛行体の移動の制御と、飛行体に搭載された機器（例えばカメラ）の制御との少なくとも一方を含んでもよい。飛行体の制御の目的も何ら限定されず、飛行制御システム１は輸送、調査、監視、誘導に関する案内、規制に関する案内などの任意の目的で利用され得る。
【００１０】
制御データとは、コンピュータが読み取ることが可能な電子データのことをいい、飛行体を制御するために用いられるデジタル情報を含む。制御データの内容およびデータ構造は何ら限定されず、飛行体の具体的な制御方法に基づいて任意の方針で設計されてよい。
【００１１】
飛行制御システム１は空ネットワークデータに基づいて制御データを生成する。空ネットワークデータは、コンピュータが読み取ることが可能な電子データであり、飛行体の制御に必要なデジタル情報を含む。具体的には、空ネットワークデータは、飛行体が通行し得る経路を示す空ネットワークと、高度に対応して設定されるパラメータ値とが関連付けられたデータである。空ネットワークデータは任意の手法で用意されてよい。例えば、空ネットワークデータは地図データの一部であってもよく、言い換えると、地図データが空ネットワークデータの少なくとも一方として機能してもよい。あるいは、空ネットワークデータは地図データと独立して用意されてもよい。
【００１２】
高度とは、基準面から対象までの鉛直方向に沿った距離のことをいう。基準面は高度を設定するために設けられる、高さがゼロの面である。何を基準面として採用するかは任意に設定されてよい。例えば、地球上の位置を表す測地系で採用される、高さゼロの面（例えば海面）が基準面として採用されてもよい。あるいは、地面が基準面として採用されてもよい。
【００１３】
「高度に対応して設定されるパラメータ値」（以下では単に「パラメータ値」ともいう）とは、高度の変化に応じて変わり得る要素の値である。パラメータ値で示される要素は何ら限定されず、任意に定義されてよい。
【００１４】
例えば、パラメータ値は高度に応じた環境に基づいて設定されてもよい。このような環境の例として、風の強さ（一般に、高度が高いほど風が強い）、他の飛行体の飛行状況（一般に、高度が高いほど有人飛行体が通過する確率が高い）、鳥類との接触の可能性が挙げられるが、これらに限定されない。
【００１５】
あるいは、パラメータ値は、制御しようとする飛行体の影響が及ぶ範囲（これを「作用範囲」ともいう）に基づいて設定されてもよい。飛行体の作用範囲は飛行体の特性または機能の種類に応じて設定されてもよいし、他の要因も考慮して特定されてもよい。例えば、作用範囲は、飛行体に取り付けられた装置（例えば、センサ、散布装置、ＧＰＳなど）の機能に応じて設定されてもよいし、飛行体が緊急着陸（不時着）する可能性がある範囲であってもよい。
【００１６】
あるいは、パラメータ値はその作用範囲と或る地物の位置または範囲とに基づいて設定されてもよい。地物とは、地上に存在する任意の有体物または無体物である。地物は自然物でも人工物でもよい。例えば、地物は、山地、農地、住宅地、更地、河川、湖、海、観光地、道路、鉄道、建物、公園、塔、信号機、踏切、横断歩道、歩道橋、浮標などを含み得る。無体物である地物の例として、任意の目的で設定された区域（例えば、撮影禁止区域、一時的な進入禁止区域など）、イベントが開催される区域、集合場所、撮影スポットなどが挙げられる。当然ながら、地物の種類はこれらに限定されない。
【００１７】
高度Ｈの具体的な値をＨａ，Ｈｂとし（ただし、Ｈａ≠Ｈｂ）、或るパラメータＰの具体的な値が、高度ＨａではＰａであり、高度ＨｂではＰｂであれば（ただし、Ｐａ≠Ｐｂ）、このパラメータＰは高度に対応して設定されたものである。高度の変化に伴うパラメータ値の変化の態様は限定されない。例えば、パラメータ値は高度に応じて連続的に変化してもよいし、不連続に変化してもよい。或る高度の範囲において一定であり、他の高度の範囲において別の値を取るパラメータ値も、「高度に対応して設定されるパラメータ値」の一例である。例えば、高度が０ｍ〜１００ｍではＰａであり、高度が１００ｍ〜２００ｍではＰｂであり（ただし、Ｐｂ≠Ｐａ）、高度が２００ｍ〜３００ｍではＰｃ（ただし、Ｐｃ≠Ｐｂ）であるパラメータ値も「高度に対応して設定されるパラメータ値」である。パラメータ値は線形に、非線形に、段状に、または不規則に変化してもよいし、これらの組合せによって変化してもよい。パラメータ値は、高度の変化に応じて逓増しても逓減してもよい。あるいは、パラメータ値は或る１以上の区間では増加し、別の１以上の区間では減少してもよい。
【００１８】
飛行制御システム１は、空ネットワークと、高度に対応して設定されるパラメータ値とが関連付けられたネットワークデータに基づいて制御データを生成および出力することで、高度に応じて変化し得る要素を考慮しながら飛行体を動作させることができる。本実施形態では、飛行体の制御の一例として、飛行体の飛行経路を決定する処理（いわゆる経路探索）を説明する。
【００１９】
図１は飛行経路の候補の例を示す図である。図１は、地上３００の始点３０１から終点３０２に飛行体を飛行させるための複数の候補経路を示す。地上３００には河川３０３、山間部３０４、および市街地３０５が存在するものとする。河川３０３、山間部３０４、および市街地３０５はいずれも地物の例である。２次元の地図上における候補経路として真っ直ぐ延びる候補経路４０１と、一部が河川３０３の近くを通るように弧状に設定された候補経路４０２と、一部が市街地３０５の上空を通るように弧状に設定された候補経路４０３とが用意されているものとする。
【００２０】
飛行制御システム１は、高度に対応して設定されるパラメータ値に基づいて、高度も考慮した上で飛行経路を設定する。図１は、高度１００ｍ、２００ｍ、および３００ｍのそれぞれにおける、候補経路４０１，４０２，４０３に対応する三つの候補経路を示す。図１では、高度１００ｍである候補経路４０１を候補経路４０１ａとし、高度２００ｍである候補経路４０１を候補経路４０１ｂとし、高度３００ｍである候補経路４０１を候補経路４０１ｃとして表す。候補経路４０１ａ，４０１ｂ，４０１ｃはいずれも、高度が考慮された候補経路４０１の一例である。候補経路４０２，４０３のそれぞれについても同様に三つの高度のそれぞれで経路が設定されている。このような図１の例では、飛行制御システム１は高度も考慮して、候補経路４０１ａ，４０１ｂ，４０１ｃ，４０２ａ，４０２ｂ，４０２ｃ，４０３ａ，４０３ｂ，４０３ｃの中から飛行経路を決定することができる。
【００２１】
図１の例では個々の候補経路において高度が一定であるが、飛行制御システム１は途中で高度が変わる飛行経路を設定または選択してもよい。図２は、途中で高度が変わる飛行経路の候補の例を示す図である。図２における地上３００の構成と高度とについては図１と同じである。高度が考慮された候補経路４０１の一例である候補経路４０１ｄは、なるべく低空を飛行することを原則としつつも山間部３０４では樹木に近すぎて接触する可能性があるため、飛行高度を上げる必要があることを意図する。高度が考慮された候補経路４０２の一例である候補経路４０２ｄは、なるべく高い位置を飛行することを原則としつつも河川３０３の付近では飛行高度を下げることを意図する。
【００２２】
飛行制御システム１が図１および図２に示す候補経路のうちどの経路を選択するかは、飛行の目的、飛行体の性能、他の飛行体の飛行状況などの様々な要因によって変わり得る。例えば、飛行の目的が、始点３０１から終点３０２に薬品を届けることであるとする。候補経路４０１（具体的には候補経路４０１ａ，４０１ｂ，４０１ｃ，４０１ｄなど）は最短距離なので薬品を緊急に届ける場合に有利であるが、山間部３０４を通るので、飛行体が緊急着陸した場合にその回収が難しい。候補経路４０２（具体的には候補経路４０２ａ，４０２ｂ，４０２ｃ，４０２ｄなど）は、その回収が容易であり且つ経路下に特定の地物が存在しないので薬品を安全に届けることができるが、高度が高くなると、不測の際に飛行体が河川３０３に落下して薬品が水質汚染の原因になる可能性がある。候補経路４０３（具体的には候補経路４０３ａ，４０３ｂ，４０３ｃなど）は、市街地３０５を通るので、緊急着陸した飛行体を容易に回収することができるが、その飛行体が人や建物などに影響を及ぼす可能性がある。あるいは、飛行制御システム１は他の飛行体の飛行状況や鳥との接触との可能性を考慮して飛行経路を選択するかもしれない。いずれにしても、飛行制御システム１は、高度に応じて変化し得る要素を考慮する。したがって、所与の条件下で飛行体を適切に制御することが可能になる。
【００２３】
［システムの構成］
図３は、飛行制御システム１の機能構成の一例を示す図である。図３に示すように、本実施形態では、飛行制御システム１はサーバ１０およびデータベース２０を備える。サーバ１０はユーザ端末３０と通信接続することができ、ユーザ端末３０は飛行体４０と通信接続することができる。図３に示す各装置は有線または無線の通信ネットワークを介してデータを送受信することができる。例えば、サーバ１０は通信ネットワークを介して、データベース２０からデータを読み出したり、ユーザ端末３０とデータを送受信したりすることができる。通信ネットワークの具体的な構成は限定されず、例えば、通信ネットワークはインターネットおよびイントラネットの少なくとも一方を含んで構成されてもよい。
【００２４】
サーバ１０は飛行体４０を制御するための制御データを生成および出力するコンピュータである。その処理の一例として、本実施形態では、サーバ１０はユーザ端末３０からの要求に応じて飛行体４０の飛行経路を決定し、その飛行経路を示す経路データを制御データとして生成し、その経路データ（制御データ）をユーザ端末３０に送信する。データベース２０は空ネットワークデータ２１を記憶する装置である。ユーザ端末３０は、飛行制御システム１のユーザにより所持または利用されるコンピュータである。サーバ１０から受信した経路データをユーザ端末３０が表示することで、ユーザはサーバ１０により決定された飛行経路を確認することができる。ユーザはユーザ端末３０を操作して飛行体４０に指示データを送信することで飛行体４０を制御することができる。指示データは、飛行体４０を制御するために必要なデジタル情報を含む電子データである。飛行体４０は指示データに基づいて飛行することができる。
【００２５】
飛行制御システム１の構成は図３の例に限定されない。例えば、データベース２０は飛行制御システム１とは別のコンピュータシステムにより管理されてもよいし、サーバ１０に備えられてもよい。飛行体４０に指示データを送信するコンピュータは限定されず、例えば、ユーザ端末３０からの指示に応答してサーバ１０が指示データを飛行体４０に送信してもよい。
【００２６】
上述したように、本実施形態ではサーバ１０は飛行体４０の飛行経路を決定し、その飛行経路を示す経路データを生成し、その経路データをユーザ端末３０に送信する。ユーザ端末３０への経路データの送信は、制御データの出力の一例である。その経路探索を実行するためにサーバ１０は機能モジュールとして通信部１１および経路探索部１２を備える。通信部１１はユーザ端末３０との間でデータの送受信を実行する機能モジュールである。経路探索部１２は、飛行体４０の飛行経路を探索し、探索された経路を示す経路データを用意する機能モジュールである。
【００２７】
図４は、サーバ１０のハードウェア構成の一例を示す。例えば、サーバ１０は制御回路１００を有する。一例では、制御回路１００は、一つまたは複数のプロセッサ１０１と、メモリ１０２と、ストレージ１０３と、通信ポート１０４と、入出力ポート１０５とを有する。プロセッサ１０１はオペレーティングシステムおよびアプリケーションプログラムを実行する。ストレージ１０３はハードディスク、不揮発性の半導体メモリ、または取り出し可能な媒体（例えば、磁気ディスク、光ディスクなど）の記憶媒体で構成され、オペレーティングシステムおよびアプリケーションプログラムを記憶する。メモリ１０２は、ストレージ１０３からロードされたプログラム、またはプロセッサ１０１による演算結果を一時的に記憶する。一例では、プロセッサ１０１は、メモリ１０２と協働してプログラムを実行することで、上記の各機能モジュールとして機能する。通信ポート１０４は、プロセッサ１０１からの指令に従って、通信ネットワークＮＷを介して他の装置との間でデータ通信を行う。入出力ポート１０５は、プロセッサ１０１からの指令に従って、キーボード、マウス、モニタなどの入出力装置（ユーザインタフェース）との間で電気信号の入出力を実行する。
【００２８】
サーバ１０は一つまたは複数のコンピュータにより構成され得る。複数のコンピュータが用いられる場合には、通信ネットワークを介してこれらのコンピュータが互いに接続されることで論理的に一つのサーバ１０が構成される。
【００２９】
サーバ１０として機能するコンピュータは限定されない。例えば、サーバ１０は業務用サーバなどの大型のコンピュータで構成されてもよいし、パーソナルコンピュータや携帯端末（例えばスマートフォン、タブレット端末など）などの小型のコンピュータで構成されてもよい。
【００３０】
［データ構造］
サーバ１０により用いられる空ネットワークデータ２１は、空ネットワークと、高度に対応して設定されるパラメータ値との関連付けを表現する。空ネットワークはノード、リンクなどの地図要素により表現することができる。ノードとは、飛行体の飛行を制御するために設定される位置のことをいい、より具体的には、飛行体４０の移動方法（例えば方向、速度など）を変えることができる位置のことをいう。リンクとは、飛行体の飛行経路を示すために設定される仮想的な線のことをいい、隣接するノード間を結ぶ。リンクの形状は直線でも曲線でもよく、あるいは、直線と曲線との組合せでもよい。空ネットワークデータ２１を参照することで、少なくとも一部の地図要素のそれぞれにおいてどのようなパラメータ値が適用されるかを特定したり、或るパラメータ値がどの地図要素に適用されるかを特定したりすることができる。
【００３１】
空ネットワークデータ２１の具体的なデータ構造は限定されず、任意の手法で実装されてよい。図５および図６はいずれも空ネットワークデータ２１のデータ構造の例を示す図である。
【００３２】
図５の例では、空ネットワークデータ２１は、ノードを示すノードデータ２１１と、リンクを示すリンクデータ２１２と、リンクとパラメータ値との関連を示すレイヤデータ２１３とを含む。
【００３３】
一つのノードを示すノードデータ２１１は、ノードを一意に特定するノードＩＤと、ノードの地理的位置を示す座標とを含む。一つのリンクを示すリンクデータ２１２は、リンクを一意に特定するリンクＩＤと、該リンクの両端のノードを一意に特定する開始ノードＩＤおよび終了ノードＩＤと、リンクの長さとを含む。
【００３４】
一つのレイヤを示すレイヤデータ２１３は、レイヤを一意に特定するレイヤＩＤと、レイヤが設定される高度と、パラメータ値の意味を示す名称と、レイヤに関連付けられるそれぞれのリンクのリンクＩＤおよびパラメータ値とを含む。レイヤとは、或る高度に設定される仮想の水平面のことをいう。例えば、図１および図２に示す三つの高度上の水平面もレイヤとして定義することができる。本実施形態ではパラメータ値の一例として被覆率を示す。この被覆率は、飛行体４０が緊急着陸する可能性がある地理的範囲のうち地物（この例では水域）が占める割合を示す。一般に、飛行体４０の高度が高くなるほど、該飛行体４０が緊急着陸する可能性がある地理的範囲が広がるので、被覆率も高くなる。図５に示すレイヤデータ２１３より、例えば、リンクＮＷ００１上を高度５００ｍで飛行中の飛行体４０は９０％の確率で地物の範囲内（水域内）に緊急着陸すること、リンクＮＷ００２上を高度３００ｍで飛行中の飛行体４０は２０％の確率で地物の範囲内（水域内）に緊急着陸することなどがわかる。
【００３５】
図６の例では、空ネットワークデータ２１は、図５の例と同じノードデータ２１１と、リンクとパラメータ値との関連を示すリンクデータ２１４とを含む。
【００３６】
一つのリンクを示すリンクデータ２１４は、リンクを一意に特定するリンクＩＤと、該リンクの両端のノードを一意に特定する開始ノードＩＤおよび終了ノードＩＤと、リンクの長さと、リンク上に設定される情報点に関する情報とを含む。情報点とは、リンク上に設定される仮想点のことをいう。情報点の設定方法は任意であるが、例えば、パラメータ値が変化する位置が情報点として設定されてもよい。開始ノードおよび終了ノードのうちの少なくとも一つが情報点としての役割を持ってもよい。一つの情報点に関する情報は、情報点を一意に特定する情報点ＩＤと、情報点の地理的位置を示す座標と、該情報点に隣接する二つの点（ノードまたは情報点）のそれぞれとの間の距離（長さ）と、パラメータ値とを含む。図６でも被覆率をパラメータ値の例として示す。図６に示すリンクデータ２１４より、例えば、リンクＮＷ００１上を飛行中の飛行体４０は、情報点ＣＰ０１１の付近では３０％の確率で、情報点ＣＰ０１２の付近では４０％の確率で、地物の範囲内（水域内）に緊急着陸することなどがわかる。リンク下の地面に高低差があるなどの理由で、一つのリンク上でパラメータ値が情報点ごとに変わり得る。
【００３７】
上記の通り、図５および図６に示すデータ構造は一例である。空ネットワークとパラメータ値とが関連付けられるのであれば、空ネットワークデータ２１のデータ構造は任意の方針で設計されてよい。例えば、図５および図６に示すデータ項目の少なくとも一つが省略されてもよいし、他のデータ項目が付加されてもよい。パラメータ値はリンク以外の地図要素（例えばノード）と関連付けられてもよい。空ネットワークの全域がパラメータ値と関連付けられることは必要なく、したがって、一部の地図要素がパラメータ値と関連付けられなくてもよい。空ネットワークは複数種類のパラメータ値と関連付けられてもよい。例えば、或る地図要素には第１の種類のパラメータ値（例えば、市街地との被覆率）が関連付けられ、別の地図要素には、第２の種類のパラメータ値（例えば、鳥類との接触率）が関連付けられてもよい。一つの地図要素に複数の種類のパラメータ値が関連付けられてもよい。
【００３８】
パラメータ値は静的に設定されてもよいし、動的に設定されてもよい。「静的に設定される」とは、パラメータ値が予め設定され、人手の介入がない限りはその設定が変更されないことをいう。一方、「動的に設定される」とは、パラメータ値が任意の事象に応じて人手の介入無しに変更され得ることをいう。動的な設定は、パラメータ値を制御するプログラムが所定のコンピュータ上で実行されることで実現される。動的な設定は飛行制御システム１により実行されてもよいし、別のコンピュータシステムにより実行されてもよい。
【００３９】
［システムでの処理手順］
図７を参照しながら、飛行制御システム１の動作を説明するとともに本実施形態に係る飛行体の制御方法（より具体的には、制御データを生成および出力する方法）を説明する。図７は、飛行制御システム１の動作の一例を示すシーケンス図である。上記の通り飛行体４０の制御の目的は何ら限定されず、したがって、図７に示す処理フローは一例に過ぎないことに留意されたい。
【００４０】
ステップＳ１１では、通信部１１が経路探索の条件（探索条件）を取得する。例えば、通信部１１はユーザ端末３０からその探索条件を受信する。ユーザは経路探索に関する様々な条件を入力することができる。探索条件は限定されず、例えば、飛行体４０の出発地点および到着地点（目的地点）の組と、飛行の目的と、飛行の制約条件とのうちの少なくとも一つを含んでもよい。飛行の制約条件は限定されず、例えば、出発時刻、到着時刻、所要時間、優先項目（例えば、距離を優先、安全を優先、経路の混雑度の低さを優先）などの任意の一以上の属性を含んでもよい。探索条件の少なくとも一部は、ユーザにより入力されてもよいし、任意のコンピュータまたはコンピュータシステムによって自動的に設定されてもよい。ユーザ端末３０はその探索条件に基づいて要求信号を生成し、その信号をサーバ１０に送信することで、経路探索をサーバ１０に要求する。通信部１１はその要求信号を受信することで経路条件を取得する。
【００４１】
ステップＳ１２では、経路探索部１２がその要求に基づいて、探索条件を満たす可能性がある１以上の経路を候補経路として取得する。例えば、経路探索部１２はデータベース２０内の空ネットワークデータ２１を参照して出発地点から到着地点に至る１以上の経路を候補経路として取得してもよい。
【００４２】
本実施形態では、経路探索部１２は１以上の候補経路のそれぞれについてコストを計算し、各候補経路のコストに基づいて飛行体４０の飛行経路を決定する。コストとは、飛行経路が探索条件をどの程度満たすかを示す指数である。本実施形態では、コストが低い飛行経路ほど探索条件をより満たすものとするが、コストの大きさと探索条件の充足度との関係はこれに限定されない。
【００４３】
ステップＳ１３では、経路探索部１２は一つの候補経路をコスト計算の対象として選択する。ステップＳ１４では、経路探索部１２は、選択された候補経路を構成する１以上の地図要素を特定する。ステップＳ１５では、経路探索部１２は特定された１以上の地図要素に対応する１以上のパラメータ値を特定する。経路探索部１２はデータベース２０内の空ネットワークデータ２１を参照することで、候補経路を構成する地図要素を特定することができ、さらに、その地図要素に対応するパラメータ値（図５および図６の例では被覆率）を特定することができる。
【００４４】
ステップＳ１６では、経路探索部１２は特定されたパラメータ値に基づいて候補経路のコストを計算する。コストの具体的な計算方法は何ら限定されず、例えば、経路探索部１２は１以上の地図要素に対応する１以上のパラメータ値と、各リンクの長さとに基づいてコストを計算してもよい。あるいは、経路探索部１２は、１以上の地図要素に対応する１以上のパラメータ値と、隣接する情報点間の距離または隣接する情報点およびノード間の距離（図６で示される長さ［１］および長さ［２］のうちの少なくとも一つ）とに基づいてコストを計算してもよい。たとえば、図６で示される情報点１から情報点２までのコストは、（３０％＋４０％）÷２×ｄ１２として計算される。これは、情報点１の被覆率３０％と情報点２の被覆率４０％を平均化し、情報点１と情報点２の距離（長さ）ｄ１２を乗じたことを意味している。同様に、情報点２から情報点３までのコストは、（４０％＋８０％）÷２×ｄ１４として計算される。これは、情報点２の被覆率４０％と情報点３の被覆率８０％を平均化し、情報点２と情報点３の距離（長さ）ｄ１４を乗じたことを意味している。コストの計算方法は探索条件に応じて用意されてもよく、例えば、距離を優先する場合と安全を優先する場合とで計算式が異なってもよい。パラメータ値は高度に応じて設定されたものなので、一つの候補経路におけるコストは高度に応じて変わり得る。一つの候補経路に関して、経路探索部１２は選択可能な高度の組合せのそれぞれについてコストを計算することができる。図１および図２における候補経路４０１について例示すると、経路探索部１２は候補経路４０１ａ，４０１ｂ，４０１ｃ，４０１ｄのそれぞれについてコストを計算することができる。
【００４５】
ステップＳ１７で示されるように、経路探索部１２は、処理すべき候補経路のすべてについてコストを計算するまでステップＳ１４〜Ｓ１６の処理を繰り返す。処理すべき候補経路がまだ残っている場合には、処理はステップＳ１８に進み、経路探索部１２は次に処理する一つの候補経路を処理対象として選択する。そして、処理はステップＳ１４に戻り、経路探索部１２はその候補経路について地図要素を特定し、その地図要素のパラメータ値を特定し、そのパラメータ値に基づいて高度の組合せのそれぞれのコストを計算する。
【００４６】
すべての候補経路について処理すると処理はステップＳ１９に進み、経路探索部１２は、コストに基づいて、高度が考慮された飛行経路を決定する。例えば、経路探索部１２はコストが最小である候補経路を飛行経路として決定してもよい。「高度が考慮された飛行経路」とは２次元の地図上における経路だけでなく、該経路における飛行体４０の飛行時の高度も示す飛行経路のことをいう。したがって、経路探索部１２は、飛行経路と、該飛行経路における飛行体４０の高度（飛行体４０が飛行すべき高度）とを決定する。図２の例に示すように、飛行経路における高度は途中で変化してもよい。経路探索部１２は、決定した飛行経路と、該飛行経路における飛行体４０の高度とを示す制御データを生成する。
【００４７】
ステップＳ２０では、通信部１１がその制御データを出力する。例えば、通信部１１はその制御データをユーザ端末３０に送信する。ユーザ端末３０はその制御データを受信して画面上に表示し、これによりユーザは、最適であると予想される飛行経路を知ることができる。
【００４８】
サーバ１０はコストに基づいて２以上の候補経路を決定し、それぞれの候補経路を示す制御データをユーザ端末３０に送信してもよい。この場合には、ユーザは提示された複数の飛行経路の中から所望の一つの飛行経路を選択することができる。
【００４９】
サーバ１０からユーザ端末３０に提供された制御データ（経路データ）は、飛行体４０を制御するために用いられる。飛行体４０はその制御データを受信および処理することで動作してもよいし、その制御データに基づいて生成される別の電子データに従って制御してもよい。飛行体４０へのデータの送信方法および送信経路は何ら限定されない。いずれにしても、飛行体４０は、サーバ１０から提供された制御データに基づいて、適切と判定された飛行経路を、適切と判定された高度で飛行することができる。
【００５０】
複数の候補経路から少なくとも一つの飛行経路を決定する処理の手順は以下のようにいうことができる。すなわち、飛行制御システム１は、飛行経路の候補である複数の候補経路を取得する。続いて、飛行制御システム１は、複数の候補経路のそれぞれについて、（ｉ）候補経路を構成する少なくとも一つの地図要素を特定するステップと、（ｉｉ）空ネットワークデータ２１を参照することで、特定された少なくとも一つの地図要素に対応する少なくとも一つのパラメータ値を特定するステップと、（ｉｉｉ）特定された少なくとも一つのパラメータ値に基づいて候補経路のコストを計算するステップとを含む処理を実行する。続いて、飛行制御システム１は、複数の候補経路のそれぞれのコストに基づいて、複数の候補経路から飛行経路を決定する。そして、飛行制御システム１は、飛行経路と、該飛行経路における飛行体４０の高度とを示す制御データを生成および出力する。
【００５１】
上記の通り飛行体４０の制御の目的は何ら限定されない。例えば、飛行制御システム１は、或る一つの飛行経路における飛行体４０の高度を決定してもよい。具体的には、飛行制御システム１は、飛行体４０を飛行させるための飛行経路を構成する少なくとも一つの地図要素を特定する。続いて、飛行制御システム１は、空ネットワークデータ２１を参照することで、特定された少なくとも一つの地図要素に対応する少なくとも一つのパラメータ値を特定し、特定された少なくとも一つのパラメータ値に基づいて、飛行経路における飛行体４０の高度を設定する。そして、飛行制御システム１は、飛行経路と、該飛行経路における飛行体４０の高度とを示す制御データを生成および出力する。
【００５２】
［プログラム］
コンピュータをサーバ１０として機能させるためのプログラムは、該コンピュータを通信部１１および経路探索部１２として機能させるためのプログラムコードを含む。このプログラムは、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリなどの有形の記録媒体に固定的に記録された上で提供されてもよい。あるいは、プログラムは、搬送波に重畳されたデータ信号として通信ネットワークを介して提供されてもよい。提供されたプログラムはストレージ１０３に記憶され、プロセッサ１０１がメモリ１０２と協働してそのプログラムを実行することで上記の各機能モジュールが実現する。
【００５３】
［効果］
以上説明したように、本開示の一側面に係るコンピュータシステムは、少なくとも一つのプロセッサを備え、少なくとも一つのプロセッサが、空ネットワークと、高度に対応して設定されるパラメータ値とが関連付けられた空ネットワークデータに基づいて、飛行体を制御するための制御データを生成し、制御データを出力する。
【００５４】
本開示の一側面に係るプログラムは、空ネットワークと、高度に対応して設定されるパラメータ値とが関連付けられた空ネットワークデータに基づいて、飛行体を制御するための制御データを生成するステップと、制御データを出力するステップとをコンピュータに実行させる。
【００５５】
この側面においては、空ネットワークと高度に対応するパラメータ値とが関連付けられるので、高度を考慮して飛行体を制御するための制御データを生成することができる。その制御データを用いることで、２次元の地図上に限った制御ではなく、高さも含む３次元空間における飛行体の制御が可能になる。
【００５６】
他の側面に係るコンピュータシステムは、空ネットワークデータが、空ネットワークを構成する地図要素とパラメータ値との関連付けを含んでもよい。空ネットワークを構成する地図要素とパラメータ値とが互いに関連付けられるので、飛行体をより精密に制御できる制御データを生成することができる。
【００５７】
他の側面に係るコンピュータシステムは、空ネットワークデータが、地図要素と、複数の高度に対応する複数のパラメータ値との関連付けを含んでもよい。複数の高度のそれぞれにおけるパラメータ値が地図要素に関連付けられるので、高度を考慮して飛行体を制御するための制御データを生成することができる。
【００５８】
他の側面に係るコンピュータシステムは、少なくとも一つのプロセッサが、飛行体を飛行させるための飛行経路を構成する少なくとも一つの地図要素を特定し、空ネットワークデータを参照することで、特定された少なくとも一つの地図要素に対応する少なくとも一つのパラメータ値を特定し、特定された少なくとも一つのパラメータ値に基づいて、飛行経路における飛行体の高度を設定し、飛行経路と、該飛行経路における飛行体の高度とを示す制御データを生成してもよい。この一連の処理により、飛行経路における飛行体の飛行時の高度（飛行体が通過すべき高度）が制御データで示されるので、飛行体を適切な高度で飛行させることが可能になる。
【００５９】
他の側面に係るコンピュータシステムは、少なくとも一つのプロセッサが、飛行経路の候補である複数の候補経路を取得し、複数の候補経路のそれぞれについて、候補経路を構成する少なくとも一つの地図要素を特定するステップと、空ネットワークデータを参照することで、特定された少なくとも一つの地図要素に対応する少なくとも一つのパラメータ値を特定するステップと、特定された少なくとも一つのパラメータ値に基づいて候補経路のコストを計算するステップとを含む処理を実行し、複数の候補経路のそれぞれのコストに基づいて、複数の候補経路から飛行経路を決定し、飛行経路と、該飛行経路における飛行体の高度とを示す制御データを生成してもよい。この一連の処理により、適切であると推定される飛行経路と、該飛行経路における飛行体の飛行時の高度（飛行体が通過すべき高度）が制御データで示されるので、飛行体を適切な経路および高度で飛行させることが可能になる。
【００６０】
［変形例］
以上、本開示の実施形態に基づいて詳細に説明した。しかし、本開示は上記実施形態に限定されるものではない。本開示は、その要旨を逸脱しない範囲で様々な変形が可能である。
【００６１】
制御データを生成および出力するためのシステム構成は限定されない。例えば、サーバ１０がデータベース２０を備えてもよい。あるいは、飛行体４０がサーバ１０の機能を備えてもよく、この場合には、飛行体４０は通信ネットワークを介してデータベース２０にアクセスすることで空ネットワークデータ２１を読み出す。あるいは、飛行体４０がサーバ１０およびデータベース２０の双方の機能を備えてもよく、この場合には、飛行体４０はあたかもスタンドアロンマシンのように、他の情報処理装置に頼ることなく飛行することができる。ユーザ端末３０は必須の構成要素ではない。
【００６２】
上記実施形態では、飛行制御システム１が、始点（出発地点）と終点（目的地点）とを結ぶ１以上の候補経路のそれぞれについてコストを計算して飛行経路を決定する。しかし、飛行経路の決定方法はこれに限定されない。例えば、飛行制御システム１は、始点から終点に向かって、飛行経路になり得る１以上のリンクのそれぞれについてコストを計算しながら１以上の候補経路のそれぞれを１リンクずつ作成し、各コストに基づいて最終的に一つの飛行経路を決定してもよい。
【００６３】
少なくとも一つのプロセッサにより実行される制御データの生成および出力の処理手順は上記実施形態での例に限定されない。例えば、上述したステップ（処理）の一部が省略されてもよいし、別の順序で各ステップが実行されてもよい。また、上述したステップのうちの任意の２以上のステップが組み合わされてもよいし、ステップの一部が修正又は削除されてもよい。あるいは、上記の各ステップに加えて他のステップが実行されてもよい。
【００６４】
以上の実施形態の全部または一部に記載された態様は、飛行体の適切な制御、処理速度の向上、処理精度の向上、使い勝手の向上、データを利用した機能の向上または適切な機能の提供その他の機能向上または適切な機能の提供、データおよび／またはプログラムの容量の削減、装置および／またはシステムの小型化等の適切なデータ、プログラム、記録媒体、装置および／またはシステムの提供、並びにデータ、プログラム、装置またはシステムの制作・製造コストの削減、制作・製造の容易化、制作・製造時間の短縮等のデータ、プログラム、記録媒体、装置および／またはシステムの制作・製造の適切化のいずれか一つの課題を解決する。
【符号の説明】
【００６５】
１…飛行制御システム、１０…サーバ、１１…通信部、１２…経路探索部、２０…データベース、２１…空ネットワークデータ、３０…ユーザ端末、４０…飛行体。
【図１】
2020154484.tif 000003
【図２】
2020154484.tif 000004
【図３】
2020154484.tif 000005
【図４】
2020154484.tif 000006
【図５】
2020154484.tif 000007
【図６】
2020154484.tif 000008
【図７】
2020154484.tif 000009