(57)【要約】【課題】飛行体の着陸地点を精度良く制御する。【解決手段】飛行体２０が目的地の上方に到着すると、飛行体２０の撮像部２４０は、飛行体２０の下方を撮像する。この画像には目的地が含まれている。撮像部２４０は、撮像部２４０が生成した画像を解析することにより、飛行体２０の着陸候補位置を示す着陸位置情報を生成し、この着陸位置情報を、飛行体２０に出力する。飛行体２０は、この着陸位置情報が示す位置に着陸するように、駆動部２１０を制御する。【選択図】図３
2020057225.tif 000002
【特許請求の範囲】
【請求項１】
飛行体に搭載された撮像部から、当該飛行体より下方を撮像した画像を取得する画像取得部と、
前記画像を解析することにより、前記飛行体の着陸候補位置を示す着陸位置情報を生成し、前記着陸位置情報を、前記飛行体の飛行を制御する制御部に出力する解析部と、
を備え、
前記制御部は、目的地の位置情報を用いて、前記飛行体を前記目的地に移動させ、
前記解析部は、前記目的地を含む前記画像を解析することにより、前記着陸位置情報を生成する情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記解析部は、前記目的地の敷地の境界線を推定し、推定した境界線を用いて前記着陸位置情報を生成する情報処理装置。
【請求項３】
請求項２に記載の情報処理装置において、
前記飛行体が着陸すべき位置となるべき外構上の構造物が予め定められており、
前記解析部は、前記構造物の位置を特定し、当該特定した位置を前記着陸候補位置とする情報処理装置。
【請求項４】
請求項３に記載の情報処理装置において、
前記構造物は、玄関、庭、及び駐車場の少なくとも一つであり、
複数の前記構造物が優先順位をつけて予め定められており、
前記着陸候補位置が満たすべき条件が予め定められており、
前記解析部は、前記優先順位が高い前記構造物から順に、前記条件を満たすか否かを判断し、最初に前記条件を満たした前記構造物の位置を、前記着陸候補位置に設定する情報処理装置。
【請求項５】
請求項３又は４に記載の情報処理装置において、
前記制御部は、前記目的地の地図情報を取得し、前記画像と前記地図情報の一致度が基準を満たしたときには、予め設定されていた地点に前記飛行体が着陸するための制御を行い、
前記解析部は、前記一致度が前記基準を満たさなかった時に、前記着陸位置情報を生成して前記制御部に出力する情報処理装置。
【請求項６】
請求項１〜５のいずれか一項に記載の情報処理装置において、
前記解析部は、前記飛行体が前記目的地に到着したとき又は到着した後に撮像された前記画像を解析することにより、前記着陸位置情報を生成する情報処理装置。
【請求項７】
請求項１〜６のいずれか一項に記載の情報処理装置において、
前記飛行体はドローンである情報処理装置。
【請求項８】
コンピュータが、
飛行体に搭載された撮像部から、前記飛行体の目的地を含む画像を取得し、
前記画像を解析することにより、前記飛行体の着陸候補位置を示す着陸位置情報を生成し、前記着陸位置情報を、前記飛行体の飛行を制御する制御部に出力する情報処理方法。
【請求項９】
コンピュータを、請求項１〜７のいずれか一項に記載の情報処理装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年は、いわゆるドローンなどの飛行体を自動で飛行させるために、様々な技術開発が行われている。例えば特許文献１には、飛行体の飛行ルートを、地図情報を用いて設定することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１１７０１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年は、上記した飛行体を自動で所定の場所まで飛行させ、着陸させることが検討されている。この場合、飛行体の着陸地点を精度良く制御する必要がある。例えば飛行体の着陸地点に家などの構造物が存在していた場合、飛行体及び構造物が損傷する可能性が出てくる。
【０００５】
本発明が解決しようとする課題としては、飛行体の着陸地点を精度良く制御することが一例として挙げられる。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明は、飛行体に搭載された撮像部から、当該飛行体より下方を撮像した画像を取得する画像取得部と、
前記画像を解析することにより、前記飛行体の着陸候補位置を示す着陸位置情報を生成し、前記着陸位置情報を、前記飛行体の飛行を制御する制御部に出力する解析部と、
を備え、
前記制御部は、目的地の位置情報を用いて、前記飛行体を前記目的地に移動させ、
前記解析部は、前記目的地を含む前記画像を解析することにより、前記着陸位置情報を生成する情報処理装置である。
【０００７】
請求項８に記載の発明は、コンピュータが、
飛行体に搭載された撮像部から、前記飛行体の目的地を含む画像を取得し、
前記画像を解析することにより、前記飛行体の着陸候補位置を示す着陸位置情報を生成し、前記着陸位置情報を、前記飛行体の飛行を制御する制御部に出力する情報処理方法である。
【０００８】
請求項９に記載の発明は、コンピュータを、請求項１〜７のいずれか一項に記載の情報処理装置として機能させるプログラムである。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態に係る飛行体制御システムの構成を示す図である。
【図２】情報処理装置の機能構成の一例を示す図である。
【図３】飛行体の機能構成の一例を示す図である。
【図４】情報処理装置のハードウェア構成の一例を示す図である。
【図５】飛行体のハードウェア構成の一例を示す図である。
【図６】情報処理装置が行う処理の第１例を示す図である。
【図７】（Ａ）及び（Ｂ）は、ルート生成部が図６のステップＳ３０で行う処理の第１例を説明するための図である。
【図８】（Ａ）及び（Ｂ）は、ルート生成部が図６のステップＳ３０で行う処理の第２例を説明するための図である。
【図９】（Ａ）及び（Ｂ）は、ルート生成部が図６のステップＳ３０で行う処理の第３例を説明するための図である。
【図１０】情報処理装置が行う処理の第２例を示す図である。
【図１１】（Ａ）及び（Ｂ）はノード設定部が行う処理を説明するための図である。
【図１２】飛行体が目的地まで飛行するときにルート取得部、撮像部、及び制御部が行う処理を示す図である。
【図１３】図１２のステップＳ２４０（着陸処理）の詳細を示す図である。
【図１４】着陸位置を説明するための図である。
【図１５】飛行体が有する緊急着陸機能を示す図である。
【図１６】図１５のステップＳ３３０（緊急着陸処理）の詳細例を示す図である。
【図１７】第２の実施形態に係る情報処理装置の機能構成を示す図である。
【図１８】（Ａ）及び（Ｂ）はルート修正部による飛行ルートの修正の第１例を示す図である。
【図１９】（Ａ）及び（Ｂ）はルート修正部による飛行ルートの修正の第２例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【００１１】
（第１の実施形態）
図１は、第１の実施形態に係る飛行体制御システムの構成を示す図である。この飛行体制御システムは、情報処理装置１０及び飛行体２０を備えている。情報処理装置１０及び飛行体２０は、通信回線を介して互いに通信する。この通信回線の少なくとも一部は公衆通信網であってもよい。また、この通信回線の少なくとも一部は無線通信であるのが好ましい。飛行体２０は一台であってもよいし、複数台であってもよい。
【００１２】
情報処理装置１０は、飛行体２０の飛行ルートを設定するための各種処理を行う。言い換えると、情報処理装置１０はルート設定装置及び飛行ルート処理装置として機能する。また、情報処理装置１０は、この飛行ルートを設定するために必要な情報を更新する。飛行体２０は、例えばドローンといわれている飛行体であり、情報処理装置１０が設定した飛行ルートに従って自律的に飛行する。以下、情報処理装置１０及び飛行体２０について詳細に説明する。
【００１３】
図２は情報処理装置１０の機能構成の一例を示す図である。情報処理装置１０は、情報記憶部１１０、ルート生成部１２０、及び入出力部１３０を備えている。
【００１４】
情報記憶部１１０は、飛行体２０の飛行ルートの生成に必要な情報を記憶している。これらの情報には、ユーザが設定した飛行ルート情報（例えばノードとリンクで構成されるルート情報（以下、ノード・リンク情報と記載））及び、適切な飛行ルートを生成する為の地図情報が含まれている。また、これらの情報には、地図情報、及び飛行ルートを設定するためのノード及びリンクを示す情報（以下、ノード・リンク情報と記載）が含まれていることもある。なお、ノード・リンク情報は地図情報の一部として記憶されていてもよい。
【００１５】
地図情報の一部は、例えば、各種構造物や地形を示す名称を、その位置を示す情報（例えば緯度経度情報や住所情報など）に対応付けたものである。構造物は、例えば建物、橋、道路、線路などの各種の人工的な構造物である。また地図情報の他の一部は、施設の名称や地名を、その位置を示す情報（例えば緯度経度情報や住所情報など）に対応付けたものである。また、地図情報の他の一部は、土地の状態を示す情報を、その土地の位置を示す情報（例えば緯度経度情報や住所情報など）に対応付けて記憶している。土地の状態は、例えば市街地、田、畑、森林等である。
【００１６】
さらに地図情報の他の一部は、飛行禁止区域の位置及び範囲を示す情報（例えば緯度経度情報や住所情報など）である。この飛行禁止区域に関する情報は、飛行条件別に記憶されていてもよい。飛行条件は、時刻（例えば飛行開始時刻及び飛行終了時刻）、飛行体２０の属性、及び飛行目的の少なくとも一つを含んでいる。時刻は、さらに曜日や月日（又は月）に対応付けられていてもよい。飛行体２０の属性は、例えば飛行体２０の機種、シリアルナンバー、及び総重量の少なくとも一つである。総重量は、飛行体２０そのものの重量である場合もあれば、飛行体２０の重量と飛行体２０が搬送すべき荷物の重量の和である場合もあるし、これらの双方であってもよい。飛行目的は、例えば巡回（警備及び点検の少なくとも一方）、測量、監視、撮影、遊覧、及び荷物の運送がある。巡回の場合、飛行体２０の飛行ルートは、巡回すべき領域を網羅するように設定される。また、飛行条件は飛行時の気象条件を含んでいてもよい。気象条件は、気温、降水量、気圧、風向、風速、及び１時間当たりの日照時間の少なくとも一つを含んでいる。
【００１７】
さらに情報記憶部１１０は、地図情報の一部として、上空から撮影した画像（例えば衛星画像や航空画像）をその画像の位置を示す位置情報に紐づけて記憶していてもよい。また、情報記憶部１１０は、外部から動的に入力されるイベント情報（花火大会のエリア・開催日時情報等）を記憶していてもよい。
【００１８】
ノード・リンク情報は、ノードの位置を示す情報（例えば緯度経度情報や住所情報など：以下ノードと表記することも有る）およびリンクを示す情報（以下、リンクと表記することも有る）を含んでいる。リンクは、例えばリンクの両端となるノードを特定する情報を含んでいる。なお、ノード・リンク情報は、飛行体２０の飛行条件に紐づけて記憶されていてもよい。この場合、ノード・リンク情報は、飛行体２０の飛行条件別に設けられたデータベースに記憶されていてもよい。また、ノードおよびリンクのそれぞれに、そのノードまたはリンクが用いられるべき飛行条件が付与されていてもよい。
【００１９】
また、リンクは、飛行する向き（どのノードからどのノードに向かう方向か）を示す情報を含んでいてもよい。この場合、後述するルート情報の生成処理において、リンクが示す向きに従うように、飛行ルートが設定される。
【００２０】
また、ある２つの地点間を頻繁に飛行体２０が飛行することがあり得る。この場合、情報記憶部１１０は、この２つの地点を結ぶ飛行ルートを予め記憶していてもよい。この場合、地点Ａから地点Ｂに向かう飛行ルートと、地点Ｂから地点Ａに向かう飛行ルートが平面的または３次元的に重ならないようにしてもよい。このようにすると、複数の飛行体２０が２つの地点間を同時に飛行する場合において、２つの飛行体２０が衝突することを抑制できる。
【００２１】
ルート生成部１２０は、飛行体２０の飛行ルートを示す情報（以下、ルート情報と記載）を生成する。ルート情報は、少なくともノードを含んでいるが、さらにリンクを含んでいてもよい。ルート生成部１２０は、例えば飛行体２０の現在位置又は出発位置（以下現在位置と記載）を示す情報（以下、現在位置情報と記載）、及び飛行体２０の目的地を示す情報（以下、目的地情報と記載）を取得し、これらの情報および情報記憶部１１０が記憶している情報を用いてルート情報を生成する。さらにルート生成部１２０は、飛行体２０の飛行目的を示す情報を取得してもよい。この場合、ルート生成部１２０は、この飛行目的に対応するノード・リンク情報を用いてルート情報を生成する。
【００２２】
入出力部１３０は、飛行体２０と通信する。入出力部１３０は、例えばルート生成部１２０が生成したルート情報を飛行体２０に送信する。
【００２３】
情報処理装置１０は、さらにノード設定部１４０を有している。ノード設定部１４０は、情報記憶部１１０が記憶しているノード・リンク情報を更新する。具体的には、ノード設定部１４０は、飛行体２０が実際に飛行したルートを示す情報（以下飛行実績情報と記載）を取得し、この飛行実績情報を用いてノード・リンク情報を更新する。この更新は、例えばノードの追加及びリンクの追加であるが、ノードの削除及びリンクの削除の少なくとも一方を含んでいてもよい。例えばノード設定部１４０は、１０の操作者が入力した上方に従って、ノード及び／又はリンクの削除を行ってもよい。
【００２４】
図３は、飛行体２０の機能構成の一例を示す図である。飛行体２０は、駆動部２１０、ルート取得部２２０、ルート記憶部２３０、撮像部２４０、解析部２５０、及び制御部２６０を備えている。
【００２５】
駆動部２１０は、飛行体２０を飛行させるための駆動系、及び各種センサを有している。この駆動系は、例えばプロペラ、このプロペラを回すモータ、及びこのモータの動力源となる電池を含んでいる。また、上記した各種センサは、飛行体２０の現在位置を算出するためのセンサ（例えばＧＰＳセンサ）、モータの状態を測定するセンサや電池の状態（残量を含む）を測定するセンサを含んでいる。
【００２６】
ルート取得部２２０は、情報処理装置１０からルート情報を取得し、ルート記憶部２３０に記憶させる。
【００２７】
撮像部２４０（画像取得部）は、飛行体２０の周囲、例えば下方を撮像する。撮像部２４０は、飛行体２０が飛行している間は常に動作していてもよいし、飛行体２０が所定の条件を満たしたときにのみ動作してもよい。所定の条件の一例は飛行体２０が目的地から所定距離以内に位置していることである。飛行体２０の飛行目的が巡回の場合、撮像部２４０は飛行体２０が巡回すべき領域の上空を飛行している間は常に撮像している。また、撮像部２４０が生成する画像のフレームレートは、例えば０．５フレーム／秒以上６０フレーム／秒以下であるが、この範囲に限定されない。
【００２８】
解析部２５０は、撮像部２４０が生成した画像を処理する。解析部２５０が行う処理の詳細は後述する。なお、解析部２５０は飛行体２０の外部（例えば情報処理装置１０）に設けられていてもよい。この場合、情報処理装置１０の入出力部１３０（画像取得部）は無線通信を介して解析部２５０が生成した画像を取得する。
【００２９】
制御部２６０は、飛行体２０の現在位置を検出するためのセンサ（例えばＧＰＳ）を含んでおり、このセンサの検出結果を用いて、飛行体２０がルート情報に従って飛行するように、駆動部２１０を制御する。また、制御部２６０は、駆動部２１０を制御する際、解析部２５０による画像の解析結果を用いる。また制御部２６０は時計機能を有していてもよい。
【００３０】
飛行体２０は、さらに情報記憶部２７０及び情報生成部２８０を備えている。情報記憶部２７０は、情報処理装置１０の情報記憶部１１０と同様の情報を記憶している。また情報記憶部２７０は、飛行体２０が着陸してよい地点を示す情報（以下、着陸候補地点情報と記載）を複数記憶している。地図情報のデータ構造は、この情報を含むように構成されている。この着陸候補地点情報は、飛行体２０が緊急時に着陸すべき地点を示している。情報生成部２８０は、情報記憶部２７０が記憶している情報を用いて、複数の着陸候補地点情報から、飛行体２０の目的地より近い地点で合って飛行体２０が着陸すべき地点を示す情報（以下、着陸地点情報と記載）を生成する。
【００３１】
なお、上記した着陸候補地点情報は、情報処理装置１０の情報記憶部１１０にも記憶されていてもよい。この場合、情報処理装置１０のルート生成部１２０は、ルート情報を生成すると、そのルート情報に従って飛行した場合に適用すべき着陸候補地点情報を選択し、ルート情報に含めてもよい。例えばルート生成部１２０は、ルート情報が示す飛行ルートから基準距離以内に位置する着陸候補地点情報を選択する。この場合、情報処理装置１０は、上記した着陸候補地点情報を読み出して出力する出力部を備えていてもよい。
【００３２】
図４は、情報処理装置１０のハードウェア構成の一例を示す図である。情報処理装置１０の主な構成は、集積回路を用いて実現される。この集積回路は、バス４０２、プロセッサ４０４、メモリ４０６、ストレージデバイス４０８、入出力インタフェース４１０、及びネットワークインタフェース４１２を有する。バス４０２は、プロセッサ４０４、メモリ４０６、ストレージデバイス４０８、入出力インタフェース４１０、及びネットワークインタフェース４１２が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ４０４などを互いに接続する方法は、バス接続に限定されない。プロセッサ４０４は、マイクロプロセッサなどを用いて実現される演算処理装置である。メモリ４０６は、RAM（Random Access Memory）などを用いて実現されるメモリである。ストレージデバイス４０８は、ROM（Read Only Memory）やフラッシュメモリなどを用いて実現されるストレージデバイスである。
【００３３】
入出力インタフェース４１０は、情報処理装置１０を周辺デバイスと接続するためのインタフェースである。
【００３４】
ネットワークインタフェース４１２は、情報処理装置１０を通信網に接続するためのインタフェースである。ネットワークインタフェース４１２が通信網に接続する方法は、無線接続であってもよいし、有線接続であってもよい。
【００３５】
ストレージデバイス４０８は、情報処理装置１０の各機能要素を実現するためのプログラムモジュールを記憶している。プロセッサ４０４は、このプログラムモジュールをメモリ４０６に読み出して実行することで、情報処理装置１０の各機能を実現する。また、ストレージデバイス４０８は情報記憶部１１０としても機能する。
【００３６】
なお、上記した集積回路のハードウェア構成は本図に示した構成に限定されない。例えば、プログラムモジュールはメモリ４０６に格納されてもよい。この場合、集積回路は、ストレージデバイス４０８を備えていなくてもよい。
【００３７】
図５は、飛行体２０のハードウェア構成の一例を示す図である。飛行体２０のうち駆動部２１０及び撮像部２４０を除いた部分は、集積回路を実現される。この集積回路は、バス５０２、プロセッサ５０４、メモリ５０６、ストレージデバイス５０８、入出力インタフェース５１０、及びネットワークインタフェース５１２を有する。これらは、図４に示したバス４０２、プロセッサ４０４、メモリ４０６、ストレージデバイス４０８、入出力インタフェース４１０、及びネットワークインタフェース４１２と同様である。ただし、入出力インタフェース５１０は駆動部２１０及び撮像部２４０に接続している。また、ストレージデバイス５０８はルート記憶部２３０及び情報記憶部２７０としても機能する。
【００３８】
図６は、情報処理装置１０が行う処理の第１例を示している。本図に示す例において、情報処理装置１０は飛行体２０の飛行ルートを示すルート情報を生成する。
【００３９】
まず情報処理装置１０のルート生成部１２０は、飛行ルートを生成するために必要な情報（以下、設定情報と記載）を取得する（ステップＳ１０）。設定情報は、少なくとも飛行体２０の現在位置情報及び目的地情報を取得する。設定情報は、さらに飛行体２０の飛行条件を示す情報を含むのが好ましい。飛行条件の例は上記した通りである。
【００４０】
次いでルート生成部１２０は、情報記憶部１１０が記憶している情報を用いて、飛行体２０の現在位置から目的地までの飛行ルートを示すルート情報を生成する（ステップＳ２０）。飛行ルートの生成方法の一例としては、ノード・リンク情報を用いる方法がある。ルート生成部１２０がノード・リンク情報を用いて飛行ルートを設定する方法は、例えばカーナビゲーションシステムがノード・リンク情報を用いて走行ルートを設定する方法と同様である。
【００４１】
ルート生成部１２０は、飛行時の気象条件によって飛行ルートを変えてもよい。この気象条件は、風向き、気温、及び日光の照射状況の少なくとも一つを含んでいる。ルート生成部１２０は、外部のサーバから気象条件を取得する。例えば現在位置と目的地とを直線的に結ぶ飛行ルートでは逆風となり、かつ風の強さが基準値になると予想される以上の場合、飛行体２０が前方に進めない可能性が出てくるため、ルート生成部１２０は、飛行ルートを迂回ルートに変更する。例えばルート生成部１２０は、風向と真逆に進む方向を含まないように迂回ルートを設定する。また、気温や日光の照射情報の少なくとも一方が基準値以下の場合、バッテリーの能力が低下するため、ルート生成部１２０は、飛行ルートをなるべく直線状にする。
【００４２】
また、ルート生成部１２０は、隣り合う２つのリンクが成す角度が基準値以上（例えば９０°以上）になるように、ノードを選択するのが好ましい。
【００４３】
ここで、ノード・リンク情報が飛行体２０の飛行条件別（又はそのノード・リンクが適用すべき飛行条件に紐づけて）に記憶されており、ステップＳ１０においてルート生成部１２０が飛行条件を取得していた場合、ルート生成部１２０は、ステップＳ１０において取得した飛行条件に対応するノード・リンク情報を用いる。
【００４４】
次いでルート生成部１２０は、ルート情報を修正することにより、飛行体２０が飛行すべき飛行ルートを修正する（ステップＳ３０）。この処理の詳細については後述する。
【００４５】
その後、情報処理装置１０の入出力部１３０はルート情報を飛行体２０に送信する。
【００４６】
図７は、ルート生成部１２０が図６のステップＳ３０で行う処理の第１例を説明するための図である。上記したように、ルート生成部１２０は、複数のノードを取得し、互いに前後するノードをつないでリンクを生成することにより、ルート情報を生成する。ただし、この状態では、図７（Ａ）に示すように、リンクのうちノードにつながる部分は直線であり、その結果、ルート情報が示す飛行ルートに沿って飛行体２０が飛行する場合、飛行体２０はノード近傍で急峻に曲がる必要が出てくる。一方、飛行体２０は急峻に曲がる場合、スピードを落とし、その場で静止する必要が出てくる。この場合、飛行体２０はエネルギーを無駄に使うことになり、その結果、飛行可能距離が短くなってしまう。
【００４７】
そこでルート生成部１２０は、旋回時における移動速度の減速もしくは静止をさけることにより、エネルギーの消費を抑える。具体的には、図７（Ｂ）に示すように、飛行ルートのうち、隣り合うリンクのつなぎ目を曲線状にする。例えば、飛行ルートが、第１のノード（例えばノードｎ２）と、このノードにつながる第１のリンク（例えばリンクＬ１）及び第２のリンク（例えばリンクＬ２）を含むとする。ルート生成部１２０は、飛行ルートのうち第１のリンクに相当する部分から第２のリンクに相当する部分に移る中間部を曲線状にする。ここでも散られる曲線は、例えば円弧、楕円弧、放物線、及び双曲線の少なくとも一つを用いて形成されるが、これに限定されない。
【００４８】
ここで、ルート生成部１２０は、図７（Ｂ）に示すように、修正後の飛行ルートから上記した第１のノード（例えばノードｎ２）を外してもよいし、修正後の飛行ルートがこの第１のノードを通るようにしてもよい。また、ルート生成部１２０は、第１のリンクの端部及び第２のリンクの端部の双方を曲線状にしてもよいし、一方の端部のみを曲線状にしてもよい。また、ルート生成部１２０は、リンクの端部のうち曲線状にする部分の長さや曲率半径を、飛行体２０の飛行速度や飛行体２０の重量を用いて設定してもよい。例えば、飛行体２０が重い場合や飛行速度が速い場合、リンクの端部のうち曲線状にする部分を長くする。
【００４９】
またルート生成部１２０は、第１のリンク及び第２のリンクが成す角度（図７（Ａ）に示す小さいほうの角度θ）が基準値以下（例えば１３５°以下）の場合に、図７に示した処理を行ってもよい。さらにルート生成部１２０は、上記した角度条件の代わり又はこの角度条件に加えて、飛行条件に応じて図７に示した処理を行うか否かを定めてもよい。例えばルート生成部１２０は、飛行目的が特定の目的（例えば監視や撮影）以外の場合、図７に示した処理を行う。
【００５０】
なお、上記した処理により、飛行ルートには曲線部（例えば図７（Ｂ）のＲ１，Ｒ２）が含まれる。飛行体２０は、この曲線部を、例えば以下のようにして飛行する。まず、飛行体２０の制御部２６０は、曲線部に沿うように、飛行体２０の進行方向及び旋回角度を設定する。次いで、制御部２６０は、制御部２６０が旋回制御を開始してから実際に飛行体２０が旋回し始めるまでの時間（この時間は例えば予め記憶されている）に、飛行体２０の現在の速度を乗じた値を算出する。次いで、制御部２６０は、曲線部の開始地点から前記した値だけ手間の位置を、旋回制御を開始すべき位置に設定する。
【００５１】
そして制御部２６０は、飛行体２０が旋回制御を開始すべき位置に到達すると、旋回制御を開始する。例えば制御部２６０は、少しずつラダーを入れていくとともに、エルロン及びエレベータを適宜加えることにより、飛行ルートの曲線部に沿って移動（旋回）する。
【００５２】
ルート生成部１２０は、上記した処理において、中間部の曲率半径の最小値を基準値以上にするのが好ましい。この場合、基準値を特定するための情報は、例えば情報記憶部１１０に記憶されている。基準値は、飛行体２０の属性別に定められていてもよいし、上記した飛行条件別、例えば飛行体２０の属性別又は目的別に定められていてもよい。
【００５３】
例えば飛行体２０が大きくなるにつれて、また飛行体２０（荷物がある場合は荷物も含む）が重くなるにつれて、上記した基準値は大きくなる。また、飛行体２０の飛行速度が速くなるにつれて上記した基準値は大きくなる。例えば飛行体２０の飛行目的が荷物の搬送の場合、飛行目的が巡回のときと比較して飛行速度は遅くなる。このため、飛行体２０の飛行目的が荷物の搬送の場合の上記した基準値は、飛行体２０の飛行目的が巡回のときと比較して小さくなる。
【００５４】
ルート生成部１２０は、上記した処理を、現在地に該当するノード及び目的地に該当するノードを除いた、すべてのノードに対して行うのが好ましい。ただしルート生成部１２０は、一部のノードに対してはこの処理を行わなくてもよい。
【００５５】
図８は、ルート生成部１２０が図６のステップＳ３０で行う処理の第２例を説明するための図である。この例において、情報記憶部１１０は、飛行体２０が飛行を避けるべき地点、建造物、又は地域（以下、回避地域と記載）を特定するための情報（以下、回避地域情報と記載）を記憶している。情報記憶部１１０は、回避地域情報を上記した飛行条件別に記憶していてもよいし、その回避地域情報が適用されるべき飛行条件に紐づけて記憶していてもよい。さらに情報記憶部１１０は、回避地域情報を、時刻、曜日、及び季節の少なくとも一つ別に記憶していてもよいし、その回避地域情報が適用されるべき時刻、曜日、及び季節の少なくとも一つに紐づけて記憶していてもよい。また回避地域情報は、飛行体が飛行を回避すべき高さを示す情報も含んでいてもよい。
【００５６】
ルート生成部１２０は、この回避地域情報を用いてルート情報を修正する。例えば、図８（Ａ）に示すように、飛行ルートの一部が飛行を避けるべき地点又は地域αと重なっている場合、図８（Ｂ）に示すように当該地点又は地域αを水平面上で避けるように、ルート情報を修正する。ここでルート生成部１２０は、飛行ルートが地域αから基準距離（例えば１０ｍ以下の予め定められた値）以上離れるようにルート情報を修正するのが好ましい。
【００５７】
ルート情報の修正は、回避地域情報の前後に位置する２つのノードの少なくとも一方を変更することであってもよいし、図８（Ｂ）に示すように、上記した２つのノードを変更せずにリンクの形状を変更することであってもよい。後者の場合、ルート生成部１２０は、飛行ルートの修正部分の曲率半径の最小値を、上記した基準値以上にするのが好ましい。
【００５８】
なお、飛行体２０が飛行を避けるべき地点または地域は、例えば、所定の私有地、人の通行量が多い地域、車両の交通量が多い道路、基準より狭い道路、所定の施設（文化財、鉄道施設、ガソリンスタンド）、及び風が強いと想定される地域の少なくとも一つである。さらに、回避地域情報が示す地点または地域は、線路、空港、港、イベントが行われる領域（例えばイベント会場）、発電所などの特定の施設、所定の道路（例えば高速道路や幹線道路）、及び特定の地域（例えば人口密集地）の少なくとも一つであってもよい。上記した所定の道路は、渋滞情報に基づいて定期的に修正されてもよい。具体的には、道路のうち渋滞している部分及び渋滞すると予想される部分の少なくとも一方が、上記した所定の道路の少なくとも一部として設定される。ここで、渋滞情報は外部のサーバから繰り返し取得してもよい。
【００５９】
図９は、ルート生成部１２０が図６のステップＳ３０で行う処理の第３例を説明するための図である。情報記憶部１１０は、建物の平面形状を示すデータ（家形データ）を、その建物の位置を示す情報（例えば緯度経度情報や住所情報など）に対応付けて記憶している。さらに情報記憶部１１０は、その建物の高さを示すデータ又は３次元形状を示すデータを、その建物の位置を示す情報に対応付けて記憶していることもある。また回避地域情報が、飛行体が飛行を回避すべき高さを示す情報も含んでいることもある。これらの場合、ルート生成部１２０は、飛行体２０が建物に衝突しないように（又は飛行を回避すべき高さを避けるように）飛行ルートを高さ方向に修正することもある。例えば図９（Ａ）に示すように、建物βの高さによっては飛行体２０が建物βに衝突する可能性がある。この場合、ルート生成部１２０はルート情報を修正する。例えばルート生成部１２０は、図９（Ｂ）に示すように、飛行体２０が建物βに衝突しないように、飛行ルートの高さを変更する。
【００６０】
この際、ルート生成部１２０は、飛行体２０の上昇角度θが基準値以下となるように、ルート情報を修正するのが好ましい。具体的には、ルート生成部１２０は、飛行体２０の上昇開始地点を変更することにより、上昇角度θを修正する。
【００６１】
なお、ルート生成部１２０は、建物βの高さが基準値以上の場合、建物βを水平面上で避けるようにルート情報を修正してもよい。この時の処理は、図８を用いて説明したとおりである。
【００６２】
またルート生成部１２０は、交通量が多いと予想される道路（又は予め指定されている道路）を横断する場合、横断距離が短くなるように、例えば道路を直角に横断するようにルートを設定してもよい。
【００６３】
またルート生成部１２０は、上記した処理を、建物のみではなく、地形（例えば山や丘）に対して行ってもよい。
【００６４】
図１０は、情報処理装置１０が行う処理の第２例を示している。この処理は、情報記憶部１１０が記憶しているノード・リンク情報を更新するための処理である。この処理は、ノード設定部１４０によって行われる。図１１の各図はノード設定部１４０が行う処理を説明するための図である。
【００６５】
まずノード設定部１４０は、いずれかの飛行体２０が実際に飛行したルートを特定する情報（以下、飛行実績情報と記載）を取得する（ステップＳ１１０）。ノード設定部１４０は、飛行実績情報を、上記した飛行条件に対応付けて取得するのが好ましい。ノード設定部１４０は、飛行実績情報をユーザからの入力により取得してもよいし、入出力部１３０を介して飛行体２０から取得してもよい。後者の場合、例えば飛行体２０は、飛行が終了したら飛行実績情報を１０に送信する。
【００６６】
そしてノード設定部１４０は、図１１（Ａ）に示すように、複数の飛行実績情報それぞれが示すルート（例えばルートＲ１，Ｒ２，Ｒ３）を重ねる。そして、複数のルートの交点をノードとして認識する。そして、認識したノードのうち情報記憶部１１０にノードとして記憶されていない点（例えば図１１（Ｂ）で符号Ｎを付した点）を、新たなノードとして認識し（ステップＳ１２０）、情報記憶部１１０に記憶させる（ステップＳ１４０）。
【００６７】
さらにノード設定部１４０は、隣り合う２つのノードを結ぶ線をリンクとして認識する。そして、認識したリンクのうち情報記憶部１１０にリンクとして記憶されていない線を、新たなリンクとして認識し（ステップＳ１３０）、情報記憶部１１０に記憶させる（ステップＳ１４０）。言い換えると、ノード設定部１４０は、第１のノード、及びいずれかのルートにおいて第１のノードの隣のノードである第２のノードを結ぶ線を、リンクとして情報記憶部１１０に記憶させる。なお、リンクとして登録する線は、例えば２つのノードを結ぶ直線であるが、曲線であってもよい。また、この線は、実際に飛行体２０が飛行したルートそのものの一部であってもよい。また、リンクは、さらに実際に飛行した方向を含んでいてもよい。
【００６８】
なお、ノード設定部１４０は、飛行実績情報を、その飛行体２０の飛行条件に対応付けて取得するのが好ましい。この場合、ノード設定部１４０は、飛行条件別にノードおよびリンクを生成し、情報記憶部１１０に記憶させる。またノード設定部１４０は、認識したノード（又はリンク）はすでに情報記憶部１１０に記憶されているが、今回の飛行条件に紐づけられていない場合、新たにその飛行条件をそのノード（又はリンク）に紐づける。
【００６９】
図１２は、飛行体２０が目的地まで飛行するときにルート取得部２２０、撮像部２４０、及び制御部２６０が行う処理を示している。まず、ルート取得部２２０は情報処理装置１０から飛行予定のルート情報を取得し、ルート記憶部２３０に記憶させる（ステップＳ２１０）。次いで制御部２６０は、ルート記憶部２３０に記憶されたルート情報に従って飛行体２０が飛行するように、駆動部２１０を制御する（ステップＳ２２０）。この際、制御部２６０は、必要に応じて情報記憶部２７０に記憶されている情報を読み出して用いる。
【００７０】
そして制御部２６０は、飛行体２０が目的地に到着する（ステップＳ２３０：Ｙｅｓ）と、着陸処理を実行する（ステップＳ２４０）。
【００７１】
図１３は、図１２のステップＳ２４０（着陸処理）の詳細を示している。本図に示す処理において、撮像部２４０は飛行体２０の下方を撮像する。この画像には目的地が含まれている。撮像部２４０は、撮像部２４０が生成した画像を解析することにより、飛行体２０の着陸候補位置を示す着陸位置情報を生成し、この着陸位置情報を、飛行体２０に出力する。飛行体２０は、この着陸位置情報が示す位置に着陸するように、駆動部２１０を制御する。以下、図１２のステップＳ２４０について詳細に説明する。
【００７２】
本図に示す例において、着陸位置情報は予め定められている。例えば飛行体２０の飛行目的が荷物を搬送する場合、着陸位置情報は荷物の受取人及び搬送の依頼者の少なくとも一方によって、予め定め情報処理装置１０の情報記憶部１１０又は飛行体２０の情報記憶部２７０に記憶されている。前者の場合、ルート生成部１２０が生成するルート情報は、着陸位置情報を含んでいる。着陸位置情報は、例えば、図１４に示すように、建物３１０の平面形状に対する着陸位置３０２の相対位置を示している。着陸位置情報を設定する際に、情報記憶部１１０が記憶している目的地の画像や地図がディスプレイに表示されてもよい。
【００７３】
まず、飛行体２０が目的地の上方に到着すると、撮像部２４０は飛行体２０の下方を撮像する（ステップＳ２４２）。この撮像タイミングは、例えば飛行体２０が目的地に到着したとき、又はその後である。ただし、画像が目的地を含む場合は、飛行体２０が目的地に到着する直前に撮像部２４０は飛行体２０の下方を撮像してもよい。さらに、撮像部２４０は、飛行体２０が飛行している間継続して飛行体２０の下方を撮像していてもよい。
【００７４】
解析部２５０は、撮像部２４０が撮像した画像を取得する。撮像部２４０は、取得した画像を解析することにより、建造物の形状及び位置を特定する（ステップＳ２４４）。この特定は、例えば特徴量のマッチング処理によって行われる。建造物の形状は、例えば建物の平面形状、及び外構上の構造物の平面形状の少なくとも一つである。外構上の構造物は、例えば玄関のアプローチ、玄関に続く歩道、門、駐車場、庭、物置、及び塀などである。
【００７５】
例えば、解析部２５０は、舗装の有無や舗装されている領域の形状によって、玄関に続く歩道及び駐車場の位置及び範囲を判別する。解析部２５０は、駐車場の位置及び範囲を、上記した舗装されている領域の形状の他に、敷地のうち接道している領域を用いて判断してもよい。また、解析部２５０は、この歩道のうち家屋側の端部を、玄関として判断してもよい。さらに解析部２５０は、植栽の状況から庭の範囲を判断してもよい。
【００７６】
そして解析部２５０は、画像を用いて特定した建造物の形状及び位置が、情報記憶部２７０が記憶している地図情報と一致しているか否かを判断する（ステップＳ２４６）。例えば地図情報に家形データが含まれている場合、解析部２５０は、この家形データと建造物の形状の一致度が基準以上か否かを判断する。一致している場合（ステップＳ２４６：Ｙｅｓ）、解析部２５０はその旨を示す情報を制御部２６０に出力する。制御部２６０は、予め設定されている着陸位置情報が示す位置に、飛行体２０を着陸させる（ステップＳ２５０）。
【００７７】
一方、一致していない場合（ステップＳ２４６：Ｎｏ）、解析部２５０は、画像の解析結果を用いて新たに着陸位置応報を生成して制御部２６０に出力し、着陸位置情報を更新する（ステップＳ２４８）。制御部２６０は、更新後の着陸位置情報が示す位置に、飛行体２０を着陸させる（ステップＳ２５０）。
【００７８】
例えば解析部２５０は、塀やフェンスの位置を用いて目的地の敷地の境界線３００を推定する。そして解析部２５０は、この境界線を用いて着陸位置情報を生成する。具体的には、解析部２５０は、境界線の内側の領域から着陸候補位置を選択する。
【００７９】
本実施形態においては、着陸位置の選択に際し、飛行体２０が着陸すべき位置となるべき外構上の構造物が予め設定さられている。この設定は、例えば飛行体２０の飛行を依頼した人（飛行体２０が荷物の搬送を行う場合は搬送の依頼者）によって設定されてもよいし、予めデフォルトで設定されていてもよい。情報記憶部２７０は、この構造物を特定する情報を記憶している。例えば情報記憶部２７０は、図１４に示すように、建物３１０の玄関３１２、庭３２０、及び駐車場３３０の少なくとも一つを、飛行体２０が着陸すべき位置として記憶している。そして解析部２５０は、画像を解析することによってこの構造物の位置を特定し、特定した位置を新たな着陸候補位置として設定する。なお、解析部２５０は、駐車場３３０を着陸位置３０２として選択する場合、好ましくは、車が駐車していないことを必要条件にする。
【００８０】
情報記憶部２７０は、複数の構造物を、飛行体２０が着陸すべき位置として記憶していてもよい。この場合、情報記憶部２７０は、優先順位を示す情報に対応付けて、各構造物を特定する情報を記憶しており、また、着陸候補位置が満たすべき条件を記憶している。そして解析部２５０は、優先順位が高い構造物から順に、その構造物の位置を特定するとともに上記した条件を満たすか否かを判断し、最初にこの条件を満たした構造物の位置を、新たな着陸候補位置に設定する。優先順位としては、例えば、玄関前の通路の玄関に向かって右側のスペースが最も高く、次に高いのは（例えばそこに適切な着陸地点を確保できない場合）、玄関前の通路の玄関に向かって左側のスペース、その次に高いのは庭、その次に高いのは駐車場とする。ただし、駐車場に関しては車が駐車している場合、着陸しないこととするのが好ましい。
【００８１】
ここで満たすべき条件は、例えば予め定められた広さがあるかどうかであり、例えば飛行体２０の属性（例えば機種、大きさ、又は幅）別に設定されていてもよい。
【００８２】
なお、上記したように、情報記憶部２７０は、優先順位を示す情報に対応付けて、各構造物を特定する情報を記憶しているが、この優先順位は、飛行体２０の目的地の住所によって変えられてもよい。
【００８３】
さらに、ステップＳ２４４に示した処理及びステップＳ２４８に示した処理の少なくとも一方は、飛行体２０の目的地の住所によって変えられてもよい。例えば飛行体２０の目的地が郊外にある場合（すなわち敷地の境界は画像から特定でき、かつ敷地一つあたりの面積が基準値以上の場合）は、敷地の全体に対して上記した処理を行う。一方、隣り合う建物の間隔が広く、各建物の敷地の境界が画像から特定できないと予想される地域に目的地がある場合、家屋の外郭線から所定の距離（例えば２０ｍ以内、好ましくは１０ｍ以内）にある領域に対して上記した処理を行う。
【００８４】
また、隣り合う建物の間隔が広く、各建物の敷地の境界が画像から特定できないと予想される地域において、庭や歩道を特定するアルゴリズムは上記した例と異なっていてもよい。さらに、このような地域において、解析部２５０は、家屋から所定の距離にある領域から障害物がない領域を選択し、この選択した領域を着陸候補位置としてもよい。
【００８５】
また、飛行体２０の制御部２６０は、ステップＳ２４４，Ｓ２４６に示した処理を省略してもよい。この場合、制御部２６０は、目的地に着陸するときはすべてステップＳ２４８に示した処理を行い、着陸位置情報を生成する。
【００８６】
また、解析部２５０は、上記したステップＳ２４４及びＳ２４６に示した処理の代わりに、又はステップＳ２４４及びＳ２４６に示した処理に加えて、予め設定されている着陸位置情報が示す位置の周囲に、着陸の障害になる物（以下、障害物と記載）があるか否かを判断してもよい。この場合、障害物が無い場合にはステップＳ２５０に進み、障害物が有る場合にステップＳ２４８に進む。
【００８７】
さらに、解析部２５０は、上記したステップＳ２４４及びＳ２４６に示した処理の代わりに、又はステップＳ２４４及びＳ２４６に示した処理に加えて、予め設定されている着陸位置情報が示す位置の平坦度が基準を満たすか否かを判断してもよい。この場合、平坦度が基準を満たす場合にはステップＳ２５０に進み、平坦度が基準を満たさない場合にステップＳ２４８に進む。この処理は、上記した障害物の有無に関する処理に加えて行われてもよい。この場合、さらに、ステップＳ２４４及びＳ２４６に示した処理も行われてもよい。
【００８８】
また、制御部２６０は、解析部２５０が上記した処理を行っても着陸すべき地点を設定できない場合、飛行体２０を出発地点に引き返させてもよい。さらに飛行体２０の飛行目的が荷物の配送の場合、荷物を置いて離陸した後、撮像部２４０は、目的地の上方から、目的地に置かれた荷物を撮影し、その画像を配送のエビデンスとして記憶していてもよい。
【００８９】
なお、図１３に示した処理の少なくとも一部（例えばステップＳ２４４及びＳ２４６に示した処理）または全部は、情報処理装置１０によって行われてもよい。この場合、情報処理装置１０と飛行体２０の間で必要な情報の送受信が行われる。情報処理装置１０によって図１３に示した処理が行われる場合、ステップＳ２４６において、家形データの代わりに、情報記憶部１１０が記憶している目的地の画像が用いられてもよい。この場合、情報記憶部１１０が記憶している目的地の画像から、家形データが生成される。
【００９０】
図１５は、飛行体２０が有する緊急着陸機能を説明するためのフローチャートである。飛行体２０は、目的地まで当該飛行体２０が飛行できないと判断したとき、飛行体２０のそのときの位置の近くに緊急着陸する。
【００９１】
まず飛行体２０の制御部２６０は、駆動部２１０に含まれるセンサの検出値を、飛行体２０の状態を示す状態情報として、繰り返し取得する（ステップＳ３１０）。状態情報には、例えば、飛行体２０のバッテリーの残量を特定するための値や、モータの状態を特定するための値が含まれている。制御部２６０は、状態情報を取得するたびに、状態情報が基準を満たしているか否か、すなわち飛行体２０が飛行可能か否かを判断する（ステップＳ３２０）。
【００９２】
例えば制御部２６０は、駆動部２１０が有するＧＰＳセンサの検出値を用いて、飛行体２０の現在位置を算出する。そして制御部２６０は、その現在位置を用いて、飛行体２０の飛行予定距離の残りを算出する。さらに制御部２６０は、飛行予定距離の残りを用いて、飛行に必要なバッテリーの残量を算出する。そしてこの値（又はこの値に所定の係数を乗じた値）がバッテリーの残量の測定値よりも小さい場合、飛行体２０が目的地まで飛行できないと判断する。ここで所定の係数は、１超の場合もあれば１未満の場合もある。
【００９３】
なお、制御部２６０は、バッテリーの残量から、飛行体２０の飛行可能距離を算出し、この距離（又はこの距離に所定の係数を乗じた値）が飛行予定距離の残りよりも小さい場合に、飛行体２０が目的地まで飛行できないと判断してもよい。ここで用いられる所定の係数は、１超の場合もあれば１未満の場合もある。
【００９４】
また、制御部２６０は、モータに異常が生じたことを検知した場合も、飛行体２０が目的地まで飛行できないと判断する。
【００９５】
そして制御部２６０は、飛行体２０が目的地まで飛行できないと判断した場合（ステップＳ３２０：Ｙｅｓ）、緊急着陸処理を実行する（ステップＳ３３０）。
【００９６】
図１６は、図１５のステップＳ３３０（緊急着陸処理）の詳細例を示している。この処理において、情報生成部２８０は、情報記憶部２７０が記憶している複数の着陸候補地点のうち、飛行体２０の現在位置から飛行体２０の飛行可能距離以内に位置する着陸候補地点を、飛行体２０が着陸すべき地点として選択し、制御部２６０に出力する。
【００９７】
まず、制御部２６０は、駆動部２１０が有するＧＰＳセンサの検出値を用いて、飛行体２０の現在位置を算出しステップＳ３３２）、バッテリーの残量から飛行体２０の飛行可能距離を算出する。（ステップＳ３３４）。なお、制御部２６０は、ステップＳ３２０において飛行体２０の現在位置を算出していた場合、ステップＳ３３２を省略してもよい。また、制御部２６０は、ステップＳ３２０において飛行体２０の飛行可能距離を算出していた場合、ステップＳ３３４を省略してもよい。
【００９８】
次いで情報生成部２８０は、情報記憶部２７０が記憶している複数の着陸候補地点のうち、制御部２６０が算出した現在位置から飛行可能距離以内（又は飛行可能距離に１未満の所定の係数を乗じた値）に位置する着陸候補地点を、飛行体２０が着陸すべき地点として選択する（ステップＳ３３６）。
【００９９】
ここで複数の着陸候補地点が選択された場合、情報生成部２８０は、例えば飛行体２０の現在位置から最も近い着陸候補地点を選択してもよい。また、情報記憶部２７０が記憶している着陸候補地点に、優先度が対応付けて記憶されている場合、情報生成部２８０は、着陸すべき地点となる着陸候補地点を、優先度を用いて選択してもよい。具体的には情報生成部２８０は、最も優先度が高い着陸候補地点を選択する。ここで優先度を定める因子の一つは、飛行体２０の充電設備の有無である。例えば飛行体２０の充電設備がある着陸候補地点の優先度は高くなる。
【０１００】
なお、着陸候補地点の優先度は、例えば複数段階で設定される。このため、同じ優先度の着陸候補地点が複数選択されることがある。この場合、情報生成部２８０は、飛行体２０の現在位置から最も近い着陸候補地点を選択する。
【０１０１】
そして制御部２６０は、情報生成部２８０が選択した着陸候補地点を新たな目的地として設定し（ステップＳ３３８）、そこに向けて着陸処理を行う（ステップＳ３４０）。
【０１０２】
なお、ステップＳ３３８において、制御部２６０はルート情報を更新するが、この更新処理において、制御部２６０は、図８及び図９を用いて説明したようなルート修正を行ってもよい。具体的には、制御部２６０は、まず、飛行体２０の現在位置から新たな目的地までの３次元の飛行ルートを直線的にする。次いで制御部２６０は、この飛行ルートが、回避地域情報が示す地点、建造物、及び地域を平面的に避けるように、ルートを構成するリンクの２次元形状を修正する。また、回避地域情報が回避すべき高さを示す情報も含んでいる場合、制御部２６０は、飛行ルートが飛行禁止区域を高さ方向に避けるように、ルートを構成するリンクの３次元形状を修正する。
【０１０３】
また、図１５に示した処理の少なくとも一部は情報処理装置１０によって行われてもよい。また、図１６に示した処理の少なくとも一部は情報処理装置１０によって行われてもよい。例えば、Ｓ３３０に示した目的地変更処理（目的地を緊急着陸すべき地点に変更する処理）のうち情報生成部２８０が行う処理は、情報処理装置１０のルート生成部１２０が行ってもよい。この場合、情報処理装置１０と飛行体２０の間で必要な情報の送受信が行われる。
【０１０４】
以上、本実施形態に係る情報処理装置１０はノード設定部１４０を有している。ノード設定部１４０は、飛行体２０が実際に飛行した飛行ルートを用いて、新たなノードおよびリンクを設定し、情報記憶部１１０に記憶させる。このため、情報記憶部１１０に、新たなノードおよびリンクを容易に追加することができる。
【０１０５】
また、情報処理装置１０のルート生成部１２０は、ルート情報が示す飛行ルートを修正し、飛行体２０が急峻に曲がらなくて済むようにしている。従って、飛行体２０が飛行中に減速する回数は少なくなり、その結果、飛行体２０がエネルギーを余分に消費することを抑制できる。このため、飛行体２０の飛行可能距離が少なくなることを抑制できる。
【０１０６】
また、本実施形態に係る飛行体２０は、撮像部２４０が着陸直前に目的地を撮像した画像を用いて、目的地のうち飛行体２０が着陸すべき位置を定める。このため、飛行体の着陸地点を精度良く制御することができる。また、安全かつ高い確率で飛行体２０を着陸させることができる。
【０１０７】
また、飛行体２０は、飛行体が目的地より手前で着陸する必要が出てきた場合、飛行体２０の制御部２６０は、予め設定されている複数の着陸候補地点から、飛行可能な距離にある着陸候補地点を選択し、この着陸候補地点を新たな目的地に設定する。このため、飛行体２０は飛行体が目的地より手前で安全に着陸できる。
【０１０８】
（第２の実施形態）
図１７は、第２の実施形態に係る情報処理装置１０の機能構成を示す図である。本実施形態に係る情報処理装置１０は、ルート修正部１５０及び推奨台数設定部１６０を備えている点を除いて、第１の実施形態に係る情報処理装置１０と同様の構成である。また、飛行体２０も第１の実施形態と同様である。
【０１０９】
ルート修正部１５０は、ルート生成部１２０から、ルート情報を、飛行目的を示す情報とともに取得する。ルート修正部１５０は、飛行体２０の飛行目的が予め定められた領域の上空を飛行、例えば巡回する場合に、ルート情報が示す飛行ルートを修正する。具体的には、ルート修正部１５０は、上記した領域内に位置する建造物、施設、地域、及び地形の少なくとも一つを示す情報を、例えば情報記憶部１１０から取得する。そして、この建造物、施設、地域、及び地形に基づいた飛行規則を示す飛行規則情報を用いて、ルート情報を修正する。飛行規則情報は、情報記憶部１１０に記憶されている。
【０１１０】
ここで、上記した建造物、施設、及び地域は、第１の実施形態に示した回避地域である。ここで、回避地域を定義するための渋滞情報、及び、動的に変化する又は突発的に生じるイベント情報は外部のサーバから繰り返し取得してもよいし、飛行体２０の撮像部２４０が撮像した画像に基づいて繰り返し生成されてもよい。この場合、画像の解析は解析部２５０が行ってもよいし、情報処理装置１０が行ってもよい。前者の場合、解析部２５０による解析結果が情報処理装置１０に送信され、後者の場合、撮像部２４０が撮像した画像が情報処理装置１０に送信される。
【０１１１】
また、地形としては、特定の山、丘、川、谷などである。
【０１１２】
また、飛行規則としては、上空の飛行禁止がある。ここで、所定の高さ以下で飛行が禁止されていてもよいし、所定の高さ以上で飛行が禁止されていてもよいし、全ての高さで飛行が禁止されていてもよい。
【０１１３】
図１８の各図は、ルート修正部１５０による飛行ルートの修正の第１例を示している。図１８（Ａ）は、修正前の飛行ルートを示している。この図において、飛行体２０が巡回すべき領域３４０の縁に沿って複数のノードｎが選択されている。そして、これらのノードｎを順次結ぶことによって飛行ルートが設定されている。ここで、いずれかのノードｎ（例えばノードｎ１１，ｎ１２）が領域３４０の外に位置している場合、飛行ルートの一部は領域３４０の外に食み出してしまう。そこでルート修正部１５０は、図１８（Ｂ）に示すように、飛行ルートのすべてが領域３４０の内側に位置するように飛行ルートを修正する。例えばルート修正部１５０は、領域３４０の外に位置しているノードｎを領域３４０の内側に移動させる。これにより、飛行ルートはすべて領域３４０の内側に位置する。
【０１１４】
図１９の各図は、ルート修正部１５０による飛行ルートの修正の第２例を示している。図１９（Ａ）に示す例において、領域３４０には線路３４２が含まれている。線路３４２の上方は飛行禁止となっている。このため、ルート修正部１５０は、線路３４２の情報を通らないように、飛行ルートを修正する。図１９（Ａ）のように線路３４２が領域３４０を貫通している場合、ルート修正部１５０は、図１９（Ｂ）に示すように、線路３４２を境に領域３４０を二つの領域に分割し、領域毎に飛行ルートを設定する。なお、線路が図示しないトンネルや陸橋の下を通る場合は、飛行ルートをトンネルや陸橋上空を横断する様なルートに補正してもよい。このようにすると、領域を分割しないで飛行ルートを設定することもできる。
【０１１５】
この場合、推奨台数設定部１６０は、修正後の前記飛行ルートに基づいて、飛行体の推奨台数を示す情報を出力する。例えば図１９の各図に示す例では、領域３４０は二つの領域に分割されており、かつ、領域毎に飛行ルートが設定されている。このため、飛行体２０が２つあったほうが領域３４０の監視効率は高くなる。この場合、推奨台数設定部１６０は、ルート修正部１５０から領域３４０をいくつの領域に分割したかを示す情報を取得し、この情報が示す分割数を、飛行体２０の推奨台数として出力する。出力先は、例えば情報処理装置１０に接続されたディスプレイであるが、特定の人が所持している端末であってもよい。
【０１１６】
また、ルート修正部１５０は、図８及び図９を用いて説明したようなルート修正を行ってもよい。具体的には、ルート修正部１５０は、飛行ルートが飛行禁止区域を平面的に避けるように、ルートを構成するリンクの２次元形状を修正する。また、飛行禁止区域が高さ方向に設定されている場合、ルート修正部１５０は、飛行ルートが飛行禁止区域を高さ方向に避けるように、ルートを構成するリンクの３次元形状を修正する。
【０１１７】
また、ルート修正部１５０は、上記した建造物、施設、及び地域を迂回することができる場合は、迂回ルートを飛行ルートの一部に組み込んでもよい。例えば、迂回例として、建造物・施設が立ち並び、その間をジグザグに抜けていく等、頻繁な方向修正が必要な場合、電力消費効率は悪くなり、また正確に飛行できない可能性も高まる。この場合、その一帯を一時的に飛行禁止区域とみなし、その一帯全域を迂回するように飛行ルートに修正する。一時的な飛行禁止区域の設定方法としては、以下の方法が考えられる。まず、ルート修正部１５０は、例えばユーザが設定したルートのうち短い間隔で所定の区域を頻繁に出入りしている場合、または、回避の為に修正した飛行ルートでは修正前と比べて電力消費等のコストが大きくなってしまうリンクが多数発生した場合を検出する。次いで、ルート修正部１５０は、該当区間で最初に飛行禁止区域の要因となる建物、又は、飛行禁止区域そのものを中心として、所定の形状及び大きさの矩形、または所定の大きさの円形の範囲を設定する。次いで、ルート修正部１５０は、この設定した範囲内において、中心とするもの以外の飛行禁止区域の要因となる建物、あるいは飛行禁止区域そのものの密度の高さ、偏りの無さが一定以上の場合にその矩形または円形を一時飛行禁止区域とみなす。矩形の形状や大きさ及び円形の大きさは、飛行対象物（例えばドローン）の機体特性（バッテリー量や電費特性）によって変動しても良い。また、矩形または円形そのものではなく、その範囲内の偏りが多いエリアを一時飛行禁止区域とみなしてもよい。
【０１１８】
以上、本実施形態によれば、飛行体２０の飛行目的が予め定められた領域の上空を巡回する場合、ルート修正部１５０は、当該領域の中に位置する建造物、施設、地域、及び地形の少なくとも一つに設定されている飛行規則に基づいて、飛行ルートを修正する。このため、ルート情報は、より適切な飛行ルートを示すことになる。また、飛行ルートが複数に分割される場合もあるが、この場合、推奨台数設定部１６０は、飛行体２０の推奨台数を示す情報を出力することができる。なお、本実施形態では、巡回ルートの例を用いて説明したが、それに限定されずに、荷物の配送及び物流などのための飛行ルートの設定に応用することができる。
【０１１９】
以上、図面を参照して実施形態及び実施例について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【符号の説明】
【０１２０】
１０  情報処理装置
２０  飛行体
１１０  情報記憶部
１２０  ルート生成部
１３０  入出力部
１４０  ノード設定部
１５０  ルート修正部
１６０  推奨台数設定部
２１０  駆動部
２２０  ルート取得部
２３０  ルート記憶部
２４０  撮像部
２５０  解析部
２６０  制御部
２７０  情報記憶部
２８０  情報生成部
３００  境界線
３０２  着陸位置
３１０  建物
３１２  玄関
３２０  庭
３３０  駐車場
３４０  領域
３４２  線路
【図１】
2020057225.tif 000003
【図２】
2020057225.tif 000004
【図３】
2020057225.tif 000005
【図４】
2020057225.tif 000006
【図５】
2020057225.tif 000007
【図６】
2020057225.tif 000008
【図７】
2020057225.tif 000009
【図８】
2020057225.tif 000010
【図９】
2020057225.tif 000011
【図１０】
2020057225.tif 000012
【図１１】
2020057225.tif 000013
【図１２】
2020057225.tif 000014
【図１３】
2020057225.tif 000015
【図１４】
2020057225.tif 000016
【図１５】
2020057225.tif 000017
【図１６】
2020057225.tif 000018
【図１７】
2020057225.tif 000019
【図１８】
2020057225.tif 000020
【図１９】
2020057225.tif 000021