(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023040726
(43)【公開日】2023-03-23
(54)【発明の名称】制御システム、制御装置、及び制御方法
(51)【国際特許分類】
G08G 5/00 20060101AFI20230315BHJP
B64C 39/02 20060101ALI20230315BHJP
B64F 1/36 20170101ALI20230315BHJP
B64C 13/18 20060101ALI20230315BHJP
G01C 21/20 20060101ALI20230315BHJP
【FI】
G08G5/00 A
B64C39/02
B64F1/36
B64C13/18 Z
G01C21/20
【審査請求】未請求
【請求項の数】25
【出願形態】OL
(21)【出願番号】P 2021147862
(22)【出願日】2021-09-10
(71)【出願人】
【識別番号】000006633
【氏名又は名称】京セラ株式会社
(74)【代理人】
【識別番号】110001106
【氏名又は名称】弁理士法人キュリーズ
(72)【発明者】
【氏名】山田 雄紀
【テーマコード(参考)】
2F129
5H181
【Fターム(参考)】
2F129AA11
2F129BB02
2F129BB22
2F129BB26
2F129CC18
2F129DD45
2F129DD46
2F129DD58
2F129EE52
2F129EE84
2F129FF02
2F129FF20
2F129FF32
2F129FF59
2F129FF65
2F129FF68
5H181AA26
5H181BB04
5H181CC11
5H181CC17
5H181MA41
(57)【要約】
【課題】リアルタイムな状況変化に合わせて飛行体の飛行経路を最適化することを可能とする。
【解決手段】制御システム1は、少なくとも1つのプロセッサ202を備え、無人航空機100を制御するシステムである。プロセッサ202は、無人航空機100の現在位置を示す位置情報及び無人航空機100の周囲環境を示す環境情報を取得する取得処理と、無人航空機100の飛行中において、位置情報及び環境情報に基づいて、現在位置から目的地までの飛行経路の少なくとも一部を最適化するための最適化処理と、を実行する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサを備え、飛行体を制御するための制御システムであって、
前記少なくとも1つのプロセッサは、
前記飛行体の現在位置を示す位置情報及び前記飛行体の周囲環境を示す環境情報を取得する取得処理と、
前記飛行体の飛行中において、前記位置情報及び前記環境情報に基づいて、前記現在位置から目的地までの飛行経路の少なくとも一部を最適化するための最適化処理と、を実行する
制御システム。
【請求項2】
前記取得処理は、前記飛行体の飛行開始後において、前記位置情報及び前記環境情報のそれぞれを周期的に取得する処理を含む
請求項1に記載の制御システム。
【請求項3】
前記少なくとも1つのプロセッサは、前記飛行体の飛行開始前において、前記飛行体の飛行開始位置から前記目的地までの初期経路を生成する初期経路生成処理をさらに実行し、
前記最適化処理は、前記初期経路の少なくとも一部を周期的に更新する経路更新処理を含む
請求項1又は2に記載の制御システム。
【請求項4】
前記経路更新処理は、前記現在位置から前記目的地までの前記初期経路を周期的に更新する処理である
請求項3に記載の制御システム。
【請求項5】
前記経路更新処理は、前記現在位置から前記現在位置と前記目的地との間の途中位置までの前記初期経路を周期的に更新する処理である
請求項4に記載の制御システム。
【請求項6】
前記少なくとも1つのプロセッサは、前記初期経路が更新される度に、前記更新により確定された飛行経路を表示部に表示させるための処理を実行する
請求項3乃至5のいずれか1項に記載の制御システム。
【請求項7】
前記少なくとも1つのプロセッサは、
前記飛行体の飛行開始位置から前記目的地までの初期経路を時系列位置により構成した経路計画に対する前記飛行体の飛行状況の差異を検知したことに基づいて、前記最適化処理を実行する
請求項1又は2に記載の制御システム。
【請求項8】
前記少なくとも1つのプロセッサは、
前記飛行体の飛行開始前において前記経路計画を生成する生成処理と、
前記飛行体の飛行中において、前記位置情報に基づいて前記差異を検知する検知処理と、をさらに実行し、
前記少なくとも1つのプロセッサは、前記差異が許容範囲外であることに応じて、前記最適化処理を実行する
請求項7に記載の制御システム。
【請求項9】
前記少なくとも1つのプロセッサは、前記差異が許容範囲内である場合、前記経路計画へ復帰させるように前記飛行体を制御する復帰処理をさらに実行する
請求項8に記載の制御システム。
【請求項10】
前記最適化処理は、前記現在位置から、前記現在位置と前記目的地との間の途中位置までの飛行経路を周期的に生成する経路生成処理を含む
請求項1又は2に記載の制御システム。
【請求項11】
前記少なくとも1つのプロセッサは、前記飛行経路が生成される度に、前記生成された飛行経路を表示部に表示させるための処理を実行する
請求項10に記載の制御システム。
【請求項12】
前記少なくとも1つのプロセッサは、前記飛行体の飛行中において、前記環境情報が所定条件を満たしたことに応じて前記最適化処理を実行する
請求項1乃至11のいずれか1項に記載の制御システム。
【請求項13】
前記少なくとも1つのプロセッサは、前記飛行体の飛行中において、ユーザ操作に応じて前記最適化処理を実行する
請求項1乃至12のいずれか1項に記載の制御システム。
【請求項14】
前記取得処理は、前記最適化処理に要する計算時間の経過後における将来の前記環境情報を予測モデルにより予測する予測処理を含み、
前記少なくとも1つのプロセッサは、前記予測処理により予測された前記環境情報を用いて前記最適化処理を実行する
請求項1乃至13のいずれか1項に記載の制御システム。
【請求項15】
前記少なくとも1つのプロセッサは、
前記最適化処理に基づいて前記飛行体を制御する制御指示を生成する処理と、
前記飛行体における自律的な運転制御を行う処理と、
前記制御指示と前記自律的な運転制御とが競合した場合、前記制御指示による第1動作及び前記自律的な運転制御による第2動作のそれぞれの優先度を比較する処理と、
前記第1動作及び前記第2動作のうち、前記優先度が相対的に高い一方の動作を先に行った後、前記優先度が相対的に低い他方の動作を行う処理と、をさらに実行する
請求項1乃至14のいずれか1項に記載の制御システム。
【請求項16】
前記取得処理は、前記飛行体に設けられた測位部により得られる第1位置情報と、前記飛行経路の周辺に設けられた観測装置により得られる第2位置情報とを取得する処理を含み、
前記少なくとも1つのプロセッサは、前記第1位置情報により示される位置と前記第2位置情報により示される位置との差分に基づいて、前記飛行体における異常を検知する処理をさらに実行する
請求項1乃至15のいずれか1項に記載の制御システム。
【請求項17】
前記少なくとも1つのプロセッサは、前記飛行体の飛行中において、ユーザ操作に応じて、前記飛行体の制御を手動制御モードに切り替える処理を実行する
請求項1乃至16のいずれか1項に記載の制御システム。
【請求項18】
前記位置情報は、前記飛行体が位置する緯度、経度、及び高度のそれぞれの情報を含み、
前記最適化処理は、3次元地図情報にさらに基づいて前記飛行経路の少なくとも一部を最適化する処理を含む
請求項1乃至17のいずれか1項に記載の制御システム。
【請求項19】
前記環境情報は、それぞれ位置と対応付けられた複数の環境パラメータを含み、
前記複数の環境パラメータは、障害物に関する第1パラメータ、電波環境に関する第2パラメータ、風に関する第3パラメータ、及び天候に関する第4パラメータのうち少なくとも1つを含む
請求項1乃至18のいずれか1項に記載の制御システム。
【請求項20】
前記少なくとも1つのプロセッサは、複数の飛行体のそれぞれが飛行し得る空間を前記飛行体ごとに分けて設定する処理をさらに実行する
請求項1乃至19のいずれか1項に記載の制御システム。
【請求項21】
前記最適化処理は、複数の飛行体のそれぞれについて、
前記環境情報に基づいて複数の候補経路を生成する候補生成処理と、
前記複数の飛行体間で互いに衝突しない候補経路を選択する選択処理と、を含む
請求項1乃至20のいずれか1項に記載の制御システム。
【請求項22】
前記候補生成処理は、
前記複数の候補経路の1つとして最短経路を生成する処理と、
前記最短経路が前記複数の飛行体間で互いに交差する場合、前記複数の候補経路の1つとして代替経路を生成する処理と、を含む
請求項21に記載の制御システム。
【請求項23】
前記選択処理は、
前記候補経路が前記複数の飛行体間で互いに交差する場合、第1の最適化手法により1つの候補経路を選択する処理と、
前記候補経路が前記複数の飛行体間で互いに交差しない場合、前記第1の最適化手法に比べて計算量の少ない第2の最適化手法により1つの候補経路を選択する処理と、を含む
請求項21又は22に記載の制御システム。
【請求項24】
少なくとも1つのプロセッサを備え、飛行体を制御するための制御装置であって、
前記少なくとも1つのプロセッサは、
前記飛行体の現在位置を示す位置情報及び前記飛行体の周囲環境を示す環境情報を取得する取得処理と、
前記飛行体の飛行中において、前記位置情報及び前記環境情報に基づいて、前記現在位置から目的地までの飛行経路の少なくとも一部を最適化するための最適化処理と、を実行する
制御装置。
【請求項25】
飛行体を制御するための制御方法であって、
前記飛行体の現在位置を示す位置情報及び前記飛行体の周囲環境を示す環境情報を取得するステップと、
前記飛行体の飛行中において、前記位置情報及び前記環境情報に基づいて、前記現在位置から目的地までの飛行経路の少なくとも一部を最適化するための最適化処理を行うステップと、を有する
制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、飛行体を制御するための制御システム、制御装置、及び制御方法に関する。
【背景技術】
【0002】
近年、ドローンと呼ばれる小型の無人航空機の普及が進んでいる。このような無人航空機の飛行経路を決定するための方法として、量子アニーリング等を用いて組み合わせ最適化問題を解くことにより、無人航空機の経路を最適化する方法が提案されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
組合せ最適化問題は、問題規模が大きくなるにつれて計算時間が膨大になる。量子アニーリングのような高速に組合せ最適化問題を解く方法も研究されているが、前処理に時間を要するうえ、問題規模が大きくなると計算時間が大きくなる。また、何度も最適化を行うと量子アニーリングのような従量課金型の最適化サービスを利用する場合、コストが高くなる。
【0005】
そのため、従来の技術では、無人航空機等の飛行体の飛行開始前に経路最適化を行い、飛行体の飛行経路を決定している。しかしながら、飛行体の飛行中において周囲の環境は動的に変化するため、状況に合わせて飛行経路を最適化できることが望ましい。
【0006】
そこで、本発明は、リアルタイムな状況変化に合わせて飛行体の飛行経路を最適化することを可能とする制御システム、制御装置、及び制御方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
第1の態様に係る制御システムは、少なくとも1つのプロセッサを備え、飛行体を制御するためのシステムである。前記少なくとも1つのプロセッサは、前記飛行体の現在位置を示す位置情報及び前記飛行体の周囲環境を示す環境情報を取得する取得処理と、前記飛行体の飛行中において、前記位置情報及び前記環境情報に基づいて、前記現在位置から目的地までの飛行経路の少なくとも一部を最適化するための最適化処理と、を実行する。
【0008】
第2の態様に係る制御装置は、少なくとも1つのプロセッサを備え、飛行体を制御するための装置である。前記少なくとも1つのプロセッサは、前記飛行体の現在位置を示す位置情報及び前記飛行体の周囲環境を示す環境情報を取得する取得処理と、前記飛行体の飛行中において、前記位置情報及び前記環境情報に基づいて、前記現在位置から目的地までの飛行経路の少なくとも一部を最適化するための最適化処理と、を実行する。
【0009】
第3の態様に係る制御方法は、飛行体を制御するための方法である。前記制御方法は、前記飛行体の現在位置を示す位置情報及び前記飛行体の周囲環境を示す環境情報を取得するステップと、前記飛行体の飛行中において、前記位置情報及び前記環境情報に基づいて、前記現在位置から目的地までの飛行経路の少なくとも一部を最適化するための最適化処理を行うステップと、を有する。
【発明の効果】
【0010】
本発明の一態様によれば、リアルタイムな状況変化に合わせて飛行体の飛行経路を最適化することを可能とする制御システム、制御装置、及び制御方法を提供できる。
【図面の簡単な説明】
【0011】
【
図1】実施形態に係る制御システムの構成を示す図である。
【
図2】実施形態に係る初期経路生成処理を示す図である。
【
図3】実施形態に係る初期経路生成処理における取得処理(
図2のステップST11)の具体例を示す図である。
【
図4】実施形態に係る初期経路生成処理における最適化処理(
図2のステップST12)の具体例を示す図である。
【
図5】実施形態に係る経路更新処理を示す図である。
【
図6】実施形態に係る、目的地までの周期的な経路更新処理の具体例を示す図である。
【
図7】実施形態に係る、目的地までの周期的な経路更新処理の具体例を示す図である。
【
図8】実施形態に係る、途中位置までの周期的な経路更新処理の具体例を示す図である。
【
図9】実施形態に係る、途中位置までの周期的な経路更新処理の具体例を示す図である。
【
図10】実施形態に係る、経路計画との差異の発生に応じた経路更新処理の具体例を示す図である。
【
図11】実施形態に係る表示制御の具体例を示す図である。
【
図12】実施形態に係る表示制御の具体例を示す図である。
【
図13】実施形態に係る制御システムの動作の第1変更例における具体例を示す図である。
【
図14】実施形態に係る制御システムの動作の第1変更例における具体例を示す図である。
【
図15】実施形態に係る制御システムの動作の第3変更例における具体例を示す図である。
【
図16】実施形態に係る制御システムの動作の第4変更例における具体例を示す図である。
【
図17】実施形態に係る制御システムの動作の第5変更例における具体例を示す図である。
【発明を実施するための形態】
【0012】
実施形態に係る制御システムについて図面を参照しながら説明する。なお、以下の図面の記載において、同一又は類似の部分には、同一又は類似の符号を付している。
【0013】
本実施形態に係る制御システムは、飛行体を制御するためのシステムである。飛行体は、飛行可能な構造体であればよく、ドローン等の無人航空機であってもよいし、有人航空機であってもよい。以下において、飛行体が無人航空機である一例について主として説明する。
【0014】
(1)制御システムの構成
まず、本実施形態に係る制御システムの構成について説明する。
図1は、本実施形態に係る制御システム1の構成を示す図である。
【0015】
図1に示すように、制御システム1は、無人航空機100と、制御サーバ200と、外部サーバ300と、端末400と、観測装置500とを有する。無人航空機100、制御サーバ200、外部サーバ300、端末400、及び観測装置500のそれぞれは、通信ネットワーク10を介して相互に通信可能に構成されている。
【0016】
無人航空機100は、飛行体の一例である。無人航空機100は、通信ネットワーク10を介して制御サーバ200及び/又は端末400との通信を行い、当該通信に基づいて動作する。例えば、無人航空機100は、制御サーバ200及び/又は端末400からの指示に従って動作する。或いは、無人航空機100は、飛行制御に用いる補助情報(例えば、後述の環境情報及び位置情報)を制御サーバ200、外部サーバ300、及び/又は観測装置500から取得し、取得した情報に基づいて自律的な飛行制御を行ってもよい。以下においては、無人航空機100が制御サーバ200及び/又は端末400からの遠隔制御に従って動作する一例について主として説明する。また、無人航空機100が制御サーバ200からの遠隔制御により動作する場合を主として想定するが、無人航空機100は、例えば緊急時等において端末400がユーザから受け付ける操作に応じて手動での遠隔制御により動作してもよい。
【0017】
無人航空機100は、測位を行って得られた位置情報、及び/又はセンシングにより得られた環境情報を、通信ネットワーク10を介して制御サーバ200及び/又は端末400に送信してもよい。位置情報は、無人航空機100の現在位置を示す情報である。位置情報は、無人航空機100が位置する緯度、経度、及び高度のそれぞれの情報を含む3次元の位置情報であってもよい。環境情報は、それぞれ位置と対応付けられた複数の環境パラメータを含んでもよい。当該複数の環境パラメータは、障害物に関する第1パラメータ、電波環境に関する第2パラメータ、風に関する第3パラメータ、及び天候に関する第4パラメータのうち少なくとも1つを含んでもよい。電波環境とは、主としてセルラ通信の電波環境をいうが、測位衛星からの電波環境であってもよい。
【0018】
なお、無人航空機100は、自身の問題・異常を検知した場合、エラー情報を制御サーバ200及び/又は端末400に送信してもよい。例えば、無人航空機100は、電池残量不足、プロペラ故障、モーター故障、又は温度異常等を検知し、検知内容を示すエラー情報を制御サーバ200及び/又は端末400に送信してもよい。
【0019】
制御サーバ200は、無人航空機100を遠隔制御により制御するための制御装置の一例である。
図1において、遠隔制御の対象となる無人航空機100が1台である一例を図示しているが、遠隔制御の対象となる無人航空機100は複数台であってもよい。制御サーバ200は、管制システムの一部であってもよい。制御サーバ200は、無人航空機100から取得される位置情報(及び環境情報)と、外部サーバ300及び/又は観測装置500から取得される環境情報とに基づいて無人航空機100を制御してもよい。
【0020】
外部サーバ300は、環境情報及び/又は3次元地図を管理するサーバである。環境情報は、それぞれ位置と対応付けられた複数の環境パラメータを含んでもよい。当該複数の環境パラメータは、障害物に関する第1パラメータ、電波環境に関する第2パラメータ、風に関する第3パラメータ、及び天候に関する第4パラメータのうち少なくとも1つを含んでもよい。外部サーバ300は、後述する経路最適化のための計算(例えば、量子計算)を行ってもよい。外部サーバ300は、量子アニーリングのような従量課金型の最適化サービスを提供してもよい。外部サーバ300は、環境情報及び/又は3次元地図を、無人航空機100、制御サーバ200、及び端末400の少なくとも1つに対して提供してもよい。例えば、制御サーバ200は、これらの情報をWeb API(Application Programming Interface)を介して外部サーバ300から取得してもよい。
【0021】
端末400は、ユーザにより操作される端末であって、例えば、パーソナルコンピュータ(PC)、タブレット端末、スマートフォン、又はウェアラブル端末等である。端末400は、無人航空機100を遠隔制御により制御するための制御装置の他の例である。端末400は、管制システムの一部であってもよい。
【0022】
観測装置500は、無人航空機100に関する各種の観測を行う。観測装置500は、無人航空機100が飛行し得る経路の周辺に複数台設置されてもよい。観測装置500は、無人航空機100の現在位置を示す位置情報を取得し、取得した位置情報を制御サーバ200及び端末400の少なくとも1つに対して提供してもよい。例えば、観測装置500は、カメラやレーダーを使った測位システムを有していてもよいし、ビーコンのような特定の位置の通過を検知できるシステムを有していてもよい。位置情報は、無人航空機100が位置する緯度、経度、及び高度のそれぞれの情報を含む3次元の位置情報であってもよい。環境情報は、それぞれ位置と対応付けられた複数の環境パラメータを含んでもよい。当該複数の環境パラメータは、障害物に関する第1パラメータ、電波環境に関する第2パラメータ、風に関する第3パラメータ、及び天候に関する第4パラメータのうち少なくとも1つを含んでもよい。観測装置500は、センシングにより得られた環境情報を制御サーバ200及び端末400の少なくとも1つに対して提供してもよい。観測装置500は、例えば、温度センサ、湿度センサ、気圧センサ、照度センサ、加速度センサ、角速度センサ、地磁気センサ、風速センサ、障害物センサ、及び電波環境センサのうち少なくとも1つを有していてもよい。
【0023】
(1.1)無人航空機の構成
無人航空機100は、コントローラ110を有する。コントローラ110は、無人航空機100を制御するための制御装置の他の例である。コントローラ110は、無人航空機100に内蔵されていてもよいし、無人航空機100に着脱可能なユニットであってもよい。なお、無人航空機100は、コントローラ110以外に、飛行するための機構(例えば、モータ及びプロペラ等)と、電源を共有するためのバッテリとを有する。
【0024】
コントローラ110は、通信部111と、プロセッサ112と、記憶部113と、測位部114と、センサ115とを有する。通信部111、プロセッサ112、記憶部113、測位部114、及びセンサ115のそれぞれは、内部バスを介して電気的に相互に接続されている。
【0025】
通信部111は、通信ネットワーク10を介して通信を行う。具体的には、通信部111は、通信ネットワーク10に含まれる基地局との無線通信(例えば、セルラ通信)を行う。通信部111は、基地局からの電波環境(例えば、無線信号の受信強度)を測定してもよい。通信部111は、制御サーバ200及び/又は端末400からの指示及び/又は補助情報を受信してもよい。
【0026】
プロセッサ112は、記憶部113に記憶されたプログラムを実行することにより、無人航空機100における各種の処理・制御を行う。プロセッサ112は、コントローラ110の各部を制御してもよい。プロセッサ112は、制御サーバ200及び/又は端末400からの指示及び/又は補助情報に基づいて、飛行するための機構(例えば、モータ)を制御してもよい。プロセッサ112は、通信部111により得られた電波環境パラメータ及び/又はセンサ115により得られたパラメータを含む環境情報を、通信部111を介して制御サーバ200及び/又は端末400に送信してもよい。プロセッサ112は、測位部114により得られた位置情報を、通信部111を介して制御サーバ200及び/又は端末400に送信してもよい。位置情報には、緯度、経度、及び高度のうち少なくとも1つを特定するためのセンサ値が含まれていてもよい。例えば、高度を特定するための気圧センサ値及び/又は超音波センサ値が位置情報に含まれていてもよい。
【0027】
記憶部113は、プログラムを記憶するとともに、プロセッサ112の作業領域として用いられる。記憶部113は、無人航空機100が飛行経路に沿って飛行するための情報(例えば、3次元地図)を記憶していてもよい。
【0028】
測位部114は、無人航空機100の現在位置を示す位置情報を取得し、位置情報をプロセッサ112に出力する。例えば、測位部114は、測位衛星からの衛星信号を受信することにより、無人航空機100の現在位置を示す位置情報を取得する。測位部114は、複数の測位方式に対応した複数のGNSS(Global Navigation Satellite System)受信機を有していてもよい。
【0029】
センサ115は、センシングにより得られた環境情報をプロセッサ112に出力する。センサ115は、無人航空機100の状態を測定するセンサを含んでもよい。センサ115は、例えば、温度センサ、湿度センサ、気圧センサ、照度センサ、加速度センサ、角速度センサ、地磁気センサ、超音波センサ、速度センサ、電池残量センサ、積載量センサ、及びモーター回転数センサのうち少なくとも1つを有していてもよい。速度センサは、ピトー管で測定する対気速度及びその補正値から速度を導出するタイプのものであってもよいし、単に時間あたりの位置変化量(移動量)から速度を導出するタイプのものであってもよい。なお、センサ115には、イメージセンサ(カメラ)が含まれてもよい。
【0030】
(1.2)制御サーバの構成
制御サーバ200は、通信部201と、プロセッサ202と、記憶部203と、表示部204と、入力部205とを有する。通信部201、プロセッサ202、記憶部203、表示部204、及び入力部205のそれぞれは、内部バスを介して電気的に相互に接続されている。
【0031】
通信部201は、通信ネットワーク10を介して通信を行う。例えば、通信部201は、位置情報及び/又は環境情報を、無人航空機100、外部サーバ300、及び観測装置500のうち少なくとも1つから受信してもよい。
【0032】
プロセッサ202は、記憶部203に記憶されたプログラムを実行することにより、制御サーバ200における各種の処理・制御を行う。プロセッサ202は、後述の各種の処理を実行する。プロセッサ202は、無人航空機100を制御するための指示を生成し、当該指示を通信部201から無人航空機100に送信してもよい。
【0033】
記憶部203は、プログラムを記憶するとともに、プロセッサ202の作業領域として用いられる。記憶部203は、無人航空機100が飛行経路を制御・管理するための情報(例えば、3次元地図)を記憶していてもよい。
【0034】
表示部204は、プロセッサ202の制御下で各種の表示を行う。例えば、表示部204は、無人航空機100の飛行経路及び現在位置等を表示する。
【0035】
入力部205は、ユーザからの操作を受け付け、操作内容を示す信号をプロセッサ202に出力する。
【0036】
(1.3)端末の構成
端末400は、通信部401と、プロセッサ402と、記憶部403と、表示部404と、入力部405とを有する。通信部401、プロセッサ402、記憶部403、表示部404、及び入力部405のそれぞれは、内部バスを介して電気的に相互に接続されている。
【0037】
通信部401は、通信ネットワーク10を介して通信を行う。例えば、通信部401は、位置情報及び/又は環境情報を、無人航空機100、外部サーバ300、及び観測装置500のうち少なくとも1つから受信してもよい。
【0038】
プロセッサ402は、記憶部403に記憶されたプログラムを実行することにより、端末400における各種の処理・制御を行う。プロセッサ402は、無人航空機100を制御するための指示を生成し、当該指示を通信部401から無人航空機100に送信してもよい。
【0039】
記憶部403は、プログラムを記憶するとともに、プロセッサ402の作業領域として用いられる。記憶部403は、無人航空機100が飛行経路を制御・管理するための情報(例えば、3次元地図)を記憶していてもよい。
【0040】
表示部404は、プロセッサ402の制御下で各種の表示を行う。例えば、表示部404は、無人航空機100の飛行経路及び現在位置等を表示する。
【0041】
入力部405は、ユーザからの操作を受け付け、操作内容を示す信号をプロセッサ402に出力する。
【0042】
(2)制御システムの動作
次に、本実施形態に係る制御システム1の動作について説明する。
【0043】
本実施形態において、無人航空機100を制御するための制御サーバ200のプロセッサ202は、無人航空機100の現在位置を示す位置情報及び無人航空機100の周囲環境を示す環境情報を取得する取得処理と、無人航空機100の飛行中(すなわち、無人航空機100の飛行開始後)において、位置情報及び環境情報に基づいて、無人航空機100の現在位置から目的地までの飛行経路の少なくとも一部を最適化するための最適化処理と、を実行する。これにより、無人航空機100の飛行中において無人航空機100の周囲の環境が動的に変化しても、状況に合わせて飛行経路を最適化できる。その結果、リアルタイムな状況変化に合わせて無人航空機100の飛行経路を最適化することが可能になる。
【0044】
取得処理において、プロセッサ202は、無人航空機100、外部サーバ300(Web API)、及び観測装置500から、同種の情報・パラメータを取得し得る。このような同種の情報・パラメータを取得した場合、プロセッサ202は、信頼できる情報・パラメータを選択してもよい。例えば、プロセッサ202は、外部サーバ300から取得した情報・パラメータを優先してもよいし、無人航空機100や観測装置500から取得した実測値を優先してもよい。プロセッサ202は、取得元に関わらず、最新の情報・パラメータを優先してもよい。
【0045】
上述のように、取得処理により取得される環境情報は、それぞれ位置と対応付けられた複数の環境パラメータを含む。当該複数の環境パラメータは、障害物に関する第1パラメータ、電波環境に関する第2パラメータ、風に関する第3パラメータ、及び天候に関する第4パラメータのうち少なくとも1つを含んでもよい。これらのパラメータは、時間の経過に応じて変化し得る動的なパラメータである。よって、このようなパラメータに基づいて最適化処理を実行することにより、リアルタイムな状況変化に合わせて無人航空機100の飛行経路を最適化することが可能になる。
【0046】
最適化処理には、組合せ最適化問題を解くための最適化手法を利用できる。例えば、ヒューリスティクスと呼ばれる各種手法(量子アニーリング、量子モンテカルロ法、シミュレーテッドアニーリング、タブーサーチ、及び遺伝的アルゴリズム)のうち少なくとも1つの最適化手法を用いてもよい。なお、組合せ最適化問題の問題規模は、「制御対象の無人航空機100の数」×「各無人航空機100の経路候補の数」により定められてもよい。
【0047】
上述のように、取得処理により取得される位置情報は、無人航空機100が位置する緯度、経度、及び高度のそれぞれの情報を含む3次元の位置情報であってもよい。プロセッサ202は、最適化処理において、3次元地図情報に基づいて飛行経路の少なくとも一部を最適化してもよい。これにより、水平方向における飛行経路だけではなく、垂直方向における飛行経路も最適化することが可能になる。
【0048】
プロセッサ202は、複数の無人航空機100を対象として最適化処理を行ってもよい。その場合、プロセッサ202は、最適化処理において、複数の無人航空機100のそれぞれについて、環境情報(複数の環境パラメータ)に基づいて複数の候補経路を生成する候補生成処理と、当該複数の無人航空機100間で互いに衝突しない候補経路を選択する選択処理と、を実行してもよい。これにより、複数の無人航空機100のそれぞれについて、衝突を避けつつ最適な飛行距離を導出可能になる。
【0049】
本実施形態において、取得処理は、無人航空機100の飛行開始後において、位置情報及び環境情報のそれぞれを周期的に取得する処理を含んでもよい。これにより、無人航空機100の飛行中におけるリアルタイムな状況変化に合わせて最適化処理を行うことが可能になる。なお、プロセッサ202は、取得処理において、位置情報及び環境情報を同じ周期で取得してもよいし、互いに異なる周期で取得してもよい。また、「周期的」とは、固定の周期に限らず、可変の周期であってもよい。
【0050】
本実施形態において、プロセッサ202は、無人航空機100の飛行開始前において、無人航空機100の飛行開始位置から目的地までの初期経路を生成する初期経路生成処理をさらに実行してもよい。初期経路の生成には、上述のような最適化処理(例えば、ヒューリスティクスと呼ばれる各種手法)を適用してもよい。無人航空機100の飛行中における最適化処理は、生成された初期経路の少なくとも一部を周期的に更新する経路更新処理を含む。無人航空機100の飛行開始前に初期経路を生成することにより、十分な時間をかけて適切な初期経路を生成可能になる。そして、無人航空機100の飛行中において初期経路の少なくとも一部を周期的に更新することにより、リアルタイムな状況変化に合わせた経路更新(経路修正)を行うことが可能になる。なお、取得処理における情報取得周期は、最適化処理における経路更新周期以下であることが好ましい。また、経路更新周期を短く設定するほど、よりリアルタイムな制御が可能になるが、経路更新周期の最小値は、処理負荷(計算量)に応じて決まる。そのため、プロセッサ202は、リアルタイム性の要件及び処理負荷(計算量)の要件に基づいて経路更新周期を設定することが好ましい。
【0051】
経路更新処理は、無人航空機100の現在位置から目的地までの初期経路を周期的に更新する処理であってもよい。すなわち、プロセッサ202は、無人航空機100の現在位置から目的地までの全体的な経路を周期的に更新する処理を行ってもよい。これにより、各更新時における最適化処理の処理負荷(計算量)が大きくなるものの、より最適な飛行経路を導出可能になる。
【0052】
或いは、経路更新処理は、無人航空機100の現在位置から、当該現在位置と目的地との間の途中位置までの初期経路を周期的に更新する処理であってもよい。すなわち、プロセッサ202は、無人航空機100の現在位置から途中位置までの部分的な経路を周期的に更新する処理を行ってもよい。このように、途中位置までの初期経路を周期的に更新することにより、目的地までの初期経路を周期的に更新する場合に比べて、各更新時における最適化処理の処理負荷(計算量)を削減可能になる。そのため、短い周期で経路更新を行うことも可能になり、リアルタイムな状況変化に合わせた経路更新(経路修正)を行うことが容易になる。
【0053】
或いは、経路更新処理は、周期的な経路更新に代えて、所定のイベントの発生に応じて経路更新(すなわち、イベントトリガ型の経路更新)を行うものであってもよい。具体的には、プロセッサ202は、無人航空機100の飛行開始位置から目的地までの初期経路を時系列位置により構成した経路計画に対する無人航空機100の飛行状況の差異を検知したことに基づいて、最適化処理を実行してもよい。これにより、周期的な経路更新を行う場合に比べて、最適化処理を実行する回数を削減可能になり、最適化処理に伴う処理負荷(計算量)を削減可能になる。また、無人航空機100の飛行状況を経路計画に復帰させることが容易になる。
【0054】
(2.1)初期経路生成処理
図2は、本実施形態に係る初期経路生成処理を示す図である。プロセッサ202は、無人航空機100の飛行開始前において初期経路生成処理を実行する。
【0055】
図2に示すように、ステップST11において、プロセッサ202は、環境情報を取得する取得処理を実行する。ここで取得される環境情報は、無人航空機100の出発地(飛行開始地点)から目的地(飛行終了地点)までの範囲についての環境情報であってもよい。
【0056】
ステップST12において、プロセッサ202は、ステップST11で取得した環境情報に基づいて、無人航空機100の出発地から目的地までの飛行経路の最適化処理を実行し、初期経路を生成する。
【0057】
図3は、本実施形態に係る初期経路生成処理における取得処理(
図2のステップST11)の具体例を示す図である。なお、以下の図面の記載において、便宜上、2次元地図(水平方向)上での処理を図示しているが、3次元地図上での処理としてもよい。また、ネットワーク状のグラフ構造をもつ2次元地図及び/又は3次元地図上での処理としてもよい。
【0058】
図3(a)乃至
図3(d)に示すように、取得処理により取得される環境情報は、それぞれ位置と対応付けられた複数の環境パラメータを含む。当該複数の環境パラメータは、障害物に関する第1パラメータ、電波環境に関する第2パラメータ、風に関する第3パラメータ、及び天候に関する第4パラメータのうち少なくとも1つを含む。例えば、
図3(a)に示す第1パラメータは、障害物の有る位置を示している。
図3(b)に示す第2パラメータは、電波環境の悪い位置を示している。
図3(c)に示す第3パラメータは、風の強い位置を示している。
図3(d)に示す第4パラメータは、天候の悪い位置を示している。
【0059】
図3(e)に示すように、プロセッサ202は、
図3(a)乃至
図3(d)に示す環境情報(各環境パラメータ)を重ね合わせることにより、総合的な環境を示す総合環境情報を導出する。このような総合環境情報を導出することにより、環境の悪い位置をなるべく含まない飛行経路を候補経路として生成することが可能になる。
【0060】
図4は、本実施形態に係る初期経路生成処理における最適化処理(
図2のステップST12)の具体例を示す図である。ここでは、無人航空機A及び無人航空機Bの2台の無人航空機100のそれぞれの初期経路を最適化処理により生成する一例について説明する。但し、初期経路の生成対象とする無人航空機100は3台以上であってもよい。無人航空機Aの出発地が無人航空機Bの目的地(到着地)であって、無人航空機Aの目的地(到着地)が無人航空機Bの出発地であるものとする。
【0061】
図4に示すように、プロセッサ202は、無人航空機A及び無人航空機Bのそれぞれについて、複数の環境パラメータの重ね合わせである総合環境情報に基づいて、複数の候補経路を生成する候補生成処理を実行する。プロセッサ202は、環境の悪い位置を含まない飛行経路を候補経路として生成してもよい。
図4において、プロセッサ202が、無人航空機A及び無人航空機Bのそれぞれについて3つの候補経路を生成する一例を示している。そのため、生成される候補経路の総数は6つである。プロセッサ202は、無人航空機A及び無人航空機Bのそれぞれについて4つ以上の候補経路を生成してもよい。
【0062】
なお、
図4において、無人航空機Aの各候補経路(候補経路#1乃至#3)は、A1の位置からA9の位置の順に移動する経路である。A1乃至A9のそれぞれには、目標とする到着時刻(通過時刻)が対応付けられていてもよい。すなわち、初期経路(候補経路)は、時系列位置により構成された経路計画であってもよい。同様に、無人航空機Bの各候補経路(候補経路#1乃至#3)は、B1の位置からB9の位置の順に移動する経路である。B1乃至B9のそれぞれには、目標とする到着時刻(通過時刻)が対応付けられていてもよい。
【0063】
そして、プロセッサ202は、無人航空機A及び無人航空機B間で互いに衝突しない候補経路を初期経路として選択する。
図4において、プロセッサ202が、無人航空機Aについて候補経路#1を初期経路として選択するとともに、無人航空機Bについて候補経路#3を初期経路として選択する一例を示している。
【0064】
プロセッサ202は、このようにして生成された各初期経路を、記憶部203に記憶させてもよいし、表示部204に表示させてもよい。プロセッサ202は、記憶した各初期経路に基づいて各無人航空機を適宜制御してもよいし、各初期経路を対応する無人航空機に通知及び設定してもよいし、各初期経路を端末400に通知して端末400上で表示させてもよい。
【0065】
(2.2)経路更新処理
図5は、本実施形態に係る経路更新処理を示す図である。プロセッサ202は、無人航空機100の飛行中において経路更新処理を実行する。
【0066】
図5に示すように、ステップST21において、プロセッサ202は、無人航空機100の現在位置を示す位置情報及び無人航空機100の周囲環境を示す環境情報を取得する取得処理を実行する。
【0067】
ステップST22において、プロセッサ202は、ステップST21で今回取得した情報・パラメータを用いて、前回取得した情報・パラメータの少なくとも一部を更新するパラメータ更新処理を実行する。
【0068】
ステップST23において、プロセッサ202は、経路更新のための最適化処理を実行するか否かを判定する。プロセッサ202は、周期的な経路更新処理を実行する場合、経路更新周期に応じたタイミングになった際に、最適化処理を実行すると判定する。プロセッサ202は、イベントトリガ型の経路更新処理を実行する場合、経路計画に対する無人航空機100の飛行状況の差異に基づいて、最適化処理を実行すると判定する。なお、周期的な経路更新処理とイベントトリガ型の経路更新処理とを併用してもよい。例えば、プロセッサ202は、周期的な経路更新処理における経路更新周期を長い周期に設定しつつ、経路計画に対する無人航空機100の飛行状況の差異に基づいて最適化処理を実行してもよい。ステップST23で「NO」の場合、プロセッサ202は、処理をステップST21に戻す。一方、ステップST23で「YES」の場合、プロセッサ202は、処理をステップST24に進める。
【0069】
ステップST24において、プロセッサ202は、ステップST22で更新した情報・パラメータに基づいて、無人航空機100の飛行経路を最適化するための最適化処理を実行し、経路を更新する。プロセッサ202は、最適化処理において、各無人航空機について、ステップST22で更新した複数の環境パラメータの重ね合わせである総合環境情報に基づいて複数の候補経路を生成し、環境の悪い位置を含まない候補経路を選択してもよい。ここで、プロセッサ202は、無人航空機100の現在位置から目的地までの初期経路を更新してもよい。すなわち、プロセッサ202は、無人航空機100の現在位置から目的地までの全体的な経路を更新してもよい。或いは、プロセッサ202は、無人航空機100の現在位置から、当該現在位置と目的地との間の途中位置までの初期経路を更新してもよい。
【0070】
プロセッサ202は、このような更新により確定した飛行経路を、記憶部203に記憶させてもよいし、表示部204に表示させてもよい。プロセッサ202は、記憶した飛行経路に基づいて無人航空機100を適宜制御してもよいし、飛行経路を無人航空機100に通知及び設定してもよいし、飛行経路を端末400に通知して端末400上で表示させてもよい。
【0071】
(2.2.1)周期的な経路更新処理
周期的な経路更新処理の具体例について説明する。
【0072】
(2.2.1.1)目的地までの周期的な経路更新処理
図6及び
図7は、本実施形態に係る、目的地までの周期的な経路更新処理の具体例を示す図である。以下の図面の記載において、各周期をSと表記し、プロセッサ202はS0からSnの順に処理を実行するものとする。また、プロセッサ202は、周期Sごとに環境情報及び位置情報を更新するものとする。
【0073】
図6に示すように、周期S0において、プロセッサ202は、無人航空機Aの飛行経路を初期経路に沿ってA3の位置まで確定させるとともに、無人航空機Bの飛行経路を初期経路に沿ってB3の位置まで確定させる。無人航空機AについてA4乃至A9の経路は未確定の経路(最適化対象の経路)であり、無人航空機BについてB4乃至B9の経路は未確定の経路(最適化対象の経路)である。周期S0において、プロセッサ202は、取得した環境情報(総合環境情報)に基づいて、周期S1に向けて最適化処理を実行する。最適化処理における経路の終点は目的地に設定されている。環境情報は、実測値であってもよいし、予測値であってもよい。予測値を用いる場合の詳細については後述する。
【0074】
周期S1において、プロセッサ202は、周期S0での最適化処理により、無人航空機Aの飛行経路をA6の位置まで確定させるとともに、無人航空機Bの飛行経路をB6の位置まで確定させる。無人航空機AについてA7乃至A11の経路は未確定の経路(最適化対象の経路)であり、無人航空機BについてB4乃至B12の経路は未確定の経路(最適化対象の経路)である。周期S1において、プロセッサ202は、取得した環境情報(総合環境情報)に基づいて、周期S2に向けて最適化処理を実行する。最適化処理における経路の終点は目的地に設定されている。
【0075】
図7に示すように、周期S2において、プロセッサ202は、周期S1での最適化処理により、無人航空機Aの飛行経路をA9の位置まで確定させるとともに、無人航空機Bの飛行経路をB9の位置まで確定させる。無人航空機AについてA10乃至A11の経路は未確定の経路(最適化対象の経路)であり、無人航空機BについてB11乃至B12の経路は未確定の経路(最適化対象の経路)である。周期S2において、プロセッサ202は、取得した環境情報(総合環境情報)に基づいて、周期S3に向けて最適化処理を実行する。最適化処理における経路の終点は目的地に設定されている。
【0076】
周期S3において、プロセッサ202は、周期S2での最適化処理により、無人航空機Aの飛行経路をA11の位置まで確定させるとともに、無人航空機Bの飛行経路をB12の位置まで確定させる。
【0077】
(2.2.1.2)途中位置までの周期的な経路更新処理
図8及び
図9は、本実施形態に係る、途中位置までの周期的な経路更新処理の具体例を示す図である。
【0078】
図8に示すように、周期S0において、プロセッサ202は、無人航空機Aの飛行経路を初期経路に沿ってA3の位置まで確定させるとともに、無人航空機Bの飛行経路を初期経路に沿ってB3の位置まで確定させる。無人航空機Aについて、A4乃至A6の経路は未確定の経路(最適化対象の経路)であり、A7乃至A9の経路は初期経路である。無人航空機Bについて、B4乃至B6の経路は未確定の経路(最適化対象の経路)であり、B7乃至B9の経路は初期経路である。周期S0において、プロセッサ202は、取得した環境情報(総合環境情報)に基づいて、周期S1に向けて最適化処理を実行する。最適化処理における経路の終点は途中位置に設定されている。
【0079】
周期S1において、プロセッサ202は、周期S0での最適化処理により、無人航空機Aの飛行経路をA6の位置まで確定させるとともに、無人航空機Bの飛行経路をB6の位置まで確定させる。無人航空機Aについて、A7乃至A9の経路は未確定の経路(最適化対象の経路)であり、A10乃至A11の経路は初期経路である。無人航空機Bについて、B7乃至B9の経路は未確定の経路(最適化対象の経路)であり、B10乃至B12の経路は初期経路である。周期S1において、プロセッサ202は、取得した環境情報(総合環境情報)に基づいて、周期S2に向けて最適化処理を実行する。最適化処理における経路の終点は途中位置に設定されている。
【0080】
図9に示すように、周期S2において、プロセッサ202は、周期S1での最適化処理により、無人航空機Aの飛行経路をA9の位置まで確定させるとともに、無人航空機Bの飛行経路をB9の位置まで確定させる。無人航空機Aについて、A10乃至A11の経路は未確定の経路(最適化対象の経路)であり、無人航空機Bについて、B10乃至B12の経路は未確定の経路(最適化対象の経路)である。周期S2において、プロセッサ202は、取得した環境情報(総合環境情報)に基づいて、周期S3に向けて最適化処理を実行する。
【0081】
周期S3において、プロセッサ202は、周期S2での最適化処理により、無人航空機Aの飛行経路をA11の位置まで確定させるとともに、無人航空機Bの飛行経路をB12の位置まで確定させる。
【0082】
(2.2.2)経路計画との差異の発生に応じた経路更新処理
本実施形態に係る、経路計画との差異の発生に応じた経路更新処理の具体例について説明する。
図10は、当該具体例を示す図である。なお、プロセッサ202は、無人航空機100の飛行開始前において、無人航空機100の飛行開始位置から目的地までの初期経路を時系列位置により構成した経路計画を生成する生成処理を実行しているものとする。例えば、初期経路における各位置に、目標とする到着時刻(通過時刻)が対応付けられている。
【0083】
図10に示すように、ステップST31において、プロセッサ202は、無人航空機100の飛行中において、取得した位置情報に基づいて、経路計画に対する無人航空機100の飛行状況の差異(以下、「経路計画からのズレ」と呼ぶ)を検知する。経路計画からのズレとは、予定された経路と実際の飛行経路とのズレであってもよいし、予定された時間に対する遅れ又は進みであってもよい。
【0084】
ステップST32において、プロセッサ202は、経路計画からのズレが許容範囲内であるか否かを判定する。例えば、プロセッサ202は、ひとつ前の最適化処理の実行時のコスト値(定式化した式に最適化結果を代入して得られる値)を記憶部203に保存しておく。プロセッサ202は、ズレが生じたとき、現在実行中の経路及びズレが生じた経路の値を用いてコストを計算し、保存しておいたコスト値を上回るか否かを判定する。上回る場合、プロセッサ202は、ズレが許容できないと判断する。一方、現状維持又は下回る場合、プロセッサ202は、ズレが許容できると判断する。ステップST32で「YES」の場合、プロセッサ202は、処理をステップST33に進める。ステップST32で「NO」の場合、プロセッサ202は、処理をステップST36に進める。
【0085】
ステップST33において、プロセッサ202は、経路計画へ復帰させるように無人航空機100を制御する復帰処理を実行する。例えば、プロセッサ202は、予定された経路と一致させるように無人航空機100の位置(移動方向)を調整してもよいし、予定された時間と一致させるように速度を調整(加速又は減速)してもよい。これにより、復帰可能である場合は、経路計画へ復帰させることが可能である。
【0086】
ステップST34において、プロセッサ202は、経路計画への復帰が可能であるか否かを判定する。ステップST34で「YES」の場合、ステップST35において、プロセッサ202は、経路計画へ復帰させ、処理を終了する。ステップST34で「NO」の場合、プロセッサ202は、処理をステップST36に進める。
【0087】
ステップST36において、プロセッサ202は、取得・更新した情報・パラメータに基づいて、無人航空機100の飛行経路を最適化するための最適化処理を実行し、経路(飛行計画)を更新する。このときの最適化は、無人航空機100の経路変更が最低限になるようにしてもよい。例えば、プロセッサ202は、ズレが生じた状態で飛行すると衝突が予想される数台の無人航空機100の経路のみを再計算してもよい。プロセッサ202は、ズレが生じた無人航空機100の移動速度を変更して、他の無人航空機の経路は変更しないようにしてもよい。
【0088】
なお、ステップST36で無人航空機100の計画変更が不可能な場合、プロセッサ202は、緊急着陸モードへの切り替え又は手動制御モードへの切り替え等の非常時動作を行う。計画変更が不可能な場合とは、例えば、無人航空機100が故障したため、計画通り飛行できない場合であってもよいし、狭い空間を複数の無人航空機100が飛行する場合等、どう計画変更しても制約を満たさない(衝突する、移動距離が長くなりすぎて電池が切れる)場合であってもよい。
【0089】
本動作例において、経路計画との差異の発生に応じて、イベントトリガ型の経路更新処理を実行する一例について説明した。しかしながら、プロセッサ202は、無人航空機100、観測装置500、及び外部サーバ300から取得した環境情報(環境パラメータ)が所定条件を満たしたことに応じて、イベントトリガ型の経路更新処理を実行してもよい。所定条件とは、例えば、予定外に通れない空間が発生したこと、予報に反して天候が雨になったこと、風が想定以上に強くなったこと、セルラ通信網が突然断線したこと、又は障害物が発生したことであってもよい。
【0090】
(2.3)表示制御
本実施形態に係る表示制御の具体例について説明する。
図11及び
図12は、当該具体例を示す図である。ここでは、途中位置までの周期的な経路更新を行う場合(
図8及び
図9参照)を例に挙げて説明する。
【0091】
図11及び
図12に示すように、プロセッサ202は、無人航空機100の行く先の経路が次々と確定していく様子を表示部204及び/又は表示部404に表示させる。例えば、プロセッサ202は、初期経路が更新される度に、更新により確定された飛行経路を表示部204及び/又は表示部404に表示させるための処理を実行する。これにより、ユーザは、動的な経路更新(すなわち、最新の確定した経路)を表示に基づいて把握可能になる。
【0092】
例えば、プロセッサ202は、各周期(周期S0乃至S3)において、確定した経路、未確定の経路、初期経路、及び無人航空機100の現在位置のそれぞれを互いに異なる態様で表示する。例えば、プロセッサ202は、確定した経路、未確定の経路、初期経路、及び無人航空機100の現在位置のそれぞれを、互いに異なる色又はマークで表示してもよい。これにより、ユーザは、確定した経路、未確定の経路、初期経路、及び無人航空機100の現在位置のそれぞれを容易に把握可能になる。
【0093】
(3)制御システムの動作の第1変更例
次に、上述の実施形態に係る制御システム1の動作の第1変更例について説明する。
【0094】
本変更例において、プロセッサ202は、初期経路生成処理(
図2参照)を実行しない。すなわち、プロセッサ202は、無人航空機100の飛行開始前に初期経路を生成せずに、途中位置までの経路最適化を周期的に実行する。具体的には、プロセッサ202は、無人航空機100の飛行中において、無人航空機100の現在位置から途中位置までの飛行経路を周期的に生成する経路生成処理を実行する。無人航空機100の飛行中における最適化処理の内容については上述の実施形態と同様である。本変更例によれば、予定経路全体が決まらないものの、初期経路の生成に伴う処理負荷を削減可能になる。
【0095】
【0096】
図13に示すように、周期S0において、プロセッサ202は、無人航空機Aの飛行経路をA3の位置まで確定させるとともに、無人航空機Bの飛行経路をB3の位置まで確定させる。無人航空機AについてA4乃至A6の経路は未確定の経路(最適化対象の経路)であり、無人航空機BについてB4乃至B6の経路は未確定の経路(最適化対象の経路)である。プロセッサ202は、未確定の経路(最適化対象の経路)の終点として、最適化時間内に無人航空機100が移動できる目的地に近い位置を設定する。また、初期経路を生成しないため、当該終点の先の経路が存在していない。周期S0において、プロセッサ202は、取得した環境情報(総合環境情報)に基づいて、周期S1に向けて最適化処理を実行する。
【0097】
周期S1において、プロセッサ202は、周期S0での最適化処理により、無人航空機Aの飛行経路をA6の位置まで確定させるとともに、無人航空機Bの飛行経路をB6の位置まで確定させる。無人航空機AについてA7乃至A9の経路は未確定の経路(最適化対象の経路)であり、無人航空機BについてB7乃至B9の経路は未確定の経路(最適化対象の経路)である。プロセッサ202は、未確定の経路(最適化対象の経路)の終点として、最適化時間内に無人航空機100が移動できる目的地に近い位置を設定する。また、初期経路を生成しないため、当該終点の先の経路が存在していない。周期S1において、プロセッサ202は、取得した環境情報(総合環境情報)に基づいて、周期S2に向けて最適化処理を実行する。
【0098】
図14に示すように、周期S2において、プロセッサ202は、周期S1での最適化処理により、無人航空機Aの飛行経路をA9の位置まで確定させるとともに、無人航空機Bの飛行経路をB9の位置まで確定させる。無人航空機AについてA10乃至A11の経路は未確定の経路(最適化対象の経路)であり、無人航空機BについてB10乃至B12の経路は未確定の経路(最適化対象の経路)である。ここでは、プロセッサ202は、未確定の経路(最適化対象の経路)の終点として目的地を設定する。周期S2において、プロセッサ202は、取得した環境情報(総合環境情報)に基づいて、周期S3に向けて最適化処理を実行する。
【0099】
周期S3において、プロセッサ202は、周期S2での最適化処理により、無人航空機Aの飛行経路をA11の位置まで確定させるとともに、無人航空機Bの飛行経路をB12の位置まで確定させる。
【0100】
なお、プロセッサ202は、本変更例においても、上述のような表示制御を実行してもよい。プロセッサ202は、無人航空機100の飛行中において、最適化処理により飛行経路が生成される度に、生成された飛行経路を表示部204及び/又は表示部404に表示させるための処理を実行してもよい(
図11及び
図12参照)。
【0101】
(4)制御システムの動作の第2変更例
次に、上述の実施形態に係る制御システム1の動作の第2変更例について説明する。
【0102】
上述の実施形態において、無人航空機100の飛行中におけるイベントトリガ型の経路更新処理(最適化処理)の例として、経路計画との差異の発生に応じた経路更新処理と、環境情報が所定条件を満たしたことに応じた経路更新処理とについて説明した。
【0103】
イベントトリガ型の経路更新処理の他の例として、プロセッサ202は、ユーザ操作に応じた経路更新処理を実行してもよい。プロセッサ202は、飛行開始前の最適化により初期経路を生成した後、無人航空機100の飛行中において、ユーザ(例えば、システム管理者)からの経路最適化操作に応じて経路更新処理を実行してもよい。例えば、一部の無人航空機100がエラーで離脱したので最適化をやり直したい場合、又はエラーを起こした無人航空機100が復旧したので再度全体最適化したい場合等において、ユーザが入力部205又は405を操作(例えば、最適化ボタンを押下)することにより、プロセッサ202が経路更新処理を実行してもよい。
【0104】
(5)制御システムの動作の第3変更例
次に、上述の実施形態に係る制御システム1の動作の第3変更例について説明する。
図15は、本変更例における具体例を示す図である。
【0105】
図15に示すように、上述の実施形態及びその変更例において、プロセッサ202は、取得処理において、最適化処理に要する計算時間の経過後における将来の環境情報を予測モデルにより予測する予測処理を実行してもよい。そして、プロセッサ202は、予測処理により予測された環境情報を用いて最適化処理を実行してもよい。
【0106】
最適化処理は問題規模が大きくなると計算時間が長くなるが、プロセッサ202は、現在の環境情報から、最適化に要する時間の経過後の予測値を生成するモデル(予測モデル)によって予測環境情報を導出し、導出した予測環境情報を用いて最適化処理を実行する。これにより、最適化処理に長時間を要する場合であっても、よりリアルタイムな環境変化に合わせた経路最適化が可能になる。
【0107】
なお、プロセッサ202は、最適化処理の方式及び問題規模に応じて計算時間が変化するため、予測先の将来の時刻も当該計算時間に応じて調整・設定してもよい。
【0108】
また、予測モデルとしては、ディープラーニングに時系列を組み込んだモデル(RNN)で学習したモデルを用いてもよいし、多変量解析の各種手法(重回帰分析、ロジスティック回帰分析、判別分析、決定木)を用いてもよいし、ベイジアンネットワークで学習したモデルを用いてもよい。予測すべき時間ごとに何種類かのモデルを予め生成しておき、プロセッサ202が、予測すべき時間に応じてモデルを使い分けてもよい。
【0109】
(6)制御システムの動作の第4変更例
次に、上述の実施形態に係る制御システム1の動作の第4変更例について説明する。
【0110】
上述の実施形態及びその変更例において、最適化計算や計算結果の送受信にはある程度の時間を要する。そのため、急を要する危機回避行動や外的要因にともなう突発的な状況変化(風に流された、何かにぶつかった等)に対応するため、無人航空機100は、自律的に機器回避行動や経路計画への復帰動作を行える機能を有する。復帰動作には姿勢を元に戻す制御に加え、飛行時間の遅れを取り戻すためにスピードを上げる動作等を含む。無人航空機100の自律制御動作と制御サーバ200からの指示とが競合した場合、無人航空機100は、優先度の高い動作を先に実行し、その後に優先度の低い動作を行う。これにより、無人航空機100の自律制御動作と制御サーバ200からの指示が競合した場合であっても、適切に動作することが可能になる。
【0111】
【0112】
図16に示すように、ステップST41において、無人航空機100のプロセッサ112は、無人航空機100における自律的な運転制御を行う処理を実行し、自律的な運転制御による動作を決定する。
【0113】
ステップST42において、制御サーバ200のプロセッサ202は、最適化処理に基づいて無人航空機100を制御する制御指示を生成し、制御指示を無人航空機100に送信する。このように、ある時間内で、自律的な運転制御による動作の決定と、制御サーバ200からの制御指示の受信とが発生した場合、動作の競合が発生する。具体的には、制御指示による第1動作及び自律的な運転制御による第2動作が競合する。
【0114】
ステップST43において、無人航空機100のプロセッサ112は、制御指示と自律的な運転制御とが競合した場合、制御指示による第1動作及び自律的な運転制御による第2動作のそれぞれの優先度を比較する処理を実行する。優先度は、無人航空機100が行える全タスクに対して予め仕様で規定してもよい。例えば、
5:緊急着陸する
4:姿勢を元に戻す
3:スピードを上げる
2:目的地を変更する
1:周囲を見渡す
といった優先度が設定されるものとする。この例において、優先度「5」の「緊急着陸する」が最高の優先度である。なお、例外的なタスクが生じた場合も、制御サーバ200が優先度を設定して指示することで、優先すべきタスクを無人航空機100側で判断できるようにする。
【0115】
ステップST44において、無人航空機100のプロセッサ112は、制御指示による第1動作及び自律的な運転制御による第2動作のうち、優先度が相対的に高い一方の動作を先に行う。
【0116】
ステップST45において、無人航空機100のプロセッサ112は、制御指示による第1動作及び自律的な運転制御による第2動作のうち、優先度が相対的に低い他方の動作を行う。
【0117】
なお、自律制御による飛行により無人航空機100から制御サーバ200が位置情報の取得ができなくなったとき、制御サーバ200のプロセッサ202は、無人航空機100のロストを検知する。制御サーバ200のプロセッサ202は、ロストを検知した場合、表示部204及び/又は表示部404にエラーを表示させたり、ロスト発生地点を強調表示させたりしてもよい。
【0118】
(7)制御システムの動作の第5変更例
次に、上述の実施形態に係る制御システム1の動作の第5変更例について説明する。
【0119】
上述のように、無人航空機100の位置情報は、無人航空機100に搭載された測位部114及び経路上に設置された観測装置500によって生成される。制御サーバ200のプロセッサ202は、無人航空機100から送られてくる位置情報(座標等)と観測装置500から送られてくる位置情報(座標等)とにズレがないか確認する。ズレがある場合、制御サーバ200のプロセッサ202は、何らかの不具合が発生している可能性があるとみなし、無人航空機100に対してその旨及び次の動作を指示する。この場合、無人航空機100は、制御サーバ200の指示に従い動作する(例えば、緊急着陸等)。
【0120】
【0121】
図17に示すように、ステップST51において、制御サーバ200のプロセッサ202は、取得処理において、無人航空機100に設けられた測位部114により得られる第1位置情報と、無人航空機100の飛行経路の周辺に設けられた観測装置500により得られる第2位置情報とを取得する。第1位置情報は、GNSS位置情報に限らず、無人航空機100に搭載されたカメラにより得られた画像からランドマークや目印(例えば、2次元コード又は3次元コード)を撮影することで位置を特定してもよい。第2位置情報は、カメラやレーダーを使った測位システムや、ビーコンのような特定の位置の通過を検知できるシステム等により得られる位置情報であってもよい。
【0122】
ステップST53において、制御サーバ200のプロセッサ202は、第1位置情報により示される位置と第2位置情報により示される位置との差分に基づいて、無人航空機100における異常を検知する。例えば、制御サーバ200のプロセッサ202は、第1位置情報により示される位置と第2位置情報により示される位置との差分が所定値以上である場合、何らかの不具合が発生したと判断する。なお、制御サーバ200のプロセッサ202は、表示部204にエラーを表示させてもよい。位置のズレないように飛行しているのにズレている場合、無人航空機100における故障が疑われる。システム管理者は、不具合の内容を確認して次の動作を決めてもよい。次の動作は、緊急着陸でもよいし、手動制御モードへの変更でもよい。軽微な位置ずれと判断できる場合、無視して自律的に軌道修正されるのを待ってもよい。
【0123】
ステップST54において、制御サーバ200のプロセッサ202は、無人航空機100に対して、不具合が発生した旨及び次の動作を指示する。
【0124】
(8)制御システムの動作の第6変更例
次に、上述の実施形態に係る制御システム1の動作の第6変更例について説明する。
【0125】
上述の実施形態及びその変更例において、プロセッサ202は、ユーザ(システム利用者)が必要と判断したときに、無人航空機100の制御を手動制御モードに切り替える処理を実行してもよい。例えば、緊急時等における制御方法として、プロセッサ202は、任意の無人航空機100を手動制御モードに変更する操作を入力部205又は入力部405が受け付けたことに応じて、入力部205又は入力部405に対するユーザ(パイロット)操作による無人航空機100の遠隔制御を可能としてもよい。なお、緊急時の例としては、無人航空機100に荷物を載せ忘れたので無人航空機100を連れ戻したい、メンテナンス不備が見つかったので無人航空機100を連れ戻したい、エラーが出ている、無人航空機100の挙動がおかしい、又は優先度の高い別の用途(人命救助、不審者追跡など)で無人航空機100を使うことになったといった場合が挙げられる。手動制御モードにおいて、プロセッサ202は、手動制御モードに移行した無人航空機100に搭載されたカメラにより得られる画像を表示部204又は表示部404に表示させてもよい。プロセッサ202は、手動制御モードに以降させた無人航空機100を経路最適化対象から除外してもよい。
【0126】
(9)制御システムの動作の第7変更例
次に、上述の実施形態に係る制御システム1の動作の第7変更例について説明する。
【0127】
上述の実施形態及びその変更例において、プロセッサ202は、経路更新処理(最適化処理)に要する計算量を削減するための処理を実行してもよい。上述のように、最適化処理における問題規模は、「最適化対象の無人航空機100の数」×「各無人航空機100の経路候補の数」に応じて決まる。そのため、次のような方法により問題規模を削減可能である。
【0128】
プロセッサ202は、複数の無人航空機100のそれぞれが飛行し得る空間を無人航空機100ごとに分けて設定する処理をさらに実行してもよい。例えば、プロセッサ202は、無人航空機100ごとに、経路候補を設定する高度(高度範囲)を分けてもよい。これにより、プロセッサ202は、同一の高度(高度範囲)を飛行する無人航空機100のグループごとに最適化処理を実行することが可能になり、各最適化処理の問題規模を削減できる。
【0129】
プロセッサ202は、経路候補を生成する候補生成処理において、各無人航空機100の複数の候補経路の1つとして最短経路を生成する処理と、最短経路が複数の無人航空機100で互いに交差する場合(すなわち、衝突が発生する可能性がある場合)、複数の候補経路の1つとして代替経路を生成する処理と、を実行してもよい。これにより、1台の無人航空機100に与える経路候補を最小限にすることが可能になる。プロセッサ202は、基本的には最短経路をそのまま採用するが、衝突する可能性のある経路のみ代替経路を生成する。
【0130】
プロセッサ202は、各無人航空機100の複数の候補経路の中から飛行経路を選択する選択処理において、候補経路が複数の無人航空機100間で互いに交差する場合(すなわち、衝突が発生する可能性がある場合)、第1の最適化手法により1つの候補経路を選択する処理と、候補経路が複数の無人航空機100間で互いに交差しない場合、第1の最適化手法に比べて計算量の少ない第2の最適化手法により1つの候補経路を選択する処理と、を実行してもよい。例えば、プロセッサ202は、候補経路が複数の無人航空機100間で互いに交差する場合(すなわち、衝突が発生する可能性がある場合)、第1の最適化手法として量子計算による最適化処理を用いる。これに対し、交差しない場合、プロセッサ202は、第2の最適化手法として古典計算による最適化処理を用いる。
【0131】
(10)その他の実施形態
上述の実施形態に係る制御システム1の動作において、各種の処理を制御サーバ200のプロセッサ202が主として実行する一例について主として説明した。しかしながら、制御サーバ200のプロセッサ202に代えて又は制御サーバ200のプロセッサ202に加えて、上述の処理の少なくとも一部を無人航空機100のプロセッサ112及び/又は端末400のプロセッサ402が実行してもよい。また、これらのプロセッサ112、202、及び402による分散コンピューティングにより上述の処理を実行してもよい。
【0132】
上述の各変更例は、別個独立に実施する場合に限らず、2以上の変更例を組み合わせて実施可能である。また、上述の実施形態及び各変更例に係る各動作フローにおいて、1つの動作フローの一部のステップを他の動作フローに追加してもよいし、1つの動作フローの一部のステップを他の動作フローの一部のステップと置換してもよい。
【0133】
上述の実施形態に係る各処理をコンピュータに実行させるプログラムが提供されてもよい。プログラムは、コンピュータ読取り可能媒体に記録されていてもよい。コンピュータ読取り可能媒体を用いれば、コンピュータにプログラムをインストールすることが可能である。ここで、プログラムが記録されたコンピュータ読取り可能媒体は、非一過性の記録媒体であってもよい。非一過性の記録媒体は、特に限定されるものではないが、例えば、CD-ROMやDVD-ROM等の記録媒体であってもよい。
【0134】
以上、図面を参照して実施形態について詳しく説明したが、具体的な構成は上述のものに限られることはなく、要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【符号の説明】
【0135】
1 :制御システム
10 :通信ネットワーク
100 :無人航空機
110 :コントローラ
111 :通信部
112 :プロセッサ
113 :記憶部
114 :測位部
115 :センサ
200 :制御サーバ
201 :通信部
202 :プロセッサ
203 :記憶部
204 :表示部
205 :入力部
300 :外部サーバ
400 :端末
401 :通信部
402 :プロセッサ
403 :記憶部
404 :表示部
405 :入力部
500 :観測装置