(57)【特許請求の範囲】
【請求項１】
第１の無人航空機と、
前記第１の無人航空機の飛行中に当該第１の無人航空機の近くを飛行し、風に関する風情報を取得可能な第２の無人航空機と、
前記第１の無人航空機の位置に関する第１位置情報を取得する第１位置情報取得手段と、
前記第２の無人航空機の位置に関する第２位置情報を取得する第２位置情報取得手段と、
前記第１位置情報と前記第２位置情報とに基づいて取得される、前記第２の無人航空機が前記第１の無人航空機の風上側にいる場合の前記風情報に基づいて、前記第１の無人航空機の飛行を制御する飛行制御手段と、
を含むことを特徴とする無人航空機制御システム。
【請求項２】
第１の無人航空機と、
前記第１の無人航空機の飛行中に当該第１の無人航空機の近くを飛行し、風向きに関する情報を含む風情報を取得可能な第２の無人航空機と、
前記第１の無人航空機の位置に関する第１位置情報を取得する第１位置情報取得手段と、
前記第２の無人航空機の位置に関する第２位置情報を取得する第２位置情報取得手段と、
前記風情報が示す風向きと、前記第１位置情報が示す位置と前記第２位置情報が示す位置との間の方向と、に基づいて、前記第１の無人航空機の飛行を制御する飛行制御手段と、
を含むことを特徴とする無人航空機制御システム。
【請求項３】
第１の無人航空機と、
前記第１の無人航空機の飛行中に当該第１の無人航空機の近くを飛行し、風向きに関する情報を含む風情報が示す風向きの変化が閾値未満である場合は前記風情報を送信せず、前記風情報が示す風向きの変化が閾値以上である場合に前記風情報を送信する第２の無人航空機と、
前記風情報が示す風向きの変化が閾値以上である場合に送信された前記風情報に基づいて、前記第１の無人航空機の飛行を制御する飛行制御手段と、
を含むことを特徴とする無人航空機制御システム。
【請求項４】
第１の無人航空機と、
前記第１の無人航空機の飛行中に当該第１の無人航空機の近くを飛行し、風に関する風情報を取得可能な第２の無人航空機と、
前記第１の無人航空機が飛行する場所の風に関する統計情報を取得する統計情報取得手段と、
前記第２の無人航空機により取得された前記風情報と、前記統計情報と、に基づいて、前記第１の無人航空機の飛行を制御する飛行制御手段と、
を含むことを特徴とする無人航空機制御システム。
【請求項５】
前記第１の無人航空機は、複数の飛行モードの何れかに基づいて飛行し、
前記飛行制御手段は、前記風情報に基づいて、前記第１の無人航空機の飛行モードを切り替える、
ことを特徴とする請求項１〜４の何れかに記載の無人航空機制御システム。
【請求項６】
前記無人航空機制御システムは、前記風情報に基づいて、前記第１の無人航空機に対する外力に関する予測を行う外力予測手段を更に含み、
前記飛行制御手段は、前記外力予測手段の予測結果に基づいて、前記第１の無人航空機の飛行を制御する、
ことを特徴とする請求項１〜５の何れかに記載の無人航空機制御システム。
【請求項７】
前記飛行制御手段は、前記外力予測手段の予測結果が示す外力の方向に基づいて、前記第１の無人航空機の飛行を制御する、
ことを特徴とする請求項６に記載の無人航空機制御システム。
【請求項８】
前記無人航空機制御システムは、前記風情報に基づいて、前記第１の無人航空機が飛行する場所の今後の風に関する予測を行う風予測手段を更に含み、
前記飛行制御手段は、前記風予測手段の予測結果に基づいて、前記第１の無人航空機の飛行を制御する、
ことを特徴とする請求項１〜７の何れかに記載の無人航空機制御システム。
【請求項９】
第１の無人航空機の飛行中に当該第１の無人航空機の近くを飛行し、風に関する風情報を取得可能な第２の無人航空機により前記風情報を取得する風情報取得ステップと、
前記第１の無人航空機の位置に関する第１位置情報を取得する第１位置情報取得ステップと、
前記第２の無人航空機の位置に関する第２位置情報を取得する第２位置情報取得ステップと、
前記第１位置情報と前記第２位置情報とに基づいて取得される、前記第２の無人航空機が前記第１の無人航空機の風上側にいる場合の前記風情報に基づいて、前記第１の無人航空機の飛行を制御する飛行制御ステップと、
を含むことを特徴とする無人航空機制御方法。
【請求項１０】
第１の無人航空機の飛行中に当該第１の無人航空機の近くを飛行し、風向きに関する情報を含む風情報を取得可能な第２の無人航空機により前記風情報を取得する風情報取得ステップと、
前記第１の無人航空機の位置に関する第１位置情報を取得する第１位置情報取得ステップと、
前記第２の無人航空機の位置に関する第２位置情報を取得する第２位置情報取得ステップと、
前記風情報が示す風向きと、前記第１位置情報が示す位置と前記第２位置情報が示す位置との間の方向と、に基づいて、前記第１の無人航空機の飛行を制御する飛行制御ステップと、
を含むことを特徴とする無人航空機制御方法。
【請求項１１】
第１の無人航空機の飛行中に当該第１の無人航空機の近くを飛行し、風向きに関する情報を含む風情報が示す風向きの変化が閾値未満である場合は前記風情報を送信せず、前記風情報が示す風向きの変化が閾値以上である場合に前記風情報を送信する第２の無人航空機により前記風情報を取得する風情報取得ステップと、
前記風情報が示す風向きの変化が閾値以上である場合に送信された前記風情報に基づいて、前記第１の無人航空機の飛行を制御する飛行制御ステップと、
を含むことを特徴とする無人航空機制御方法。
【請求項１２】
第１の無人航空機の飛行中に当該第１の無人航空機の近くを飛行し、風に関する風情報を取得可能な第２の無人航空機により前記風情報を取得する風情報取得ステップと、
前記第１の無人航空機が飛行する場所の風に関する統計情報を取得する統計情報取得ステップと、
前記第２の無人航空機により取得された前記風情報と、前記統計情報と、に基づいて、前記第１の無人航空機の飛行を制御する飛行制御ステップと、
を含むことを特徴とする無人航空機制御方法。
【請求項１３】
第１の無人航空機の位置に関する第１位置情報を取得する第１位置情報取得手段、
第１の無人航空機の飛行中に当該第１の無人航空機の近くを飛行し、風に関する風情報を取得可能な第２の無人航空機の位置に関する第２位置情報を取得する第２位置情報取得手段、
前記第１位置情報と前記第２位置情報とに基づいて取得される、前記第２の無人航空機が前記第１の無人航空機の風上側にいる場合の前記風情報に基づいて、前記第１の無人航空機の飛行を制御する飛行制御手段、
としてコンピュータを機能させるためのプログラム。
【請求項１４】
第１の無人航空機の位置に関する第１位置情報を取得する第１位置情報取得手段、
前記第１の無人航空機の飛行中に当該第１の無人航空機の近くを飛行し、風に関する風情報を取得可能な第２の無人航空機の位置に関する第２位置情報を取得する第２位置情報取得手段、
前記風情報が示す風向きと、前記第１位置情報が示す位置と前記第２位置情報が示す位置との間の方向と、に基づいて、前記第１の無人航空機の飛行を制御する飛行制御手段、
としてコンピュータを機能させるためのプログラム。
【請求項１５】
第１の無人航空機の飛行中に当該第１の無人航空機の近くを飛行し、風向きに関する情報を含む風情報が示す風向きの変化が閾値未満である場合は前記風情報を送信せず、前記風情報が示す風向きの変化が閾値以上である場合に前記風情報を送信する第２の無人航空機により、前記風情報が示す風向きの変化が閾値以上である場合に送信された前記風情報に基づいて、前記第１の無人航空機の飛行を制御する飛行制御手段、
としてコンピュータを機能させるためのプログラム。
【請求項１６】
第１の無人航空機が飛行する場所の風に関する統計情報を取得する統計情報取得手段、
前記第１の無人航空機の飛行中に当該第１の無人航空機の近くを飛行し、風に関する風情報を取得可能な第２の無人航空機により取得された前記風情報と、前記統計情報と、に基づいて、前記第１の無人航空機の飛行を制御する飛行制御手段、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、無人航空機制御システム、無人航空機制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、無人航空機の飛行を制御する技術が知られている。例えば、特許文献１には、モデル化された無人航空機の加速度と、無人航空機が実際に計測した実加速度と、に基づいて風速を推定し、風に起因する軌道偏差を補償するように、無人航空機の軌道を自動的に制御する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２４６１０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の技術では、無人航空機は、自身が実際に風の影響を受けた後に、風の影響を打ち消すための軌道修正を行うので、風の変化に対する飛行制御が遅れがちであった。【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的は、風の変化に対する飛行制御の遅れを軽減することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る無人航空機制御システムは、第１の無人航空機と、前記第１の無人航空機の飛行中に当該第１の無人航空機の近くを飛行し、風に関する風情報を取得可能な第２の無人航空機と、前記第２の無人航空機により取得された前記風情報に基づいて、前記第１の無人航空機の飛行を制御する飛行制御手段と、を含むことを特徴とする。【０００７】
本発明に係る無人航空機制御方法は、第１の無人航空機の飛行中に当該第１の無人航空機の近くを飛行し、風に関する風情報を取得可能な第２の無人航空機により前記風情報を取得する風情報取得ステップと、前記風情報取得ステップにより取得された前記風情報に基づいて、前記第１の無人航空機の飛行を制御する飛行制御ステップと、を含むことを特徴とする。【０００８】
本発明に係るプログラムは、第１の無人航空機の飛行中に当該第１の無人航空機の近くを飛行し、風に関する風情報を取得可能な第２の無人航空機により取得された前記風情報に基づいて、前記第１の無人航空機の飛行を制御する飛行制御手段、としてコンピュータを機能させる。【０００９】
また、本発明の一態様では、前記無人航空機制御システムは、前記第１の無人航空機の位置に関する第１位置情報を取得する第１位置情報取得手段と、前記第２の無人航空機の位置に関する第２位置情報を取得する第２位置情報取得手段と、を更に含み、前記飛行制御手段は、前記第１位置情報と前記第２位置情報とに更に基づいて、前記第１の無人航空機の飛行を制御する、ことを特徴とする。【００１０】
また、本発明の一態様では、前記飛行制御手段は、前記第２の無人航空機が前記第１の無人航空機の風上側にいる場合の前記風情報に基づいて、前記第１の無人航空機の飛行を制御する、ことを特徴とする。【００１１】
また、本発明の一態様では、前記風情報は、風向きに関する情報を含み、前記飛行制御手段は、前記風情報が示す風向きと、前記第１位置情報が示す位置と前記第２位置情報が示す位置との間の方向と、に基づいて、前記第１の無人航空機の飛行を制御する、ことを特徴とする。【００１２】
また、本発明の一態様では、前記第２の無人航空機は、前記風情報の変化が閾値未満である場合は前記風情報を送信せず、前記風情報の変化が閾値以上である場合に前記風情報を送信する送信手段を含み、前記飛行制御手段は、前記風情報の変化が閾値以上である場合に送信された前記風情報に基づいて、前記第１の無人航空機の飛行を制御する、ことを特徴とする。【００１３】
また、本発明の一態様では、前記第１の無人航空機は、複数の飛行モードの何れかに基づいて飛行し、前記飛行制御手段は、前記風情報に基づいて、前記第１の無人航空機の飛行モードを切り替える、ことを特徴とする。【００１４】
また、本発明の一態様では、前記無人航空機制御システムは、前記風情報に基づいて、前記第１の無人航空機に対する外力に関する予測を行う外力予測手段を更に含み、前記飛行制御手段は、前記外力予測手段の予測結果に基づいて、前記第１の無人航空機の飛行を制御する、ことを特徴とする。【００１５】
また、本発明の一態様では、前記飛行制御手段は、前記外力予測手段の予測結果が示す外力の方向に基づいて、前記第１の無人航空機の飛行を制御する、ことを特徴とする。【００１６】
また、本発明の一態様では、前記無人航空機制御システムは、前記第１の無人航空機が飛行する場所の風に関する統計情報を取得する統計情報取得手段を更に含み、前記飛行制御手段は、前記統計情報に更に基づいて、前記第２の無人航空機の飛行を制御する、ことを特徴とする。【００１７】
また、本発明の一態様では、前記無人航空機制御システムは、前記風情報に基づいて、前記第１の無人航空機が飛行する場所の今後の風に関する予測を行う風予測手段を更に含み、前記飛行制御手段は、前記風予測手段の予測結果に基づいて、前記第１の無人航空機の飛行を制御する、ことを特徴とする。
【発明の効果】
【００１８】
本発明によれば、風の変化に対する飛行制御の遅れを軽減することが可能になる。
【図面の簡単な説明】
【００１９】
【図１】無人航空機制御システムの全体構成を示す図である。
【図２】無人航空機のハードウェア構成を示す図である。
【図３】無人航空機制御システムで実現される機能の一例を示す機能ブロック図である。
【図４】姿勢制御アルゴリズムの一例の説明図である。
【図５】飛行制御部の処理内容の説明図である。
【図６】無人航空機制御システムにおいて実行される処理の一例を示すフロー図である。
【図７】変形例の機能ブロック図である。
【図８】変形例に係る無人航空機制御システムの全体構成を示す図である。
【発明を実施するための形態】
【００２０】
［１．無人航空機制御システムの全体構成］
以下、本発明に関わる無人航空機制御システムの実施形態の例を説明する。図１は、無人航空機制御システムの全体構成を示す図である。図１に示すように、本実施形態の無人航空機制御システム１は、無人航空機１０Ａ〜１０Ｅを含む。以降では、無人航空機１０Ａ〜１０Ｅを特に区別する必要のない場合は、単に無人航空機１０と記載する。
【００２１】
無人航空機１０は、人が搭乗しない航空機であり、例えば、バッテリーで駆動する無人航空機（いわゆるドローン）やエンジンで駆動する無人航空機である。例えば、無人航空機１０は、商品や手紙などの荷物を搭載可能であってよく、配送先に飛行して荷物を配送したり、集荷先に飛行して荷物を集荷したりする。また例えば、無人航空機１０は、特に荷物を運搬せずに、飛行先の様子を取得するために飛行してもよい。また例えば、無人航空機１０は、特に荷物を運搬したり飛行先の様子を取得したりせずに、後述する風情報を取得するために上空を飛行してもよい。
【００２２】
なお、無人航空機制御システム１は、複数の無人航空機１０を含んでいればよく、その台数は、図１に示す５台に限られない。例えば、無人航空機制御システム１に含まれる無人航空機１０の台数は、２台、３台、４台、又は６台以上であってもよい。
【００２３】
図２は、無人航空機１０のハードウェア構成を示す図である。図２に示すように、無人航空機１０は、制御部１１、記憶部１２、通信部１３、撮影部１４、及びセンサ部１５を含む。なお、無人航空機１０は、プロペラ・モーター・バッテリーなども含むが、ここでは説明を省略する。また、本実施形態では、各無人航空機１０は、他の無人航空機１０と同様のハードウェア構成である場合を説明するが、他の無人航空機１０とは異なるハードウェア構成であってもよい。
【００２４】
制御部１１は、例えば、少なくとも１つのマイクロプロセッサを含む。制御部１１は、記憶部１２に記憶されたプログラムやデータに従って処理を実行する。記憶部１２は、主記憶部及び補助記憶部を含む。例えば、主記憶部はＲＡＭなどの揮発性メモリであり、補助記憶部は、ハードディスクやフラッシュメモリなどの不揮発性メモリである。通信部１３は、有線通信又は無線通信用の通信インタフェースを含む。通信部１３は、ネットワークを介してデータ通信を行う。撮影部１４は、カメラである。例えば、撮影部１４は、ＣＣＤイメージセンサやＣＭＯＳイメージセンサなどの撮像素子を含み、当該撮像素子が撮影した画像をデジタルデータとして記録する。
【００２５】
センサ部１５は、例えば、ＧＰＳセンサ１５Ａと風センサ１５Ｂとを含む。ＧＰＳセンサ１５Ａは、衛星からの信号を受信する受信機を含み、例えば、受信機が受信した信号に基づいて位置情報を検出する。風センサ１５Ｂは、デジタル風速計（電子風速計）である。例えば、風センサ１５Ｂは、温度センサや圧力センサを含み、風による温度変化や圧力変化を検出することによって後述する風情報を検出する。なお、無人航空機１０には、任意のセンサが搭載されてよく、センサ部１５は、赤外線センサ、音声センサ（マイク）、加速度センサ、ジャイロセンサ、地磁気センサ、高度センサ、変位センサ、又は温度センサ等の任意のセンサを含むようにしてもよい。
【００２６】
なお、無人航空機１０のハードウェア構成は、図２の例に限られず、種々のハードウェアを適用可能である。例えば、無人航空機１０は、タッチパネルやボタンなどの入力デバイスを含んでいてもよいし、液晶表示部又は有機ＥＬ表示部を含んでいてもよい。また例えば、無人航空機１０は、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部（例えば、メモリカードスロットや光ディスクドライブ）を含んでもよいし、外部機器と通信するための入出力部（例えば、ＵＳＢポート）を含んでいてもよい。また例えば、記憶部１２に記憶されるものとして説明するプログラム及びデータは、読取部又は入出力部を介して供給されるようにしてもよいし、ネットワークを介して供給されるようにしてもよい。
【００２７】
本実施形態の無人航空機制御システム１では、各無人航空機１０は、風センサ１５Ｂによって検出された風情報の変化が大きい場合に、他の無人航空機１０に対して風情報を送信する。各無人航空機１０は、他の無人航空機１０から風情報を受信すると、これから自機が受ける風に備えるべく、自機の姿勢を安定させる飛行モードに切り替えることによって、風の変化に対する飛行制御の遅れを軽減するようになっている。以降、当該技術の詳細について説明する。
【００２８】
［２．無人航空機制御システムにおいて実現される機能］
図３は、無人航空機制御システム１で実現される機能の一例を示す機能ブロック図である。図３に示すように、無人航空機制御システム１では、データ記憶部１００、第１位置情報取得部１０１、第２位置情報取得部１０２、送信部１０３、及び飛行制御部１０４が実現される。本実施形態では、これら各機能が、各無人航空機１０において実現される場合を説明する。
【００２９】
［２−１．データ記憶部］
データ記憶部１００は、記憶部１２を主として実現される。データ記憶部１００は、無人航空機１０の飛行制御に必要なデータを記憶する。例えば、データ記憶部１００は、風情報と飛行制御方法との関係を示す飛行制御データを記憶する。飛行制御データの詳細は後述する。
【００３０】
また例えば、予め定められた飛行ルートに基づいて無人航空機１０が自動的に飛行する場合には、データ記憶部１００は、当該飛行ルートに関するデータを記憶してもよい。この場合、無人航空機１０は、ＧＰＳセンサ１５Ａにより検出された自機の位置情報と飛行ルートとを比較し、これらの差が閾値未満となるように飛行制御することになる。
【００３１】
また例えば、データ記憶部１００は、無人航空機１０が飛行する地域の地図データを記憶してもよい。また例えば、データ記憶部１００は、自機の位置情報の履歴を記憶してもよいし、他機の位置情報の履歴を記憶してもよい。また例えば、データ記憶部１００は、自機が検出した風情報の履歴を記憶してもよいし、他機が検出した風情報の履歴を記憶してもよい。また例えば、データ記憶部１００は、風情報を他機に送信するか否かの判定基準となる閾値を記憶してもよい。
【００３２】
［２−２．第１位置情報取得部］
第１位置情報取得部１０１は、制御部１１を主として実現される。第１位置情報取得部１０１は、第１の無人航空機の位置に関する第１位置情報を取得する。
【００３３】
第１の無人航空機は、飛行制御部１０４の制御対象となる無人航空機１０である。第１の無人航空機は、１台であってもよいし、複数台であってもよい。本実施形態では、外部コンピュータが無人航空機１０の飛行制御をするのではなく、無人航空機１０が自身で飛行制御をするので、第１位置情報は自機の位置情報である。このため、本実施形態において、自機と記載した箇所については、第１の無人航空機と読み替えることができ、自機の位置情報と記載した箇所は第１位置情報と読み替えることができる。
【００３４】
なお、本実施形態では、位置情報として、ＧＰＳセンサ１５Ａが検出した緯度経度情報が用いられる場合を説明するが、位置を特定可能な情報であればよく、例えば、位置情報は、無線ＬＡＮのアクセスポイントなどの通信機器の種類、無線基地局の種類、又は、指向性を有する無線通信により取得された相対位置などで示されてもよい。この点は、第１位置情報だけでなく、後述する第２位置情報も同じである。
【００３５】
例えば、第１位置情報取得部１０１は、ＧＰＳセンサ１５Ａの受信信号に基づいて、第１位置情報を取得する。また例えば、第１位置情報取得部１０１は、撮影部１４が撮影した画像に基づいて、第１位置情報を取得してもよい。また例えば、第１位置情報取得部１０１は、ＧＰＳセンサ１５Ａ以外のセンサの検出信号に基づいて、第１位置情報を取得してもよい。
【００３６】
なお、第１位置情報取得部１０１は、定期的に第１位置情報を取得してもよいし、不定期的に第１位置情報を取得してもよい。例えば、第１位置情報取得部１０１は、所定フレームごと（一定時間経過ごと）に第１位置情報を取得してもよいし、他の無人航空機１０から風情報を受信する等の所定の条件が満たされた場合に第１位置情報を取得してもよい。
【００３７】
［２−３．第２位置情報取得部］
第２位置情報取得部１０２は、制御部１１を主として実現される。第２位置情報取得部１０２は、第２の無人航空機の位置に関する第２位置情報を取得する。
【００３８】
第２の無人航空機は、第１の無人航空機の飛行中に当該第１の無人航空機の近くを飛行し、風に関する風情報を取得可能な無人航空機である。別の言い方をすれば、第２の無人航空機は、第１の無人航空機の飛行を制御するための風情報を検出する無人航空機である。第２の無人航空機は、１台であってもよいし、複数台であってもよい。第２の無人航空機は、第１の無人航空機が飛行する地域を飛行し、第１の無人航空機が飛行している間は、第２の無人航空機も飛行する。
【００３９】
第２の無人航空機は、第１の無人航空機とともに飛行（第１の無人航空機と一緒に行動）してもよいし、第１の無人航空機とは関係なく単独で飛行してもよい。第１の無人航空機と第２の無人航空機とは、全く同じ経路を飛行する必要はないが、互いに全く異なる場所を飛行した場合には、第２の無人航空機の風情報は参考にならないので、例えば、第２の無人航空機は、第１の無人航空機の付近（近辺）を飛行する。例えば、第２の無人航空機は、第１の無人航空機の所定距離以内を飛行したり、第１の無人航空機の飛行経路とのずれが所定距離以内の飛行経路を飛行したりする。所定距離は、例えば、数メートル〜数百メートル程度であってよい。
【００４０】
第１の無人航空機と第２の無人航空機との位置関係は任意であってよく、例えば、第２の無人航空機は、第１の無人航空機の前方・後方・右側・左側・上側・下側の任意の位置を飛行してよい。また例えば、第１の無人航空機と第２の無人航空機との間には、他の物体が存在してはならないわけではなく、例えば、建物・電柱・電線などの物体が存在してもよいし、他の無人航空機が飛行していてもよい。
【００４１】
本実施形態では、各無人航空機１０は、他機から風情報を取得して自機の飛行を制御するので、第２位置情報は他機の位置情報である。別の言い方をすれば、第２位置情報は、風情報の取得位置であり、風情報が示す風が吹いた位置である。本実施形態の説明において、他機と記載した箇所については、第２の無人航空機と読み替えることができ、他機の位置情報と記載した箇所は第２位置情報と読み替えることができる。
【００４２】
例えば、第２位置情報取得部１０２は、ＧＰＳセンサ１５Ａの受信信号に基づいて、第２位置情報を取得する。また例えば、第２位置情報取得部１０２は、撮影部１４が撮影した画像に基づいて、第２位置情報を取得してもよい。また例えば、第２位置情報取得部１０２は、ＧＰＳセンサ１５Ａ以外のセンサの検出信号に基づいて、第２位置情報を取得してもよい。
【００４３】
なお、第２位置情報取得部１０２は、定期的に第２位置情報を取得してもよいし、不定期的に第２位置情報を取得してもよい。例えば、第２位置情報取得部１０２は、所定フレームごと（一定時間経過ごと）に第２位置情報を取得してもよいし、風情報の変化が閾値以上となったり他機に風情報を送信したりする等の所定の条件が満たされた場合に第２位置情報を取得してもよい。
【００４４】
［２−４．送信部］
送信部１０３は、制御部１１を主として実現される。送信部１０３は、外部機器に対し、風情報を送信する。外部機器は、例えば、他機又はサーバコンピュータである。
【００４５】
例えば、風情報は、風の強さと風向きの少なくとも一方に関する情報を含む。本実施形態では、風の強さは、風速によって示される場合を説明するが、風力・風圧・風量などの任意の指標で示されるようにしてもよい。このため、本実施形態の説明において、風速と記載した箇所については、風力・風圧・風量などの各指標に読み替えることができる。
【００４６】
風の強さは、風速そのものを示す数値、又は、風速の程度を示す記号で示される。風速が記号で示される場合には、例えば、Ａであれば無風、Ｂであれば微風、Ｃであれば強風といったように、予め記号の意味を定めておけばよい。また例えば、風向きは、２次元的な方向で示されてもよいし、３次元的な方向で示されてもよく、ベクトル又は方位（方角）で示される。２次元的な方向とは、水平方向成分のみを含む方向であり、３次元的な方向とは、水平方向成分だけでなく垂直方向成分も含む方向である。風向きをベクトルで示す場合には、２次元ベクトル又は３次元ベクトルが用いられるようにすればよい。風向きを方位で示す場合には、３６０°式、９０°式、又は点画式などの任意の方式が用いられるようにすればよい。
【００４７】
例えば、送信部１０３は、風センサ１５Ｂの検出信号に基づいて風速と風向きを取得し、外部機器に対し、当該取得した風速と風向きを風情報として送信する。
【００４８】
なお、風情報は、風センサ１５Ｂで検出されなくてもよく、風情報の取得方法自体は、公知の種々の方法を適用可能である。風センサ１５Ｂ以外によって風情報を取得する場合には風センサ１５Ｂは省略可能である。例えば、風情報は、撮影部１４で撮影した画像の変化に基づいて検出されてもよい。この場合、モデル化された加速度（例えば、無風状態の場合の加速度）と、画像から得られた特徴点の変化によって定まる加速度と、の差に基づいて風情報が検出されてもよい。また例えば、風情報は、風センサ１５Ｂ以外のセンサによって検出されてもよい。例えば、モデル化された加速度と、加速度センサから得られた加速度と、の差に基づいて風情報が検出されてもよい。
【００４９】
送信部１０３は、定期的に風情報を送信してもよいし、不定期的に風情報を送信してもよい。例えば、送信部１０３は、所定フレームごと（一定時間経過ごと）に風情報を送信してもよいし、所定の条件が満たされた場合に風情報を送信してもよい。
【００５０】
例えば、送信部１０３は、風情報の変化が閾値未満である場合は風情報を送信せず、風情報の変化が閾値以上である場合に風情報を送信してもよい。風情報の変化は、風速と風向きの少なくとも一方の変化である。閾値は、固定値であってもよいし可変値であってもよい。可変値である場合には、日時・季節・天候・飛行場所などによって閾値が変化してもよいし、システム管理者が入力した値としてもよい。
【００５１】
例えば、送信部１０３は、複数の時点の風情報に基づいて、風情報の変化を特定する。複数の時点の組み合わせは、任意であってよく、例えば、送信部１０３は、最新の風情報と直近の風情報とに基づいて、風情報の変化を特定してもよいし、３つ以上の時点の風情報に基づいて、風情報の変化を特定してもよい。
【００５２】
送信部１０３は、風情報の変化が閾値以上であるか否かを判定する。例えば、送信部１０３は、風速の変化量が閾値以上であるか否かを判定したり、風向きの変化量が閾値以上であるか否かを判定したりする。風速の変化量とは、単位時間あたりの風速の増加量又は減少量であり、風速の加速度である。風向きの変化量とは、単位時間あたりの風向きの方向変化であり、風向きが変化した角度である。送信部１０３は、上記の判定結果に基づいて、風情報を送信するか否かを制御することになる。
【００５３】
なお、本実施形態のように３台以上の無人航空機１０が飛行する場合には、送信部１０３は、他機の全てに対して風情報を送信してもよいし、他機の一部に対して風情報を送信してもよい。他機の一部に対して風情報を送信する場合には、送信部１０３は、ランダム又は予め定められた順番に基づいて送信相手の他機を決定してもよいし、他機の位置情報を取得して風下側にいる他機を送信相手として決定してもよい。他にも例えば、送信部１０３は、自機の移動方向に対して前又は後ろの何れか一方の他機を送信相手としてもよい。
【００５４】
［２−５．飛行制御部］
飛行制御部１０４は、制御部１１を主として実現される。飛行制御部１０４は、他機（第２の無人航空機）により取得された風情報に基づいて、自機（第１の無人航空機）の飛行を制御する。本実施形態では、各無人航空機１０は、自身で飛行制御をするので、飛行制御部１０４は、他機の送信部１０３により送信された風情報を取得し、自機の飛行を制御することになる。
【００５５】
例えば、風情報と飛行制御方法との関係は、予めデータ記憶部１００に記憶された飛行制御データに定義されている。飛行制御データは、プログラム形式のデータであってもよいし、数式形式又はテーブル形式のデータであってもよい。即ち、上記関係は、プログラムコードの一部として定義されていてもよいし、数式又はテーブルで定義されていてもよい。
【００５６】
飛行制御方法とは、無人航空機１０の移動方向、移動速度、及び姿勢の少なくとも１つの制御方法である。無人航空機１０の移動方向、移動速度、及び姿勢は、無人航空機１０が有する複数のプロペラの各々の回転によって制御可能なので、飛行制御部１０４は、飛行制御データによって、各プロペラの回転数と回転方向を制御することになる。各プロペラの回転数と回転方向は、当該プロペラを回転させるモータに対する電圧や交流信号の周波数によって変わるので、飛行制御部１０４は、飛行制御データによって、各モータに対する電圧や交流信号を決定するということもできる。
【００５７】
例えば、飛行制御部１０４は、風情報に関連付けられた飛行制御方法に基づいて、自機の飛行を制御する。飛行制御部１０４は、風情報に基づいて、飛行制御アルゴリズム自体を変更してもよいし、飛行制御アルゴリズムで用いられる係数だけを変更してもよい。
【００５８】
飛行制御アルゴリズムは、無人航空機１０の飛行を制御するためのアルゴリズムであり、例えば、無人航空機１０の現在の状態と飛行制御方法との関係が定義されている。現在の状態とは、例えば、無人航空機１０の現在の位置、移動方向、移動速度、及び姿勢の少なくとも１つを意味する。
【００５９】
例えば、飛行制御アルゴリズムは、予め定められた飛行経路上を飛行するための自動飛行アルゴリズムと、無人航空機１０の姿勢を一定範囲に保つための姿勢制御アルゴリズムと、を含む。自動飛行アルゴリズムによって、主に、無人航空機１０の位置、移動方向、及び移動速度が制御され、姿勢制御アルゴリズムによって、主に、無人航空機１０の姿勢が制御される。
【００６０】
図４は、姿勢制御アルゴリズムの一例の説明図である。図４に示すように、ここでは、無人航空機１０の姿勢は、ロール角、ピッチ角、及びヨー角によって定義されるものとする。なお、ロール角、ピッチ角、及びヨー角は、センサ部１５内のジャイロセンサや加速度センサなどの検出信号によって取得されるようにすればよい。
【００６１】
姿勢制御アルゴリズムによれば、無人航空機１０の姿勢が変化した場合に、当該変化を抑えるようにプロペラの回転が制御される。ここでは、無人航空機１０のロール角とピッチ角を一定範囲に保つように、姿勢制御アルゴリズムが定義されている場合を説明するが、ヨー角を一定範囲に保つように、姿勢制御アルゴリズムが定義されていてもよい。
【００６２】
例えば、無人航空機１０が風にあおられた場合に、ロール角とピッチ角が変化しすぎるとバランスを崩してしまうので、姿勢制御アルゴリズムは、ロール角とピッチ角の変化を抑えるように、プロペラの回転数を制御する。例えば、無人航空機１０のロール軸（機体の正面方向）を回転軸として機体が回転し、ロール角が増加した場合には、姿勢制御アルゴリズムは、ロール角を減少させるべく、回転方向にあるプロペラ（左又は右のプロペラ）の回転数を増加させ、機体を立て直す。同様に、無人航空機１０のピッチ軸（機体の横方向）を回転軸として機体が回転し、ピッチ角が増加した場合には、姿勢制御アルゴリズムは、ピッチ角を減少させるべく、回転方向にあるプロペラ（前又は後ろのプロペラ）の回転数を増加させ、機体を立て直す。
【００６３】
飛行制御部１０４は、上記のような飛行制御データに基づいて、無人航空機１０の飛行を制御する。本実施形態では、無人航空機１０は、複数の飛行モードの何れかに基づいて飛行し、飛行制御データには、風情報と飛行モードとの関係が示されている場合を説明する。飛行モードは、飛行制御アルゴリズムの内容又はその係数であり、例えば、所定の経路上を目標地点に向けて飛行することを優先する通常飛行モードと、風に備えて姿勢を維持することを優先する姿勢維持モードと、を含む。
【００６４】
例えば、姿勢維持モードの姿勢制御アルゴリズムは、通常飛行モードの姿勢制御アルゴリズムよりも、風（外力）に対する応答を早めている。ここでの応答とは、姿勢が変化した場合に元の姿勢に戻すための制御のことである。例えば、姿勢制御アルゴリズムにＰＩＤ（Proportional-Integral-Differential）制御が用いられる場合には、姿勢維持モードのＩ値（積分制御の係数であり、目標値との差をなくす操作をするための係数である。）は、通常飛行モードのＩ値よりも小さく設定し、姿勢が変化した場合にすぐに立て直す制御が行われるようにしてもよい。また例えば、姿勢維持モードのＰ値（比例制御の係数であり、目標値との差の大きさに比例した操作をするための係数である。）は、通常飛行モードのＰ値よりも大きく設定してもよい。また例えば、姿勢維持モードのＤ値（微分制御の係数であり、変化を抑えるような操作をするための係数である。）は、通常飛行モードのＤ値よりも大きく設定してもよい。
【００６５】
例えば、飛行制御部１０４は、風情報に基づいて、自機の飛行モードを切り替える。本実施形態では、各無人航空機１０は、風情報の変化が閾値以上の場合に他機に風情報を送信するので、他機から風情報を受信したということは、周囲の大気の状態が不安定であることを意味する。このため、飛行制御部１０４は、他機から風情報を受信した場合に、自機の飛行モードを姿勢維持モードに設定して風の影響に備える。なお、大気の状態が不安定とは、例えば、突風が吹くこと、風が突然止むこと、又は風向きが突然変わることなどを意味する。
【００６６】
なお、飛行制御部１０４は、大気の状態が不安定な期間の中で飛行制御方法を変えてもよい。例えば、大気の状態が不安定になった場合に、時間経過に応じて飛行制御方法が変化するように、姿勢維持モードのアルゴリズムを定めておいてもよい。例えば、飛行制御部１０４は、風の吹き始めの場合と、風の吹き終わりの場合と、で飛行制御方法を異ならせてもよい。本実施形態のように、各無人航空機１０が、風情報の変化が閾値以上の場合に他機に風情報を送信する場合には、飛行制御部１０４は、風情報を受信した時点又は当該時点の所定時間後を風の吹き始めとし、風の吹き始めの時点から所定時間後を風の吹き終わりとしてもよい。他にも例えば、無人航空機１０間で定期的に風情報を送り合う場合には、飛行制御部１０４は、風情報の増加量が閾値以上になった時点を風の吹き始めとし、風情報の減少量が閾値以上になった時点を風の吹き終わりとしてもよい。例えば、飛行制御部１０４は、風の吹き始めは、Ｐ値及びＤ値の少なくとも一方を比較的大きくし、風の吹き終わりは、オーバーシュートすることを防ぐために、Ｐ値及びＤ値の少なくとも一方を比較的小さくしてもよい。また例えば、飛行制御部１０４は、風の吹き始めはＩ値を比較的小さくし、風の吹き終わりはＩ値を比較的大きくしてもよい。
【００６７】
一方、各無人航空機１０が、一定時間の間、他機から風情報を受信しなかった場合には、周囲の大気の状態が落ち着いていることを意味する。このため、飛行制御部１０４は、一定時間の間、他機から風情報を受信しなかった場合に、自機の飛行モードを通常飛行モードに設定して目的地への飛行を優先させる。例えば、飛行制御部１０４は、Ｐ値を小さくした発散しにくい緩慢な制御による飛行を行うようにしてもよい。なお、大気の状態が安定するとは、例えば、突風が吹かないこと、風が突然止まないこと、又は風向きが突然変わらないことなどを意味する。
【００６８】
なお、飛行制御部１０４は、無人航空機１０の位置関係を特に考慮せずに飛行制御をしてもよいが、本実施形態では、無人航空機１０の位置関係を考慮して飛行制御を行うものとする。なお、位置関係とは、ある無人航空機１０に対する他の無人航空機１０の相対的な位置を意味する。飛行制御部１０４は、第１位置情報（自機の位置情報）と第２位置情報（他機の位置情報）とに更に基づいて、自機の飛行を制御することになる。
【００６９】
例えば、飛行制御部１０４は、第１位置情報と第２位置情報とに基づいて、風情報に基づいた飛行制御をするか否かを決定するようにしてもよい。例えば、飛行制御部１０４は、第２位置情報（他機の位置情報）が第１位置情報（自機の位置情報）の風上側であるかを判定する。例えば、飛行制御部１０４は、第２位置情報から第１位置情報への方向と、風情報が示す風向きと、の角度が所定角度（例えば、６０°〜９０°程度）未満であれば風上側であると判定し、当該角度が所定角度以上であれば風上側ではないと判定する。
【００７０】
例えば、飛行制御部１０４は、第２位置情報が第１位置情報の風上側であると判定された場合は他機の風情報に基づく飛行制御を行い、第２位置情報が第１位置情報の風上側であると判定されない場合は他機の風情報に基づく飛行制御は行わない。即ち、飛行制御部１０４は、他機が風下側にいる場合には、当該他機から受信した風情報を考慮せずに飛行制御を行い、他機が風上側にいる場合に、当該他機から受信した風情報を考慮して飛行制御を行う。
【００７１】
図５は、飛行制御部１０４の処理内容の説明図である。図５の例では、突風の北風（北から南に向けて吹く風）が吹いた場合を示しており、無人航空機１０Ｂ，１０Ｅが風上側（北側）を飛行し、無人航空機１０Ｃ，１０Ｄが風下側（南側）を飛行し、無人航空機１０Ａはその間を飛行している。
【００７２】
図５の場合、風上側にいる無人航空機１０Ｂ，１０Ｅの各々は、風情報の変化を検知し、他機に対し、自機の位置情報と風情報のデータセットを送信する。一方、風下側にいる無人航空機１０Ａ，１０Ｃ，１０Ｄの各々は、まだ風情報の変化を検知しておらず、他機に対し、データセットの送信はしていない。
【００７３】
例えば、無人航空機１０Ａ，１０Ｃ，１０Ｄの各々は、無人航空機１０Ｂ，１０Ｅからデータセットを受信すると、無人航空機１０Ｂ，１０Ｅが風上側にいるか否かを判定する。ここでは、無人航空機１０Ｂ，１０Ｅが風上側にいると判定されるので、無人航空機１０Ａ，１０Ｃ，１０Ｄの各々は、受信した風情報に基づいて自機の飛行制御を行う。即ち、無人航空機１０Ａ，１０Ｃ，１０Ｄの各々は、姿勢維持モードに切り替えて、これから自身が受ける北風に備えることになる。
【００７４】
一方、無人航空機１０Ｂは、無人航空機１０Ｅからデータセットを受信すると、無人航空機１０Ｅが風上側にいるか否かを判定する。ここでは、無人航空機１０Ｅは無人航空機１０Ｂの西側にいるため、無人航空機１０Ｅが風上側にいると判定されないので、無人航空機１０Ｂは、無人航空機１０Ｅから受信した風情報は特に考慮しない。この場合、無人航空機１０Ｂは、通常飛行モードのまま飛行してもよいし、自身が取得した風情報に基づいて、姿勢維持モードに切り替えてもよい。
【００７５】
同様に、無人航空機１０Ｅは、無人航空機１０Ｂからデータセットを受信すると、無人航空機１０Ｂが風上側にいるか否かを判定する。ここでは、無人航空機１０Ｂは無人航空機１０Ｅの東側にいるため、無人航空機１０Ｂが風上側にいると判定されないので、無人航空機１０Ｅは、無人航空機１０Ｂから受信した風情報は特に考慮しない。この場合、無人航空機１０Ｅは、通常飛行モードのまま飛行してもよいし、自身が取得した風情報に基づいて、姿勢維持モードに切り替えてもよい。
【００７６】
上記のように、本実施形態では、飛行制御部１０４は、他機が自機の風上側にいる場合の風情報に基づいて、自機の飛行を制御することになる。また、本実施形態では、風情報は風向きに関する情報を含むので、飛行制御部１０４は、風情報が示す風向きと、第１位置情報が示す位置と第２位置情報が示す位置との間の方向と、に基づいて、自機の飛行を制御することになる。また、本実施形態では、他機の送信部１０３は、風情報の変化が閾値以上である場合に風情報を送信するので、飛行制御部１０４は、風情報の変化が閾値以上である場合に送信された風情報に基づいて、自機の飛行を制御することになる。
【００７７】
なお、飛行制御部１０４は、風の影響でバランスが崩れたり墜落したりしないように飛行制御すればよく、飛行制御方法は、上記のような飛行モードの切り替えに限られない。例えば、風情報が示す風に対抗するように、飛行制御データが定義されていてもよい。無人航空機１０が風に対抗するとは、例えば、風上側を向くような姿勢を取ること、風上側に向けて無人航空機１０が移動すること、又は、風上側のプロペラの回転数を風下側のプロペラの回転数よりも少なくすることなどである。他にも例えば、風情報が示す風速が速いほど無人航空機１０の移動速度が遅くなり、風情報が示す風速が遅いほど無人航空機１０の移動速度が速くなるように、飛行制御データが定義されていてもよい。風速が速いとは風が強いことを意味し、風速が遅いとは風が弱いことを意味する。
【００７８】
［３．無人航空機制御システムにおいて実行される処理］
図６は、無人航空機制御システム１において実行される処理の一例を示すフロー図である。本実施形態では、各無人航空機１０が図６に示す処理を実行する場合を説明する。例えば、図６に示す処理は、制御部１１が記憶部１２に記憶されたプログラムに従って動作することによって実行される。本実施形態では、下記に説明する処理は、図３に示す機能ブロックにより実現される処理の一例である。なお、各無人航空機１０は、予めデータ通信可能に接続されているものとする。
【００７９】
図６に示すように、まず、制御部１１は、風センサ１５Ｂの検出信号に基づいて、風情報を取得する（Ｓ１）。Ｓ１においては、制御部１１は、風センサ１５Ｂが検出した風速と風向きを風情報として取得し、記憶部１２に記録する。風情報は、時系列的に記憶部１２に記録されてもよいし、現在時刻（風情報の取得時刻）と関連付けられて記憶部１２に記録されてもよい。なお、各無人航空機１０は、例えば、ＧＰＳセンサ１５Ａが受信した信号に基づく正確な時刻を把握している。
【００８０】
制御部１１は、風情報の変化が閾値以上であるか否かを判定する（Ｓ２）。Ｓ２においては、制御部１１は、直近の風情報と最新の風情報とに基づいて、風情報の変化を特定する。例えば、制御部１１は、直近の風情報が示す風速と、最新の風情報が示す風速と、の差が閾値以上であるか否かを判定したり、直近の風情報が示す風向きと、最新の風情報が示す風向きと、のなす角度が閾値以上であるか否かを判定したりする。
【００８１】
風情報の変化が閾値以上であると判定された場合（Ｓ２；Ｙ）、制御部１１は、ＧＰＳセンサ１５Ａの受信信号に基づいて、位置情報を取得する（Ｓ３）。制御部１１は、他機に対し、Ｓ１で取得した風情報とＳ３で取得した位置情報とのデータセットを送信する（Ｓ４）。Ｓ４においては、制御部１１は、近距離無線通信などの無線通信を利用して他機に対して直接的に風情報と位置情報を送信してもよいし、サーバコンピュータなどを介して間接的に風情報と位置情報を送信してもよい。
【００８２】
一方、Ｓ２において、風情報の変化が閾値未満であると判定された場合（Ｓ２；Ｎ）、Ｓ３とＳ４の処理は実行されない。この場合、制御部１１は、他機に対し、風情報と位置情報とのデータセットを送信しない。
【００８３】
制御部１１は、他機から風情報と位置情報とのデータセットを受信したか否かを判定する（Ｓ５）。本実施形態では、各無人航空機１０で本処理が実行されているので、制御部１１は、他機におけるＳ４の処理で送信された風情報と位置情報とのデータセットを受信したか否かを判定することになる。
【００８４】
風情報と位置情報とのデータセットを受信したと判定された場合（Ｓ５；Ｙ）、制御部１１は、ＧＰＳセンサ１５Ａの受信信号に基づいて、自機の位置情報を取得する（Ｓ６）。Ｓ６においては、制御部１１は、自機の現在位置を示す位置情報を取得することになる。なお、制御部１１は、Ｓ５で受信した風情報と位置情報とのデータセットを記憶部１２に記録してもよい。このデータセットは、時系列的に記憶部１２に記録されてもよいし、現在時刻（風情報の取得時刻）と関連付けられて記憶部１２に記録されてもよい。
【００８５】
制御部１１は、Ｓ５で受信した他機の位置情報と、Ｓ６で取得した自機の位置情報と、に基づいて、Ｓ５で受信した風情報が風上側の情報であるか否かを判定する（Ｓ７）。Ｓ７においては、制御部１１は、他機の位置から自機の位置への方向と、風情報が示す風向きと、のなす角度が所定角度（例えば、６０°〜９０°程度）以上であるか否かを判定する。
【００８６】
風上の情報であると判定された場合（Ｓ７；Ｙ）、制御部１１は、自機を姿勢維持モードで飛行させる（Ｓ８）。Ｓ８においては、制御部１１は、自機の飛行モードを通常飛行モードから姿勢維持モードに切り替える。以降、無人航空機１０は、姿勢維持モードに基づいて飛行を制御し、外力（風）に対する応答を早めることになる。即ち、無人航空機１０は、ジャイロセンサや加速度センサなどで検知した姿勢の変化に対し、姿勢を立て直すための制御を早めることになる。
【００８７】
一方、Ｓ５において、風情報と位置情報とのデータセットを受信したと判定されない場合（Ｓ５；Ｎ）、制御部１１は、風情報と位置情報とのデータセットを受信しない状態が一定期間継続したかを判定する（Ｓ９）。Ｓ９においては、制御部１１は、直近で受信したデータセットに関連付けられた時刻から、データセットを受信しない状態で所定時間（例えば、数秒〜数十秒程度）が経過したかを判定する。なお、この所定時間は、固定値であってもよいし、可変値であってもよい。所定時間は、日時・季節・天候・飛行場所などによって変化してもよいし、システム管理者が入力した値としてもよい。
【００８８】
風情報と位置情報とのデータセットを受信しない状態が一定期間継続したと判定された場合（Ｓ９；Ｙ）、制御部１１は、自機を通常飛行モードで飛行させる（Ｓ１０）。Ｓ１０においては、制御部１１は、自機の飛行モードを姿勢維持モードから通常飛行モードに切り替える。以降、無人航空機１０は、通常飛行モードに基づいて飛行を制御し、目的地への飛行を優先することになる。
【００８９】
制御部１１は、所定の終了条件が満たされたか否かを判定する（Ｓ１１）。終了条件は、本処理を終了するために定められた条件であればよく、例えば、無人航空機１０が目的地に到着することであってもよいし、無人航空機１０が着陸することであってもよい。終了条件が満たされたと判定されない場合（Ｓ１０；Ｎ）、Ｓ１の処理に戻る。終了条件が満たされたと判定された場合（Ｓ１０；Ｙ）、本処理は終了する。
【００９０】
以上説明した無人航空機制御システム１によれば、各無人航空機１０は、他機が検出した風情報に基づいて自機の飛行を制御し、自機が実際に風を受ける前に飛行制御することが可能なので、風の変化に対する飛行制御の遅れを軽減することができる。飛行制御の遅れを軽減することで、飛行の安全性を高めることができる。例えば、無人航空機１０が、旅客機などに比べて機体が非常に軽く風に煽られがちであったとしても、無人航空機１０がバランスを崩したり墜落したりする恐れを低減することができる。また例えば、風の影響は大気中の場所によって大きく異なり、場所が少し違えば風の影響が大きく違うことが多く、地上に配置された風速計では、無人航空機１０の飛行場所のおおざっぱな風情報を取得することはできるが、ピンポイントで風情報を取得することは困難である。この点、無人航空機１０の飛行経路上に風速計を配置するのは困難であるところ、例えば、自機よりも先を行く他の無人航空機１０が検出したピンポイントな風情報を利用することで、飛行制御の遅れをより効果的に軽減し、飛行の安定性を高めることができる。
【００９１】
また、各無人航空機１０が、風情報だけではなく、第１位置情報と第２位置情報とに更に基づいて飛行制御をする場合には飛行制御の精度を高めることができるので、風の変化に対する飛行制御の遅れをより効果的に軽減することができる。
【００９２】
また、各無人航空機１０が、全ての無人航空機１０の風情報ではなく、風上側にいる他の無人航空機１０の風情報に基づいて飛行制御をする場合には飛行制御の精度を高めることができるので、風の変化に対する飛行制御の遅れをより効果的に軽減することができる。
【００９３】
また、各無人航空機１０が、風情報が示す風向きと、第１位置情報と第２位置情報との間の方向と、に基づいて飛行制御をする場合には、飛行制御の精度を高めることができるので、風の変化に対する飛行制御の遅れをより効果的に軽減することができる。
【００９４】
また、各無人航空機１０が風情報の変化が大きい場合に他機に送信することで、無駄な風情報がやり取りされる必要がないので、無人航空機制御システム１全体の通信量を低減したり、無人航空機制御システム１全体の処理負荷を軽減したりすることができる。また、無人航空機制御システム１の処理速度を速めることができ、飛行の安全性を効果的に高めることができる。
【００９５】
また、各無人航空機１０が風情報に基づいて飛行モードを切り替えることにより、飛行制御処理を簡略化することができる。このため、無人航空機制御システム１全体の処理負荷を軽減したり処理速度を速めたりすることができ、飛行の安全性を効果的に高めることができる。
【００９６】
［４．変形例］
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【００９７】
図７は、変形例の機能ブロック図である。図７に示すように、変形例では、実施形態で説明した機能に加え、外力予測部１０５、統計情報取得部１０６、及び風予測部１０７が実現される。これら各機能は、制御部１１を主として実現される。
【００９８】
（１）例えば、無人航空機制御システム１は、風情報に基づいて各無人航空機１０に働く外力を予測し、外力の予測結果に基づいて飛行制御をしてもよい。変形例（１）の無人航空機制御システム１は外力予測部１０５を含む。外力予測部１０５は、風情報に基づいて、自機に対する外力に関する予測を行う。なお、外力は、ベクトルで示されてもよいし、方位と力の大きさの組み合わせで示されてもよい。また、外力は、２次元的な方向で示されてもよいし、３次元的な方向で示されてもよい。
【００９９】
例えば、風情報と外力との関係は、予めデータ記憶部１００に記憶された外力予測データに定義されているようにしてもよい。外力予測データは、プログラム形式のデータであってもよいし、数式形式又はテーブル形式のデータであってもよい。即ち、上記関係は、プログラムコードの一部として定義されていてもよいし、数式又はテーブルで定義されていてもよい。
【０１００】
例えば、外力予測データは、風情報が示す風が強いほど外力が強くなるように定められている。また例えば、外力予測データは、風情報が示す風向きに対して外力が働くように定められている。なお、外力予測データは、無人航空機１０の形状に応じて定められていてもよい。例えば、無人航空機１０の表面積が広いほど外力が強くなるように定められているようにしてもよいし、無人航空機１０の形状に応じて風情報が示す風向きを所定角度だけ変更した方向に外力が働くようにさだめられているようにしてもよい。例えば、外力予測部１０５は、風情報に関連付けられた外力に基づいて、自機に対する外力に関する予測を行う。
【０１０１】
飛行制御部１０４は、外力予測部１０５の予測結果に基づいて、自機の飛行を制御する。本変形例の飛行制御データには、外力と飛行制御方法との関係を示されているものとする。例えば、飛行制御部１０４は、外力に関連付けられた飛行制御方法に基づいて、自機の飛行を制御する。例えば、実施形態と同様に、飛行制御部１０４は、外力予測部１０５が予測した外力が閾値以上となった場合に飛行モードを姿勢維持モードにしてもよい。
【０１０２】
また例えば、飛行制御部１０４は、外力予測部１０５が予測した外力に対抗するように、自機の飛行を制御してもよい。例えば、飛行制御部１０４は、外力の強さに基づいて、自機の飛行を制御する。例えば、飛行制御部１０４は、外力予測部１０５の予測結果が示す外力の強さに基づいて、プロペラの回転数を決定する。例えば、飛行制御部１０４は、外力予測部１０５の予測結果が示す外力が強いほどプロペラの回転数を多くする。
【０１０３】
また例えば、飛行制御部１０４は、外力予測部１０５の予測結果が示す外力の方向に基づいて、自機の飛行を制御する。例えば、飛行制御部１０４は、外力予測部１０５の予測結果が示す外力の方向と反対方向の推進力が強くなるように、自機の飛行を制御する。例えば、飛行制御部１０４は、外力予測部１０５の予測結果が示す外力の方向の上流側のプロペラの回転数を下流側のプロペラの回転数よりも少なくすることで、外力に対抗する方向に機体が傾くようにする。
【０１０４】
変形例（１）によれば、外力を予測することで飛行制御の精度を高めることができるので、風の変化に対する飛行制御の遅れをより効果的に軽減することができる。
【０１０５】
また、外力の方向に基づいて飛行制御をする場合には、飛行制御の精度を高めることができるので、風の変化に対する飛行制御の遅れをより効果的に軽減することができる。
【０１０６】
（２）また例えば、無人航空機制御システム１は、現在取得された風情報だけでなく、過去の風の統計情報を更に考慮して、より詳細な飛行制御をしてもよい。変形例（２）の無人航空機制御システム１は統計情報取得部１０６を含む。統計情報取得部１０６は、自機が飛行する場所の風に関する統計情報を取得する。
【０１０７】
飛行制御部１０４は、統計情報に更に基づいて、自機の飛行を制御する。統計情報は、無人航空機１０が飛行する場所及びその周辺（例えば、数メートル〜数キロメートル程度の範囲）における過去の風情報である。統計情報は、ある地点における風の変化を統計として示してもよいし、ある地点の風と他の地点の風との相関関係を統計として示してもよい。統計情報は、無人航空機１０が過去に取得した風情報によって作成されてもよいし、地上における風速計で検出された風情報によって作成されてもよいし、官公庁や民間の会社が提供する気象情報によって作成されてもよい。
【０１０８】
例えば、飛行制御部１０４は、風情報と統計情報とに基づいて、自機が受ける風の予測をする。例えば、統計情報に、ある地点における風の変化が示されている場合には、飛行制御部１０４は、風情報に基づいて将来の風の予測を行う。また例えば、統計情報に、ある地点の風と他の地点の風との相関関係が統計として示されている場合には、飛行制御部１０４は、他機が検出した風情報に基づいて、自機の位置における風情報の予測を行う。
【０１０９】
飛行制御部１０４は、上記のようにして予測した自機が受ける風の予測結果に基づいて、自機の飛行を制御する。例えば、飛行制御データには、風の予測結果と飛行制御方法との関係を示されているものとする。この関係には、予測される風に対抗するように飛行制御をするように、飛行制御方法が定められている。例えば、飛行制御部１０４は、風の予測結果に関連付けられた飛行制御方法に基づいて、自機の飛行を制御する。風の予測結果を利用すること以外は、飛行制御方法自体は実施形態で説明した方法と同様であってよい。
【０１１０】
例えば、飛行制御部１０４は、風予測部１０７の予測結果が示す風の方向に基づいて、自機の飛行を制御する。例えば、飛行制御部１０４は、風予測部１０７の予測結果が示す風向きと反対方向の推進力が強くなるように、自機の飛行を制御する。例えば、飛行制御部１０４は、外力予測部１０５の予測結果が示す風向きの風上側のプロペラの回転数を風下側のプロペラの回転数よりも少なくする。
【０１１１】
変形例（２）によれば、統計情報を利用することで飛行制御の精度を高めることができるので、風の変化に対する飛行制御の遅れをより効果的に軽減することができる。
【０１１２】
（３）また例えば、無人航空機制御システム１は、現在取得された風情報だけでなく、無人航空機１０が飛行する地域の将来の風を予測して、より詳細な飛行制御をしてもよい。変形例（３）の無人航空機制御システム１は風予測部１０７を含む。風予測部１０７は、風情報に基づいて、自機が飛行する場所の今後の風に関する予測を行う。風の予測は、将来の１時点だけでもよいし、一定期間の時系列的な変化であってもよい。
【０１１３】
例えば、風情報と風の予測結果との関係を示す風予測データが、予めデータ記憶部１００に記憶されているようにしてもよい。風予測データは、プログラム形式のデータであってもよいし、数式形式又はテーブル形式のデータであってもよい。即ち、上記関係は、プログラムコードの一部として定義されていてもよいし、数式又はテーブルで定義されていてもよい。風予測データは、無人航空機１０が過去に取得した風情報によって作成されてもよいし、地上における風速計で検出された風情報によって作成されてもよいし、官公庁や民間の会社が提供する気象情報によって作成されてもよい。
【０１１４】
例えば、風情報の変化の傾向と、今後の風の予測結果と、の関係が風予測データに定義されていてもよい。例えば、特定方向の風が数秒間かけて弱まった場合には、その次の瞬間に逆方向の突風が吹くといった予測結果が風予測データに定義されている。また例えば、特定方向の風が数秒間継続した後に、急に風が止むといった予測結果が風予測データに定義されている。例えば、外力予測部１０５は、風情報に関連付けられた予測結果を取得する。
【０１１５】
飛行制御部１０４は、風予測部１０７の予測結果に基づいて、自機の飛行を制御する。本変形例の飛行制御データは、風の予測結果と飛行制御方法との関係を示されているものとする。この関係には、予測される風に対抗するように飛行制御をするように、飛行制御方法が定められている。例えば、飛行制御部１０４は、風の予測結果に関連付けられた飛行制御方法に基づいて、自機の飛行を制御する。予測結果に基づく飛行制御方法は、変形例（２）で説明したものと同様であってよい。
【０１１６】
変形例（３）によれば、風の予測結果を利用することで飛行制御の精度を高めることができるので、風の変化に対する飛行制御の遅れをより効果的に軽減することができる。例えば、突風が吹いた場合に対抗しようとして風上側の推進力を増加させたとしても、その後に突風が突然止まったとしたら、反動によって無人航空機１０が傾いてしまう可能性があるが、風を予測してフィードフォワード制御をすることによってこのような反動を防止することができる。
【０１１７】
（４）また例えば、上記変形例（１）〜（３）の何れか２つ以上を組み合わせるようにしてもよい。
【０１１８】
また例えば、無人航空機１０の位置関係を考慮した飛行制御方法は、上記の例に限られない。例えば、飛行制御部１０４は、無人航空機１０の位置関係と飛行制御方法との関係が飛行制御データに定義されていてもよい。この場合、飛行制御部１０４は、第１位置情報と第２位置情報との位置関係に関連付けられた飛行制御方法に基づいて、自機の飛行を制御する。例えば、風に対抗するように無人航空機１０を制御する場合には、無人航空機１０の推進力を位置関係に応じて異ならせてもよい。例えば、無人航空機１０は、風情報を検知した他機が自機の風上方向にいる場合は、風への対抗力を強くし、風情報を検知した他機が自機の風上方向から少しずれた位置にいる場合は、風への対抗力を弱くしてもよい。
【０１１９】
また例えば、風向きを考慮した飛行制御方法は、上記の例に限られない。例えば、風向きと飛行制御方法との関係が飛行制御データに定義されていてもよい。この場合、飛行制御部１０４は、風情報が示す風向きに関連付けられた飛行制御方法に基づいて、自機の飛行を制御する。例えば、風に対抗するように無人航空機１０を制御する場合には、無人航空機１０の推進力を風向きと移動方向とに応じて異ならせてもよい。例えば、無人航空機１０は、風情報が示す風向きと移動方向とのずれが小さい場合には、それほど左右に煽られないので風への対抗力を弱くし、当該ずれが大きい場合には、左右に煽られる蓋然性が高いので風への対抗力を強くしてもよい。
【０１２０】
また例えば、各無人航空機１０の送信部１０３が、風情報の変化に関係なく、他機に対して風情報を送信する場合には、飛行制御部１０４が、受信した風情報の変化が閾値以上であるかを判定し、当該判定結果に基づいて、自機の飛行を制御してもよい。
【０１２１】
また例えば、各無人航空機１０は、特に第１位置情報と第２位置情報を考慮せずに飛行制御をしてもよい。この場合、各無人航空機１０は、他機から風情報を受信した場合に無条件で姿勢維持モードに切り替えてもよい。また例えば、各無人航空機１０は、特に風向きを考慮せずに飛行制御をしてもよい。この場合、各無人航空機１０は、他機から風情報を受信した場合に無条件で姿勢維持モードに切り替えてもよい。
【０１２２】
また例えば、各無人航空機１０が自機の飛行を制御する場合を説明したが、無人航空機１０が他機の飛行を制御してもよい。例えば、無人航空機１０Ａ〜１０Ｅのうち、無人航空機１０Ａが、他の無人航空機１０Ｂ〜１０Ｅの飛行を制御してもよい。即ち、無人航空機１０Ａがマスタの役割を果たし、無人航空機１０Ｂ〜１０Ｅがスレーブの役割を果たしてもよい。この場合、飛行制御部１０４は、無人航空機１０Ａでのみ実現されるようにしてもよい。なお、マスタの役割を果たす無人航空機１０は１台だけでなく複数台存在してもよい。
【０１２３】
また例えば、各無人航空機１０は、必ずしも、隊列を組むようにして飛行する必要はなく、建物の表と裏とで別れて飛行してもよい。また例えば、各無人航空機１０は、同じ飛行経路を飛行する必要はなく、他の無人航空機１０とは別の飛行経路を飛行してもよい。ただし、この場合、互いの飛行経路が全く異なる場所だと風情報の信頼性がないので、飛行経路の一部が重なっていたり、飛行経路の距離が所定距離（例えば、数メートル〜数百メートル程度）未満となっていたりしてもよい。
【０１２４】
また例えば、風情報は、風速と風向きに関する情報でなくてもよく、風が吹いたか否かを識別するための情報だけを含んでいてもよい。この場合、各無人航空機１０は、他の無人航空機１０から風情報を受信した場合に、風速と風向きを特定することはできないが、当該風情報を受信したら無条件で姿勢維持モードに移行するようにしてもよい。
【０１２５】
また例えば、各無人航空機１０は、所定経路上を自動飛行しなくてもよく、操縦者が無人航空機１０を操縦してもよい。この場合、無人航空機１０は、操縦者が操作するコントローラや端末から操作内容を取得し、当該操作内容に基づいてプロペラの回転数を制御することになる。このように、操縦者が手動で操縦する無人航空機１０であっても、他の無人航空機１０によって得られた風情報に基づいて飛行制御が行われるようにしてもよい。
【０１２６】
また例えば、無人航空機制御システム１は、無人航空機１０以外のコンピュータを含んでいてもよく、当該コンピュータによって各無人航空機１０の飛行制御が実行されてもよい。
【０１２７】
図８は、変形例に係る無人航空機制御システム１の全体構成を示す図である。図８に示すように、無人航空機制御システム１は、複数の無人航空機１０とサーバ２０とを含む。各無人航空機１０とサーバ２０とは、インターネットなどのネットワークに接続されている。なお、サーバ２０は、１台であってもよいし、複数台であってもよい。
【０１２８】
サーバ２０は、サーバコンピュータであり、制御部２１、記憶部２２、及び通信部２３を含む。制御部２１、記憶部２２、及び通信部２３のハードウェア構成は、それぞれ制御部１１、記憶部１２、及び通信部１３と同様のため、ここでは説明を省略する。
【０１２９】
例えば、データ記憶部１００は、サーバ２０の記憶部２２を主として実現されてもよい。この場合は、各無人航空機１０は、サーバ２０のデータ記憶部１００が記憶するデータをネットワーク経由で取得してもよい。
【０１３０】
また例えば、第１位置情報取得部１０１と第２位置情報取得部１０２がサーバ２０の制御部２１を主として実現されてもよい。この場合、サーバ２０は、各無人航空機１０から位置情報を取得することになる。
【０１３１】
また例えば、飛行制御部１０４は、サーバ２０の制御部２１を主として実現されてもよい。この場合、飛行制御部１０４は、ある無人航空機１０から取得した風情報に基づいて、他の無人航空機１０の飛行を制御することになる。飛行制御方法自体は、実施形態及び上記変形例で説明した処理と同様の処理であればよい。飛行制御部１０４は、プロペラの回転数などの指令を無人航空機１０に送信することによって、飛行制御を行う。無人航空機１０は、サーバ２０の飛行制御部１０４から受信した指令に基づいて、プロペラの回転数を変化させる。
【０１３２】
また例えば、外力予測部１０５は、サーバ２０の制御部２１を主として実現されてもよい。この場合、外力予測部１０５は、ある無人航空機１０から取得した風情報に基づいて、他の無人航空機１０に働く外力を予測することになる。また例えば、統計情報取得部１０６は、サーバ２０の制御部２１を主として実現されてもよい。この場合、統計情報取得部１０６は、データ記憶部１００に記憶された統計情報を取得し、風の予測をする。また例えば、風予測部１０７は、サーバ２０の制御部２１を主として実現されてもよい。この場合、風予測部１０７は、データ記憶部１００に記憶された風予測データを取得し、風の予測をする。
【０１３３】
また例えば、上記説明した各機能は、無人航空機制御システム１の何れかのコンピュータで実現されるようにすればよく、無人航空機１０とサーバ２０とで各機能が分担されていてもよい。更に、上記説明した各機能のうち、飛行制御部１０４以外の機能は省略してもよい。
【図１】
0006613011.tif 000002
【図２】
0006613011.tif 000003
【図３】
0006613011.tif 000004
【図４】
0006613011.tif 000005
【図５】
0006613011.tif 000006
【図６】
0006613011.tif 000007
【図７】
0006613011.tif 000008
【図８】
0006613011.tif 000009