IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ パイオニア株式会社の特許一覧

特開2023-96119情報処理装置、情報処理方法、及びプログラム
<>
  • 特開-情報処理装置、情報処理方法、及びプログラム 図1
  • 特開-情報処理装置、情報処理方法、及びプログラム 図2
  • 特開-情報処理装置、情報処理方法、及びプログラム 図3
  • 特開-情報処理装置、情報処理方法、及びプログラム 図4
  • 特開-情報処理装置、情報処理方法、及びプログラム 図5
  • 特開-情報処理装置、情報処理方法、及びプログラム 図6
  • 特開-情報処理装置、情報処理方法、及びプログラム 図7
  • 特開-情報処理装置、情報処理方法、及びプログラム 図8
  • 特開-情報処理装置、情報処理方法、及びプログラム 図9
  • 特開-情報処理装置、情報処理方法、及びプログラム 図10
  • 特開-情報処理装置、情報処理方法、及びプログラム 図11
  • 特開-情報処理装置、情報処理方法、及びプログラム 図12
  • 特開-情報処理装置、情報処理方法、及びプログラム 図13
  • 特開-情報処理装置、情報処理方法、及びプログラム 図14
  • 特開-情報処理装置、情報処理方法、及びプログラム 図15
  • 特開-情報処理装置、情報処理方法、及びプログラム 図16
  • 特開-情報処理装置、情報処理方法、及びプログラム 図17
  • 特開-情報処理装置、情報処理方法、及びプログラム 図18
  • 特開-情報処理装置、情報処理方法、及びプログラム 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023096119
(43)【公開日】2023-07-06
(54)【発明の名称】情報処理装置、情報処理方法、及びプログラム
(51)【国際特許分類】
   G08G 5/02 20060101AFI20230629BHJP
   G01C 21/34 20060101ALI20230629BHJP
【FI】
G08G5/02 A
G01C21/34
【審査請求】有
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023082269
(22)【出願日】2023-05-18
(62)【分割の表示】P 2018187726の分割
【原出願日】2018-10-02
(71)【出願人】
【識別番号】000005016
【氏名又は名称】パイオニア株式会社
(74)【代理人】
【識別番号】100110928
【弁理士】
【氏名又は名称】速水 進治
(74)【代理人】
【識別番号】100127236
【弁理士】
【氏名又は名称】天城 聡
(72)【発明者】
【氏名】大橋 圭
(57)【要約】
【課題】飛行体の着陸地点を精度良く制御する。
【解決手段】飛行体20が目的地の上方に到着すると、飛行体20の撮像部240は、飛行体20の下方を撮像する。この画像には目的地が含まれている。撮像部240は、撮像部240が生成した画像を解析することにより、飛行体20の着陸候補位置を示す着陸位置情報を生成し、この着陸位置情報を、飛行体20に出力する。飛行体20は、この着陸位置情報が示す位置に着陸するように、駆動部210を制御する。
【選択図】図3
【特許請求の範囲】
【請求項1】
飛行体に搭載された撮像部から、当該飛行体より下方を撮像した画像を取得する画像取得部と、
前記画像を解析することにより、前記飛行体の着陸候補位置を示す着陸位置情報を生成し、前記着陸位置情報を、前記飛行体の飛行を制御する制御部に出力する解析部と、
を備え、
前記制御部は、目的地の位置情報を用いて、前記飛行体を前記目的地に移動させ、
前記解析部は、前記目的地を含む前記画像を解析し、前記画像に含まれ前記目的地となる建造物の形状を特定し、前記建造物の形状に対する前記着陸候補位置の相対位置を特定し、前記着陸位置情報を生成する、情報処理装置。
【請求項2】
飛行体に搭載された撮像部から、当該飛行体より下方を撮像した画像を取得する画像取得部と、
前記画像を解析することにより、前記飛行体の着陸候補位置を示す着陸位置情報を生成し、前記着陸位置情報を、前記飛行体の飛行を制御する制御部に出力する解析部と、
を備え、
前記制御部は、目的地の位置情報を用いて、前記飛行体を前記目的地に移動させ、
前記解析部は、前記目的地を含む前記画像を解析し、前記目的地の敷地の境界線を推定し、推定した境界線を用いて前記着陸位置情報を生成する、情報処理装置。
【請求項3】
請求項2に記載の情報処理装置において、
前記飛行体が着陸すべき位置となるべき外構上の構造物が予め定められており、
前記解析部は、前記外構上の前記構造物の位置を特定し、当該特定した位置を前記着陸候補位置とする情報処理装置。
【請求項4】
請求項1に記載の情報処理装置において、
前記建造物は、建物及び外構上の構造物の少なくとも一方を含み、
前記外構上の前記構造物は、玄関、庭、及び駐車場の少なくともいずれか1つを含む、情報処理装置。
【請求項5】
請求項3又は4に記載の情報処理装置において、
前記外構上の前記構造物は、玄関、庭、及び駐車場の少なくとも一つであり、
複数の前記外構上の前記構造物が優先順位をつけて予め定められており、
前記着陸候補位置が満たすべき条件が予め定められており、
前記解析部は、前記優先順位が高い前記外構上の前記構造物から順に、前記条件を満たすか否かを判断し、最初に前記条件を満たした前記外構上の前記構造物の位置を、前記着陸候補位置に設定する情報処理装置。
【請求項6】
請求項1~5のいずれか一項に記載の情報処理装置において、
前記制御部は、前記目的地の地図情報を取得し、前記画像と前記地図情報の一致度が基準を満たしたときには、予め設定されていた地点に前記飛行体が着陸するための制御を行い、
前記解析部は、前記一致度が前記基準を満たさなかった時に、前記着陸位置情報を生成して前記制御部に出力する情報処理装置。
【請求項7】
請求項1~6のいずれか一項に記載の情報処理装置において、
前記解析部は、前記飛行体が前記目的地に到着したとき又は到着した後に撮像された前記画像を解析することにより、前記着陸位置情報を生成する情報処理装置。
【請求項8】
請求項1~7のいずれか一項に記載の情報処理装置において、
前記飛行体はドローンである情報処理装置。
【請求項9】
コンピュータが、
飛行体に搭載された撮像部から、前記飛行体の目的地を含む画像を取得し、
前記画像を解析し、前記画像に含まれ前記目的地となる建造物の形状を特定し、前記建造物の形状に対する前記飛行体の着陸候補位置の相対位置を特定し、前記着陸候補位置を示す着陸位置情報を生成し、前記着陸位置情報を、前記飛行体の飛行を制御する制御部に出力する情報処理方法。
【請求項10】
コンピュータが、
飛行体に搭載された撮像部から、前記飛行体の目的地を含む画像を取得し、
前記画像を解析し、前記目的地の敷地の境界線を推定し、推定した境界線を用いて前記飛行体の着陸候補位置を示す着陸位置情報を生成し、
前記着陸位置情報を、前記飛行体の飛行を制御する制御部に出力する情報処理方法。
【請求項11】
コンピュータを、請求項1~8のいずれか一項に記載の情報処理装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
近年は、いわゆるドローンなどの飛行体を自動で飛行させるために、様々な技術開発が行われている。例えば特許文献1には、飛行体の飛行ルートを、地図情報を用いて設定することが記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2017-117018号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年は、上記した飛行体を自動で所定の場所まで飛行させ、着陸させることが検討されている。この場合、飛行体の着陸地点を精度良く制御する必要がある。例えば飛行体の着陸地点に家などの構造物が存在していた場合、飛行体及び構造物が損傷する可能性が出てくる。
【0005】
本発明が解決しようとする課題としては、飛行体の着陸地点を精度良く制御することが一例として挙げられる。
【課題を解決するための手段】
【0006】
請求項1に記載の発明は、
飛行体に搭載された撮像部から、当該飛行体より下方を撮像した画像を取得する画像取得部と、
前記画像を解析することにより、前記飛行体の着陸候補位置を示す着陸位置情報を生成し、前記着陸位置情報を、前記飛行体の飛行を制御する制御部に出力する解析部と、
を備え、
前記制御部は、目的地の位置情報を用いて、前記飛行体を前記目的地に移動させ、
前記解析部は、前記目的地を含む前記画像を解析し、前記画像に含まれ前記目的地となる建造物の形状を特定し、前記建造物の形状に対する前記着陸候補位置の相対位置を特定し、前記着陸位置情報を生成する、情報処理装置である。
請求項2に記載の発明は、
飛行体に搭載された撮像部から、当該飛行体より下方を撮像した画像を取得する画像取得部と、
前記画像を解析することにより、前記飛行体の着陸候補位置を示す着陸位置情報を生成し、前記着陸位置情報を、前記飛行体の飛行を制御する制御部に出力する解析部と、
を備え、
前記制御部は、目的地の位置情報を用いて、前記飛行体を前記目的地に移動させ、
前記解析部は、前記目的地を含む前記画像を解析し、前記目的地の敷地の境界線を推定し、推定した境界線を用いて前記着陸位置情報を生成するである。
【0007】
請求項9に記載の発明は、コンピュータが、
飛行体に搭載された撮像部から、前記飛行体の目的地を含む画像を取得し、
前記画像を解析し、前記画像に含まれ前記目的地となる建造物の形状を特定し、前記建造物の形状に対する前記飛行体の着陸候補位置の相対位置を特定し、前記着陸候補位置を示す着陸位置情報を生成し、前記着陸位置情報を、前記飛行体の飛行を制御する制御部に出力する情報処理方法である。
請求項10に記載の発明は、コンピュータが、
飛行体に搭載された撮像部から、前記飛行体の目的地を含む画像を取得し、
前記画像を解析し、前記目的地の敷地の境界線を推定し、推定した境界線を用いて前記飛行体の着陸候補位置を示す着陸位置情報を生成し、
前記着陸位置情報を、前記飛行体の飛行を制御する制御部に出力する情報処理方法である。
【0008】
請求項11に記載の発明は、コンピュータを、請求項1~8のいずれか一項に記載の情報処理装置として機能させるプログラムである。
【図面の簡単な説明】
【0009】
図1】第1の実施形態に係る飛行体制御システムの構成を示す図である。
図2】情報処理装置の機能構成の一例を示す図である。
図3】飛行体の機能構成の一例を示す図である。
図4】情報処理装置のハードウェア構成の一例を示す図である。
図5】飛行体のハードウェア構成の一例を示す図である。
図6】情報処理装置が行う処理の第1例を示す図である。
図7】(A)及び(B)は、ルート生成部が図6のステップS30で行う処理の第1例を説明するための図である。
図8】(A)及び(B)は、ルート生成部が図6のステップS30で行う処理の第2例を説明するための図である。
図9】(A)及び(B)は、ルート生成部が図6のステップS30で行う処理の第3例を説明するための図である。
図10】情報処理装置が行う処理の第2例を示す図である。
図11】(A)及び(B)はノード設定部が行う処理を説明するための図である。
図12】飛行体が目的地まで飛行するときにルート取得部、撮像部、及び制御部が行う処理を示す図である。
図13図12のステップS240(着陸処理)の詳細を示す図である。
図14】着陸位置を説明するための図である。
図15】飛行体が有する緊急着陸機能を示す図である。
図16図15のステップS330(緊急着陸処理)の詳細例を示す図である。
図17】第2の実施形態に係る情報処理装置の機能構成を示す図である。
図18】(A)及び(B)はルート修正部による飛行ルートの修正の第1例を示す図である。
図19】(A)及び(B)はルート修正部による飛行ルートの修正の第2例を示す図である。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【0011】
(第1の実施形態)
図1は、第1の実施形態に係る飛行体制御システムの構成を示す図である。この飛行体制御システムは、情報処理装置10及び飛行体20を備えている。情報処理装置10及び飛行体20は、通信回線を介して互いに通信する。この通信回線の少なくとも一部は公衆通信網であってもよい。また、この通信回線の少なくとも一部は無線通信であるのが好ましい。飛行体20は一台であってもよいし、複数台であってもよい。
【0012】
情報処理装置10は、飛行体20の飛行ルートを設定するための各種処理を行う。言い換えると、情報処理装置10はルート設定装置及び飛行ルート処理装置として機能する。また、情報処理装置10は、この飛行ルートを設定するために必要な情報を更新する。飛行体20は、例えばドローンといわれている飛行体であり、情報処理装置10が設定した飛行ルートに従って自律的に飛行する。以下、情報処理装置10及び飛行体20について詳細に説明する。
【0013】
図2は情報処理装置10の機能構成の一例を示す図である。情報処理装置10は、情報記憶部110、ルート生成部120、及び入出力部130を備えている。
【0014】
情報記憶部110は、飛行体20の飛行ルートの生成に必要な情報を記憶している。これらの情報には、ユーザが設定した飛行ルート情報(例えばノードとリンクで構成されるルート情報(以下、ノード・リンク情報と記載))及び、適切な飛行ルートを生成する為の地図情報が含まれている。また、これらの情報には、地図情報、及び飛行ルートを設定するためのノード及びリンクを示す情報(以下、ノード・リンク情報と記載)が含まれていることもある。なお、ノード・リンク情報は地図情報の一部として記憶されていてもよい。
【0015】
地図情報の一部は、例えば、各種構造物や地形を示す名称を、その位置を示す情報(例えば緯度経度情報や住所情報など)に対応付けたものである。構造物は、例えば建物、橋、道路、線路などの各種の人工的な構造物である。また地図情報の他の一部は、施設の名称や地名を、その位置を示す情報(例えば緯度経度情報や住所情報など)に対応付けたものである。また、地図情報の他の一部は、土地の状態を示す情報を、その土地の位置を示す情報(例えば緯度経度情報や住所情報など)に対応付けて記憶している。土地の状態は、例えば市街地、田、畑、森林等である。
【0016】
さらに地図情報の他の一部は、飛行禁止区域の位置及び範囲を示す情報(例えば緯度経度情報や住所情報など)である。この飛行禁止区域に関する情報は、飛行条件別に記憶されていてもよい。飛行条件は、時刻(例えば飛行開始時刻及び飛行終了時刻)、飛行体20の属性、及び飛行目的の少なくとも一つを含んでいる。時刻は、さらに曜日や月日(又は月)に対応付けられていてもよい。飛行体20の属性は、例えば飛行体20の機種、シリアルナンバー、及び総重量の少なくとも一つである。総重量は、飛行体20そのものの重量である場合もあれば、飛行体20の重量と飛行体20が搬送すべき荷物の重量の和である場合もあるし、これらの双方であってもよい。飛行目的は、例えば巡回(警備及び点検の少なくとも一方)、測量、監視、撮影、遊覧、及び荷物の運送がある。巡回の場合、飛行体20の飛行ルートは、巡回すべき領域を網羅するように設定される。また、飛行条件は飛行時の気象条件を含んでいてもよい。気象条件は、気温、降水量、気圧、風向、風速、及び1時間当たりの日照時間の少なくとも一つを含んでいる。
【0017】
さらに情報記憶部110は、地図情報の一部として、上空から撮影した画像(例えば衛星画像や航空画像)をその画像の位置を示す位置情報に紐づけて記憶していてもよい。また、情報記憶部110は、外部から動的に入力されるイベント情報(花火大会のエリア・開催日時情報等)を記憶していてもよい。
【0018】
ノード・リンク情報は、ノードの位置を示す情報(例えば緯度経度情報や住所情報など:以下ノードと表記することも有る)およびリンクを示す情報(以下、リンクと表記することも有る)を含んでいる。リンクは、例えばリンクの両端となるノードを特定する情報を含んでいる。なお、ノード・リンク情報は、飛行体20の飛行条件に紐づけて記憶されていてもよい。この場合、ノード・リンク情報は、飛行体20の飛行条件別に設けられたデータベースに記憶されていてもよい。また、ノードおよびリンクのそれぞれに、そのノードまたはリンクが用いられるべき飛行条件が付与されていてもよい。
【0019】
また、リンクは、飛行する向き(どのノードからどのノードに向かう方向か)を示す情報を含んでいてもよい。この場合、後述するルート情報の生成処理において、リンクが示す向きに従うように、飛行ルートが設定される。
【0020】
また、ある2つの地点間を頻繁に飛行体20が飛行することがあり得る。この場合、情報記憶部110は、この2つの地点を結ぶ飛行ルートを予め記憶していてもよい。この場合、地点Aから地点Bに向かう飛行ルートと、地点Bから地点Aに向かう飛行ルートが平面的または3次元的に重ならないようにしてもよい。このようにすると、複数の飛行体20が2つの地点間を同時に飛行する場合において、2つの飛行体20が衝突することを抑制できる。
【0021】
ルート生成部120は、飛行体20の飛行ルートを示す情報(以下、ルート情報と記載)を生成する。ルート情報は、少なくともノードを含んでいるが、さらにリンクを含んでいてもよい。ルート生成部120は、例えば飛行体20の現在位置又は出発位置(以下現在位置と記載)を示す情報(以下、現在位置情報と記載)、及び飛行体20の目的地を示す情報(以下、目的地情報と記載)を取得し、これらの情報および情報記憶部110が記憶している情報を用いてルート情報を生成する。さらにルート生成部120は、飛行体20の飛行目的を示す情報を取得してもよい。この場合、ルート生成部120は、この飛行目的に対応するノード・リンク情報を用いてルート情報を生成する。
【0022】
入出力部130は、飛行体20と通信する。入出力部130は、例えばルート生成部120が生成したルート情報を飛行体20に送信する。
【0023】
情報処理装置10は、さらにノード設定部140を有している。ノード設定部140は、情報記憶部110が記憶しているノード・リンク情報を更新する。具体的には、ノード設定部140は、飛行体20が実際に飛行したルートを示す情報(以下飛行実績情報と記載)を取得し、この飛行実績情報を用いてノード・リンク情報を更新する。この更新は、例えばノードの追加及びリンクの追加であるが、ノードの削除及びリンクの削除の少なくとも一方を含んでいてもよい。例えばノード設定部140は、10の操作者が入力した上方に従って、ノード及び/又はリンクの削除を行ってもよい。
【0024】
図3は、飛行体20の機能構成の一例を示す図である。飛行体20は、駆動部210、ルート取得部220、ルート記憶部230、撮像部240、解析部250、及び制御部260を備えている。
【0025】
駆動部210は、飛行体20を飛行させるための駆動系、及び各種センサを有している。この駆動系は、例えばプロペラ、このプロペラを回すモータ、及びこのモータの動力源となる電池を含んでいる。また、上記した各種センサは、飛行体20の現在位置を算出するためのセンサ(例えばGPSセンサ)、モータの状態を測定するセンサや電池の状態(残量を含む)を測定するセンサを含んでいる。
【0026】
ルート取得部220は、情報処理装置10からルート情報を取得し、ルート記憶部230に記憶させる。
【0027】
撮像部240(画像取得部)は、飛行体20の周囲、例えば下方を撮像する。撮像部240は、飛行体20が飛行している間は常に動作していてもよいし、飛行体20が所定の条件を満たしたときにのみ動作してもよい。所定の条件の一例は飛行体20が目的地から所定距離以内に位置していることである。飛行体20の飛行目的が巡回の場合、撮像部240は飛行体20が巡回すべき領域の上空を飛行している間は常に撮像している。また、撮像部240が生成する画像のフレームレートは、例えば0.5フレーム/秒以上60フレーム/秒以下であるが、この範囲に限定されない。
【0028】
解析部250は、撮像部240が生成した画像を処理する。解析部250が行う処理の詳細は後述する。なお、解析部250は飛行体20の外部(例えば情報処理装置10)に設けられていてもよい。この場合、情報処理装置10の入出力部130(画像取得部)は無線通信を介して解析部250が生成した画像を取得する。
【0029】
制御部260は、飛行体20の現在位置を検出するためのセンサ(例えばGPS)を含んでおり、このセンサの検出結果を用いて、飛行体20がルート情報に従って飛行するように、駆動部210を制御する。また、制御部260は、駆動部210を制御する際、解析部250による画像の解析結果を用いる。また制御部260は時計機能を有していてもよい。
【0030】
飛行体20は、さらに情報記憶部270及び情報生成部280を備えている。情報記憶部270は、情報処理装置10の情報記憶部110と同様の情報を記憶している。また情報記憶部270は、飛行体20が着陸してよい地点を示す情報(以下、着陸候補地点情報と記載)を複数記憶している。地図情報のデータ構造は、この情報を含むように構成されている。この着陸候補地点情報は、飛行体20が緊急時に着陸すべき地点を示している。情報生成部280は、情報記憶部270が記憶している情報を用いて、複数の着陸候補地点情報から、飛行体20の目的地より近い地点で合って飛行体20が着陸すべき地点を示す情報(以下、着陸地点情報と記載)を生成する。
【0031】
なお、上記した着陸候補地点情報は、情報処理装置10の情報記憶部110にも記憶されていてもよい。この場合、情報処理装置10のルート生成部120は、ルート情報を生成すると、そのルート情報に従って飛行した場合に適用すべき着陸候補地点情報を選択し、ルート情報に含めてもよい。例えばルート生成部120は、ルート情報が示す飛行ルートから基準距離以内に位置する着陸候補地点情報を選択する。この場合、情報処理装置10は、上記した着陸候補地点情報を読み出して出力する出力部を備えていてもよい。
【0032】
図4は、情報処理装置10のハードウェア構成の一例を示す図である。情報処理装置10の主な構成は、集積回路を用いて実現される。この集積回路は、バス402、プロセッサ404、メモリ406、ストレージデバイス408、入出力インタフェース410、及びネットワークインタフェース412を有する。バス402は、プロセッサ404、メモリ406、ストレージデバイス408、入出力インタフェース410、及びネットワークインタフェース412が、相互にデータを送受信するためのデータ伝送路である。ただし、プロセッサ404などを互いに接続する方法は、バス接続に限定されない。プロセッサ404は、マイクロプロセッサなどを用いて実現される演算処理装置である。メモリ406は、RAM(Random Access Memory)などを用いて実現されるメモリである。ストレージデバイス408は、ROM(Read Only Memory)やフラッシュメモリなどを用いて実現されるストレージデバイスである。
【0033】
入出力インタフェース410は、情報処理装置10を周辺デバイスと接続するためのインタフェースである。
【0034】
ネットワークインタフェース412は、情報処理装置10を通信網に接続するためのインタフェースである。ネットワークインタフェース412が通信網に接続する方法は、無線接続であってもよいし、有線接続であってもよい。
【0035】
ストレージデバイス408は、情報処理装置10の各機能要素を実現するためのプログラムモジュールを記憶している。プロセッサ404は、このプログラムモジュールをメモリ406に読み出して実行することで、情報処理装置10の各機能を実現する。また、ストレージデバイス408は情報記憶部110としても機能する。
【0036】
なお、上記した集積回路のハードウェア構成は本図に示した構成に限定されない。例えば、プログラムモジュールはメモリ406に格納されてもよい。この場合、集積回路は、ストレージデバイス408を備えていなくてもよい。
【0037】
図5は、飛行体20のハードウェア構成の一例を示す図である。飛行体20のうち駆動部210及び撮像部240を除いた部分は、集積回路を実現される。この集積回路は、バス502、プロセッサ504、メモリ506、ストレージデバイス508、入出力インタフェース510、及びネットワークインタフェース512を有する。これらは、図4に示したバス402、プロセッサ404、メモリ406、ストレージデバイス408、入出力インタフェース410、及びネットワークインタフェース412と同様である。ただし、入出力インタフェース510は駆動部210及び撮像部240に接続している。また、ストレージデバイス508はルート記憶部230及び情報記憶部270としても機能する。
【0038】
図6は、情報処理装置10が行う処理の第1例を示している。本図に示す例において、情報処理装置10は飛行体20の飛行ルートを示すルート情報を生成する。
【0039】
まず情報処理装置10のルート生成部120は、飛行ルートを生成するために必要な情報(以下、設定情報と記載)を取得する(ステップS10)。設定情報は、少なくとも飛行体20の現在位置情報及び目的地情報を取得する。設定情報は、さらに飛行体20の飛行条件を示す情報を含むのが好ましい。飛行条件の例は上記した通りである。
【0040】
次いでルート生成部120は、情報記憶部110が記憶している情報を用いて、飛行体20の現在位置から目的地までの飛行ルートを示すルート情報を生成する(ステップS20)。飛行ルートの生成方法の一例としては、ノード・リンク情報を用いる方法がある。ルート生成部120がノード・リンク情報を用いて飛行ルートを設定する方法は、例えばカーナビゲーションシステムがノード・リンク情報を用いて走行ルートを設定する方法と同様である。
【0041】
ルート生成部120は、飛行時の気象条件によって飛行ルートを変えてもよい。この気象条件は、風向き、気温、及び日光の照射状況の少なくとも一つを含んでいる。ルート生成部120は、外部のサーバから気象条件を取得する。例えば現在位置と目的地とを直線的に結ぶ飛行ルートでは逆風となり、かつ風の強さが基準値になると予想される以上の場合、飛行体20が前方に進めない可能性が出てくるため、ルート生成部120は、飛行ルートを迂回ルートに変更する。例えばルート生成部120は、風向と真逆に進む方向を含まないように迂回ルートを設定する。また、気温や日光の照射情報の少なくとも一方が基準値以下の場合、バッテリーの能力が低下するため、ルート生成部120は、飛行ルートをなるべく直線状にする。
【0042】
また、ルート生成部120は、隣り合う2つのリンクが成す角度が基準値以上(例えば90°以上)になるように、ノードを選択するのが好ましい。
【0043】
ここで、ノード・リンク情報が飛行体20の飛行条件別(又はそのノード・リンクが適用すべき飛行条件に紐づけて)に記憶されており、ステップS10においてルート生成部120が飛行条件を取得していた場合、ルート生成部120は、ステップS10において取得した飛行条件に対応するノード・リンク情報を用いる。
【0044】
次いでルート生成部120は、ルート情報を修正することにより、飛行体20が飛行すべき飛行ルートを修正する(ステップS30)。この処理の詳細については後述する。
【0045】
その後、情報処理装置10の入出力部130はルート情報を飛行体20に送信する。
【0046】
図7は、ルート生成部120が図6のステップS30で行う処理の第1例を説明するための図である。上記したように、ルート生成部120は、複数のノードを取得し、互いに前後するノードをつないでリンクを生成することにより、ルート情報を生成する。ただし、この状態では、図7(A)に示すように、リンクのうちノードにつながる部分は直線であり、その結果、ルート情報が示す飛行ルートに沿って飛行体20が飛行する場合、飛行体20はノード近傍で急峻に曲がる必要が出てくる。一方、飛行体20は急峻に曲がる場合、スピードを落とし、その場で静止する必要が出てくる。この場合、飛行体20はエネルギーを無駄に使うことになり、その結果、飛行可能距離が短くなってしまう。
【0047】
そこでルート生成部120は、旋回時における移動速度の減速もしくは静止をさけることにより、エネルギーの消費を抑える。具体的には、図7(B)に示すように、飛行ルートのうち、隣り合うリンクのつなぎ目を曲線状にする。例えば、飛行ルートが、第1のノード(例えばノードn2)と、このノードにつながる第1のリンク(例えばリンクL1)及び第2のリンク(例えばリンクL2)を含むとする。ルート生成部120は、飛行ルートのうち第1のリンクに相当する部分から第2のリンクに相当する部分に移る中間部を曲線状にする。ここでも散られる曲線は、例えば円弧、楕円弧、放物線、及び双曲線の少なくとも一つを用いて形成されるが、これに限定されない。
【0048】
ここで、ルート生成部120は、図7(B)に示すように、修正後の飛行ルートから上記した第1のノード(例えばノードn2)を外してもよいし、修正後の飛行ルートがこの第1のノードを通るようにしてもよい。また、ルート生成部120は、第1のリンクの端部及び第2のリンクの端部の双方を曲線状にしてもよいし、一方の端部のみを曲線状にしてもよい。また、ルート生成部120は、リンクの端部のうち曲線状にする部分の長さや曲率半径を、飛行体20の飛行速度や飛行体20の重量を用いて設定してもよい。例えば、飛行体20が重い場合や飛行速度が速い場合、リンクの端部のうち曲線状にする部分を長くする。
【0049】
またルート生成部120は、第1のリンク及び第2のリンクが成す角度(図7(A)に示す小さいほうの角度θ)が基準値以下(例えば135°以下)の場合に、図7に示した処理を行ってもよい。さらにルート生成部120は、上記した角度条件の代わり又はこの角度条件に加えて、飛行条件に応じて図7に示した処理を行うか否かを定めてもよい。例えばルート生成部120は、飛行目的が特定の目的(例えば監視や撮影)以外の場合、図7に示した処理を行う。
【0050】
なお、上記した処理により、飛行ルートには曲線部(例えば図7(B)のR1,R2)が含まれる。飛行体20は、この曲線部を、例えば以下のようにして飛行する。まず、飛行体20の制御部260は、曲線部に沿うように、飛行体20の進行方向及び旋回角度を設定する。次いで、制御部260は、制御部260が旋回制御を開始してから実際に飛行体20が旋回し始めるまでの時間(この時間は例えば予め記憶されている)に、飛行体20の現在の速度を乗じた値を算出する。次いで、制御部260は、曲線部の開始地点から前記した値だけ手間の位置を、旋回制御を開始すべき位置に設定する。
【0051】
そして制御部260は、飛行体20が旋回制御を開始すべき位置に到達すると、旋回制御を開始する。例えば制御部260は、少しずつラダーを入れていくとともに、エルロン及びエレベータを適宜加えることにより、飛行ルートの曲線部に沿って移動(旋回)する。
【0052】
ルート生成部120は、上記した処理において、中間部の曲率半径の最小値を基準値以上にするのが好ましい。この場合、基準値を特定するための情報は、例えば情報記憶部110に記憶されている。基準値は、飛行体20の属性別に定められていてもよいし、上記した飛行条件別、例えば飛行体20の属性別又は目的別に定められていてもよい。
【0053】
例えば飛行体20が大きくなるにつれて、また飛行体20(荷物がある場合は荷物も含む)が重くなるにつれて、上記した基準値は大きくなる。また、飛行体20の飛行速度が速くなるにつれて上記した基準値は大きくなる。例えば飛行体20の飛行目的が荷物の搬送の場合、飛行目的が巡回のときと比較して飛行速度は遅くなる。このため、飛行体20の飛行目的が荷物の搬送の場合の上記した基準値は、飛行体20の飛行目的が巡回のときと比較して小さくなる。
【0054】
ルート生成部120は、上記した処理を、現在地に該当するノード及び目的地に該当するノードを除いた、すべてのノードに対して行うのが好ましい。ただしルート生成部120は、一部のノードに対してはこの処理を行わなくてもよい。
【0055】
図8は、ルート生成部120が図6のステップS30で行う処理の第2例を説明するための図である。この例において、情報記憶部110は、飛行体20が飛行を避けるべき地点、建造物、又は地域(以下、回避地域と記載)を特定するための情報(以下、回避地域情報と記載)を記憶している。情報記憶部110は、回避地域情報を上記した飛行条件別に記憶していてもよいし、その回避地域情報が適用されるべき飛行条件に紐づけて記憶していてもよい。さらに情報記憶部110は、回避地域情報を、時刻、曜日、及び季節の少なくとも一つ別に記憶していてもよいし、その回避地域情報が適用されるべき時刻、曜日、及び季節の少なくとも一つに紐づけて記憶していてもよい。また回避地域情報は、飛行体が飛行を回避すべき高さを示す情報も含んでいてもよい。
【0056】
ルート生成部120は、この回避地域情報を用いてルート情報を修正する。例えば、図8(A)に示すように、飛行ルートの一部が飛行を避けるべき地点又は地域αと重なっている場合、図8(B)に示すように当該地点又は地域αを水平面上で避けるように、ルート情報を修正する。ここでルート生成部120は、飛行ルートが地域αから基準距離(例えば10m以下の予め定められた値)以上離れるようにルート情報を修正するのが好ましい。
【0057】
ルート情報の修正は、回避地域情報の前後に位置する2つのノードの少なくとも一方を変更することであってもよいし、図8(B)に示すように、上記した2つのノードを変更せずにリンクの形状を変更することであってもよい。後者の場合、ルート生成部120は、飛行ルートの修正部分の曲率半径の最小値を、上記した基準値以上にするのが好ましい。
【0058】
なお、飛行体20が飛行を避けるべき地点または地域は、例えば、所定の私有地、人の通行量が多い地域、車両の交通量が多い道路、基準より狭い道路、所定の施設(文化財、鉄道施設、ガソリンスタンド)、及び風が強いと想定される地域の少なくとも一つである。さらに、回避地域情報が示す地点または地域は、線路、空港、港、イベントが行われる領域(例えばイベント会場)、発電所などの特定の施設、所定の道路(例えば高速道路や幹線道路)、及び特定の地域(例えば人口密集地)の少なくとも一つであってもよい。上記した所定の道路は、渋滞情報に基づいて定期的に修正されてもよい。具体的には、道路のうち渋滞している部分及び渋滞すると予想される部分の少なくとも一方が、上記した所定の道路の少なくとも一部として設定される。ここで、渋滞情報は外部のサーバから繰り返し取得してもよい。
【0059】
図9は、ルート生成部120が図6のステップS30で行う処理の第3例を説明するための図である。情報記憶部110は、建物の平面形状を示すデータ(家形データ)を、その建物の位置を示す情報(例えば緯度経度情報や住所情報など)に対応付けて記憶している。さらに情報記憶部110は、その建物の高さを示すデータ又は3次元形状を示すデータを、その建物の位置を示す情報に対応付けて記憶していることもある。また回避地域情報が、飛行体が飛行を回避すべき高さを示す情報も含んでいることもある。これらの場合、ルート生成部120は、飛行体20が建物に衝突しないように(又は飛行を回避すべき高さを避けるように)飛行ルートを高さ方向に修正することもある。例えば図9(A)に示すように、建物βの高さによっては飛行体20が建物βに衝突する可能性がある。この場合、ルート生成部120はルート情報を修正する。例えばルート生成部120は、図9(B)に示すように、飛行体20が建物βに衝突しないように、飛行ルートの高さを変更する。
【0060】
この際、ルート生成部120は、飛行体20の上昇角度θが基準値以下となるように、ルート情報を修正するのが好ましい。具体的には、ルート生成部120は、飛行体20の上昇開始地点を変更することにより、上昇角度θを修正する。
【0061】
なお、ルート生成部120は、建物βの高さが基準値以上の場合、建物βを水平面上で避けるようにルート情報を修正してもよい。この時の処理は、図8を用いて説明したとおりである。
【0062】
またルート生成部120は、交通量が多いと予想される道路(又は予め指定されている道路)を横断する場合、横断距離が短くなるように、例えば道路を直角に横断するようにルートを設定してもよい。
【0063】
またルート生成部120は、上記した処理を、建物のみではなく、地形(例えば山や丘)に対して行ってもよい。
【0064】
図10は、情報処理装置10が行う処理の第2例を示している。この処理は、情報記憶部110が記憶しているノード・リンク情報を更新するための処理である。この処理は、ノード設定部140によって行われる。図11の各図はノード設定部140が行う処理を説明するための図である。
【0065】
まずノード設定部140は、いずれかの飛行体20が実際に飛行したルートを特定する情報(以下、飛行実績情報と記載)を取得する(ステップS110)。ノード設定部140は、飛行実績情報を、上記した飛行条件に対応付けて取得するのが好ましい。ノード設定部140は、飛行実績情報をユーザからの入力により取得してもよいし、入出力部130を介して飛行体20から取得してもよい。後者の場合、例えば飛行体20は、飛行が終了したら飛行実績情報を10に送信する。
【0066】
そしてノード設定部140は、図11(A)に示すように、複数の飛行実績情報それぞれが示すルート(例えばルートR1,R2,R3)を重ねる。そして、複数のルートの交点をノードとして認識する。そして、認識したノードのうち情報記憶部110にノードとして記憶されていない点(例えば図11(B)で符号Nを付した点)を、新たなノードとして認識し(ステップS120)、情報記憶部110に記憶させる(ステップS140)。
【0067】
さらにノード設定部140は、隣り合う2つのノードを結ぶ線をリンクとして認識する。そして、認識したリンクのうち情報記憶部110にリンクとして記憶されていない線を、新たなリンクとして認識し(ステップS130)、情報記憶部110に記憶させる(ステップS140)。言い換えると、ノード設定部140は、第1のノード、及びいずれかのルートにおいて第1のノードの隣のノードである第2のノードを結ぶ線を、リンクとして情報記憶部110に記憶させる。なお、リンクとして登録する線は、例えば2つのノードを結ぶ直線であるが、曲線であってもよい。また、この線は、実際に飛行体20が飛行したルートそのものの一部であってもよい。また、リンクは、さらに実際に飛行した方向を含んでいてもよい。
【0068】
なお、ノード設定部140は、飛行実績情報を、その飛行体20の飛行条件に対応付けて取得するのが好ましい。この場合、ノード設定部140は、飛行条件別にノードおよびリンクを生成し、情報記憶部110に記憶させる。またノード設定部140は、認識したノード(又はリンク)はすでに情報記憶部110に記憶されているが、今回の飛行条件に紐づけられていない場合、新たにその飛行条件をそのノード(又はリンク)に紐づける。
【0069】
図12は、飛行体20が目的地まで飛行するときにルート取得部220、撮像部240、及び制御部260が行う処理を示している。まず、ルート取得部220は情報処理装置10から飛行予定のルート情報を取得し、ルート記憶部230に記憶させる(ステップS210)。次いで制御部260は、ルート記憶部230に記憶されたルート情報に従って飛行体20が飛行するように、駆動部210を制御する(ステップS220)。この際、制御部260は、必要に応じて情報記憶部270に記憶されている情報を読み出して用いる。
【0070】
そして制御部260は、飛行体20が目的地に到着する(ステップS230:Yes)と、着陸処理を実行する(ステップS240)。
【0071】
図13は、図12のステップS240(着陸処理)の詳細を示している。本図に示す処理において、撮像部240は飛行体20の下方を撮像する。この画像には目的地が含まれている。撮像部240は、撮像部240が生成した画像を解析することにより、飛行体20の着陸候補位置を示す着陸位置情報を生成し、この着陸位置情報を、飛行体20に出力する。飛行体20は、この着陸位置情報が示す位置に着陸するように、駆動部210を制御する。以下、図12のステップS240について詳細に説明する。
【0072】
本図に示す例において、着陸位置情報は予め定められている。例えば飛行体20の飛行目的が荷物を搬送する場合、着陸位置情報は荷物の受取人及び搬送の依頼者の少なくとも一方によって、予め定め情報処理装置10の情報記憶部110又は飛行体20の情報記憶部270に記憶されている。前者の場合、ルート生成部120が生成するルート情報は、着陸位置情報を含んでいる。着陸位置情報は、例えば、図14に示すように、建物310の平面形状に対する着陸位置302の相対位置を示している。着陸位置情報を設定する際に、情報記憶部110が記憶している目的地の画像や地図がディスプレイに表示されてもよい。
【0073】
まず、飛行体20が目的地の上方に到着すると、撮像部240は飛行体20の下方を撮像する(ステップS242)。この撮像タイミングは、例えば飛行体20が目的地に到着したとき、又はその後である。ただし、画像が目的地を含む場合は、飛行体20が目的地に到着する直前に撮像部240は飛行体20の下方を撮像してもよい。さらに、撮像部240は、飛行体20が飛行している間継続して飛行体20の下方を撮像していてもよい。
【0074】
解析部250は、撮像部240が撮像した画像を取得する。撮像部240は、取得した画像を解析することにより、建造物の形状及び位置を特定する(ステップS244)。この特定は、例えば特徴量のマッチング処理によって行われる。建造物の形状は、例えば建物の平面形状、及び外構上の構造物の平面形状の少なくとも一つである。外構上の構造物は、例えば玄関のアプローチ、玄関に続く歩道、門、駐車場、庭、物置、及び塀などである。
【0075】
例えば、解析部250は、舗装の有無や舗装されている領域の形状によって、玄関に続く歩道及び駐車場の位置及び範囲を判別する。解析部250は、駐車場の位置及び範囲を、上記した舗装されている領域の形状の他に、敷地のうち接道している領域を用いて判断してもよい。また、解析部250は、この歩道のうち家屋側の端部を、玄関として判断してもよい。さらに解析部250は、植栽の状況から庭の範囲を判断してもよい。
【0076】
そして解析部250は、画像を用いて特定した建造物の形状及び位置が、情報記憶部270が記憶している地図情報と一致しているか否かを判断する(ステップS246)。例えば地図情報に家形データが含まれている場合、解析部250は、この家形データと建造物の形状の一致度が基準以上か否かを判断する。一致している場合(ステップS246:Yes)、解析部250はその旨を示す情報を制御部260に出力する。制御部260は、予め設定されている着陸位置情報が示す位置に、飛行体20を着陸させる(ステップS250)。
【0077】
一方、一致していない場合(ステップS246:No)、解析部250は、画像の解析結果を用いて新たに着陸位置応報を生成して制御部260に出力し、着陸位置情報を更新する(ステップS248)。制御部260は、更新後の着陸位置情報が示す位置に、飛行体20を着陸させる(ステップS250)。
【0078】
例えば解析部250は、塀やフェンスの位置を用いて目的地の敷地の境界線300を推定する。そして解析部250は、この境界線を用いて着陸位置情報を生成する。具体的には、解析部250は、境界線の内側の領域から着陸候補位置を選択する。
【0079】
本実施形態においては、着陸位置の選択に際し、飛行体20が着陸すべき位置となるべき外構上の構造物が予め設定さられている。この設定は、例えば飛行体20の飛行を依頼した人(飛行体20が荷物の搬送を行う場合は搬送の依頼者)によって設定されてもよいし、予めデフォルトで設定されていてもよい。情報記憶部270は、この構造物を特定する情報を記憶している。例えば情報記憶部270は、図14に示すように、建物310の玄関312、庭320、及び駐車場330の少なくとも一つを、飛行体20が着陸すべき位置として記憶している。そして解析部250は、画像を解析することによってこの構造物の位置を特定し、特定した位置を新たな着陸候補位置として設定する。なお、解析部250は、駐車場330を着陸位置302として選択する場合、好ましくは、車が駐車していないことを必要条件にする。
【0080】
情報記憶部270は、複数の構造物を、飛行体20が着陸すべき位置として記憶していてもよい。この場合、情報記憶部270は、優先順位を示す情報に対応付けて、各構造物を特定する情報を記憶しており、また、着陸候補位置が満たすべき条件を記憶している。そして解析部250は、優先順位が高い構造物から順に、その構造物の位置を特定するとともに上記した条件を満たすか否かを判断し、最初にこの条件を満たした構造物の位置を、新たな着陸候補位置に設定する。優先順位としては、例えば、玄関前の通路の玄関に向かって右側のスペースが最も高く、次に高いのは(例えばそこに適切な着陸地点を確保できない場合)、玄関前の通路の玄関に向かって左側のスペース、その次に高いのは庭、その次に高いのは駐車場とする。ただし、駐車場に関しては車が駐車している場合、着陸しないこととするのが好ましい。
【0081】
ここで満たすべき条件は、例えば予め定められた広さがあるかどうかであり、例えば飛行体20の属性(例えば機種、大きさ、又は幅)別に設定されていてもよい。
【0082】
なお、上記したように、情報記憶部270は、優先順位を示す情報に対応付けて、各構造物を特定する情報を記憶しているが、この優先順位は、飛行体20の目的地の住所によって変えられてもよい。
【0083】
さらに、ステップS244に示した処理及びステップS248に示した処理の少なくとも一方は、飛行体20の目的地の住所によって変えられてもよい。例えば飛行体20の目的地が郊外にある場合(すなわち敷地の境界は画像から特定でき、かつ敷地一つあたりの面積が基準値以上の場合)は、敷地の全体に対して上記した処理を行う。一方、隣り合う建物の間隔が広く、各建物の敷地の境界が画像から特定できないと予想される地域に目的地がある場合、家屋の外郭線から所定の距離(例えば20m以内、好ましくは10m以内)にある領域に対して上記した処理を行う。
【0084】
また、隣り合う建物の間隔が広く、各建物の敷地の境界が画像から特定できないと予想される地域において、庭や歩道を特定するアルゴリズムは上記した例と異なっていてもよい。さらに、このような地域において、解析部250は、家屋から所定の距離にある領域から障害物がない領域を選択し、この選択した領域を着陸候補位置としてもよい。
【0085】
また、飛行体20の制御部260は、ステップS244,S246に示した処理を省略してもよい。この場合、制御部260は、目的地に着陸するときはすべてステップS248に示した処理を行い、着陸位置情報を生成する。
【0086】
また、解析部250は、上記したステップS244及びS246に示した処理の代わりに、又はステップS244及びS246に示した処理に加えて、予め設定されている着陸位置情報が示す位置の周囲に、着陸の障害になる物(以下、障害物と記載)があるか否かを判断してもよい。この場合、障害物が無い場合にはステップS250に進み、障害物が有る場合にステップS248に進む。
【0087】
さらに、解析部250は、上記したステップS244及びS246に示した処理の代わりに、又はステップS244及びS246に示した処理に加えて、予め設定されている着陸位置情報が示す位置の平坦度が基準を満たすか否かを判断してもよい。この場合、平坦度が基準を満たす場合にはステップS250に進み、平坦度が基準を満たさない場合にステップS248に進む。この処理は、上記した障害物の有無に関する処理に加えて行われてもよい。この場合、さらに、ステップS244及びS246に示した処理も行われてもよい。
【0088】
また、制御部260は、解析部250が上記した処理を行っても着陸すべき地点を設定できない場合、飛行体20を出発地点に引き返させてもよい。さらに飛行体20の飛行目的が荷物の配送の場合、荷物を置いて離陸した後、撮像部240は、目的地の上方から、目的地に置かれた荷物を撮影し、その画像を配送のエビデンスとして記憶していてもよい。
【0089】
なお、図13に示した処理の少なくとも一部(例えばステップS244及びS246に示した処理)または全部は、情報処理装置10によって行われてもよい。この場合、情報処理装置10と飛行体20の間で必要な情報の送受信が行われる。情報処理装置10によって図13に示した処理が行われる場合、ステップS246において、家形データの代わりに、情報記憶部110が記憶している目的地の画像が用いられてもよい。この場合、情報記憶部110が記憶している目的地の画像から、家形データが生成される。
【0090】
図15は、飛行体20が有する緊急着陸機能を説明するためのフローチャートである。飛行体20は、目的地まで当該飛行体20が飛行できないと判断したとき、飛行体20のそのときの位置の近くに緊急着陸する。
【0091】
まず飛行体20の制御部260は、駆動部210に含まれるセンサの検出値を、飛行体20の状態を示す状態情報として、繰り返し取得する(ステップS310)。状態情報には、例えば、飛行体20のバッテリーの残量を特定するための値や、モータの状態を特定するための値が含まれている。制御部260は、状態情報を取得するたびに、状態情報が基準を満たしているか否か、すなわち飛行体20が飛行可能か否かを判断する(ステップS320)。
【0092】
例えば制御部260は、駆動部210が有するGPSセンサの検出値を用いて、飛行体20の現在位置を算出する。そして制御部260は、その現在位置を用いて、飛行体20の飛行予定距離の残りを算出する。さらに制御部260は、飛行予定距離の残りを用いて、飛行に必要なバッテリーの残量を算出する。そしてこの値(又はこの値に所定の係数を乗じた値)がバッテリーの残量の測定値よりも小さい場合、飛行体20が目的地まで飛行できないと判断する。ここで所定の係数は、1超の場合もあれば1未満の場合もある。
【0093】
なお、制御部260は、バッテリーの残量から、飛行体20の飛行可能距離を算出し、この距離(又はこの距離に所定の係数を乗じた値)が飛行予定距離の残りよりも小さい場合に、飛行体20が目的地まで飛行できないと判断してもよい。ここで用いられる所定の係数は、1超の場合もあれば1未満の場合もある。
【0094】
また、制御部260は、モータに異常が生じたことを検知した場合も、飛行体20が目的地まで飛行できないと判断する。
【0095】
そして制御部260は、飛行体20が目的地まで飛行できないと判断した場合(ステップS320:Yes)、緊急着陸処理を実行する(ステップS330)。
【0096】
図16は、図15のステップS330(緊急着陸処理)の詳細例を示している。この処理において、情報生成部280は、情報記憶部270が記憶している複数の着陸候補地点のうち、飛行体20の現在位置から飛行体20の飛行可能距離以内に位置する着陸候補地点を、飛行体20が着陸すべき地点として選択し、制御部260に出力する。
【0097】
まず、制御部260は、駆動部210が有するGPSセンサの検出値を用いて、飛行体20の現在位置を算出しステップS332)、バッテリーの残量から飛行体20の飛行可能距離を算出する。(ステップS334)。なお、制御部260は、ステップS320において飛行体20の現在位置を算出していた場合、ステップS332を省略してもよい。また、制御部260は、ステップS320において飛行体20の飛行可能距離を算出していた場合、ステップS334を省略してもよい。
【0098】
次いで情報生成部280は、情報記憶部270が記憶している複数の着陸候補地点のうち、制御部260が算出した現在位置から飛行可能距離以内(又は飛行可能距離に1未満の所定の係数を乗じた値)に位置する着陸候補地点を、飛行体20が着陸すべき地点として選択する(ステップS336)。
【0099】
ここで複数の着陸候補地点が選択された場合、情報生成部280は、例えば飛行体20の現在位置から最も近い着陸候補地点を選択してもよい。また、情報記憶部270が記憶している着陸候補地点に、優先度が対応付けて記憶されている場合、情報生成部280は、着陸すべき地点となる着陸候補地点を、優先度を用いて選択してもよい。具体的には情報生成部280は、最も優先度が高い着陸候補地点を選択する。ここで優先度を定める因子の一つは、飛行体20の充電設備の有無である。例えば飛行体20の充電設備がある着陸候補地点の優先度は高くなる。
【0100】
なお、着陸候補地点の優先度は、例えば複数段階で設定される。このため、同じ優先度の着陸候補地点が複数選択されることがある。この場合、情報生成部280は、飛行体20の現在位置から最も近い着陸候補地点を選択する。
【0101】
そして制御部260は、情報生成部280が選択した着陸候補地点を新たな目的地として設定し(ステップS338)、そこに向けて着陸処理を行う(ステップS340)。
【0102】
なお、ステップS338において、制御部260はルート情報を更新するが、この更新処理において、制御部260は、図8及び図9を用いて説明したようなルート修正を行ってもよい。具体的には、制御部260は、まず、飛行体20の現在位置から新たな目的地までの3次元の飛行ルートを直線的にする。次いで制御部260は、この飛行ルートが、回避地域情報が示す地点、建造物、及び地域を平面的に避けるように、ルートを構成するリンクの2次元形状を修正する。また、回避地域情報が回避すべき高さを示す情報も含んでいる場合、制御部260は、飛行ルートが飛行禁止区域を高さ方向に避けるように、ルートを構成するリンクの3次元形状を修正する。
【0103】
また、図15に示した処理の少なくとも一部は情報処理装置10によって行われてもよい。また、図16に示した処理の少なくとも一部は情報処理装置10によって行われてもよい。例えば、S330に示した目的地変更処理(目的地を緊急着陸すべき地点に変更する処理)のうち情報生成部280が行う処理は、情報処理装置10のルート生成部120が行ってもよい。この場合、情報処理装置10と飛行体20の間で必要な情報の送受信が行われる。
【0104】
以上、本実施形態に係る情報処理装置10はノード設定部140を有している。ノード設定部140は、飛行体20が実際に飛行した飛行ルートを用いて、新たなノードおよびリンクを設定し、情報記憶部110に記憶させる。このため、情報記憶部110に、新たなノードおよびリンクを容易に追加することができる。
【0105】
また、情報処理装置10のルート生成部120は、ルート情報が示す飛行ルートを修正し、飛行体20が急峻に曲がらなくて済むようにしている。従って、飛行体20が飛行中に減速する回数は少なくなり、その結果、飛行体20がエネルギーを余分に消費することを抑制できる。このため、飛行体20の飛行可能距離が少なくなることを抑制できる。
【0106】
また、本実施形態に係る飛行体20は、撮像部240が着陸直前に目的地を撮像した画像を用いて、目的地のうち飛行体20が着陸すべき位置を定める。このため、飛行体の着陸地点を精度良く制御することができる。また、安全かつ高い確率で飛行体20を着陸させることができる。
【0107】
また、飛行体20は、飛行体が目的地より手前で着陸する必要が出てきた場合、飛行体20の制御部260は、予め設定されている複数の着陸候補地点から、飛行可能な距離にある着陸候補地点を選択し、この着陸候補地点を新たな目的地に設定する。このため、飛行体20は飛行体が目的地より手前で安全に着陸できる。
【0108】
(第2の実施形態)
図17は、第2の実施形態に係る情報処理装置10の機能構成を示す図である。本実施形態に係る情報処理装置10は、ルート修正部150及び推奨台数設定部160を備えている点を除いて、第1の実施形態に係る情報処理装置10と同様の構成である。また、飛行体20も第1の実施形態と同様である。
【0109】
ルート修正部150は、ルート生成部120から、ルート情報を、飛行目的を示す情報とともに取得する。ルート修正部150は、飛行体20の飛行目的が予め定められた領域の上空を飛行、例えば巡回する場合に、ルート情報が示す飛行ルートを修正する。具体的には、ルート修正部150は、上記した領域内に位置する建造物、施設、地域、及び地形の少なくとも一つを示す情報を、例えば情報記憶部110から取得する。そして、この建造物、施設、地域、及び地形に基づいた飛行規則を示す飛行規則情報を用いて、ルート情報を修正する。飛行規則情報は、情報記憶部110に記憶されている。
【0110】
ここで、上記した建造物、施設、及び地域は、第1の実施形態に示した回避地域である。ここで、回避地域を定義するための渋滞情報、及び、動的に変化する又は突発的に生じるイベント情報は外部のサーバから繰り返し取得してもよいし、飛行体20の撮像部240が撮像した画像に基づいて繰り返し生成されてもよい。この場合、画像の解析は解析部250が行ってもよいし、情報処理装置10が行ってもよい。前者の場合、解析部250による解析結果が情報処理装置10に送信され、後者の場合、撮像部240が撮像した画像が情報処理装置10に送信される。
【0111】
また、地形としては、特定の山、丘、川、谷などである。
【0112】
また、飛行規則としては、上空の飛行禁止がある。ここで、所定の高さ以下で飛行が禁止されていてもよいし、所定の高さ以上で飛行が禁止されていてもよいし、全ての高さで飛行が禁止されていてもよい。
【0113】
図18の各図は、ルート修正部150による飛行ルートの修正の第1例を示している。図18(A)は、修正前の飛行ルートを示している。この図において、飛行体20が巡回すべき領域340の縁に沿って複数のノードnが選択されている。そして、これらのノードnを順次結ぶことによって飛行ルートが設定されている。ここで、いずれかのノードn(例えばノードn11,n12)が領域340の外に位置している場合、飛行ルートの一部は領域340の外に食み出してしまう。そこでルート修正部150は、図18(B)に示すように、飛行ルートのすべてが領域340の内側に位置するように飛行ルートを修正する。例えばルート修正部150は、領域340の外に位置しているノードnを領域340の内側に移動させる。これにより、飛行ルートはすべて領域340の内側に位置する。
【0114】
図19の各図は、ルート修正部150による飛行ルートの修正の第2例を示している。図19(A)に示す例において、領域340には線路342が含まれている。線路342の上方は飛行禁止となっている。このため、ルート修正部150は、線路342の情報を通らないように、飛行ルートを修正する。図19(A)のように線路342が領域340を貫通している場合、ルート修正部150は、図19(B)に示すように、線路342を境に領域340を二つの領域に分割し、領域毎に飛行ルートを設定する。なお、線路が図示しないトンネルや陸橋の下を通る場合は、飛行ルートをトンネルや陸橋上空を横断する様なルートに補正してもよい。このようにすると、領域を分割しないで飛行ルートを設定することもできる。
【0115】
この場合、推奨台数設定部160は、修正後の前記飛行ルートに基づいて、飛行体の推奨台数を示す情報を出力する。例えば図19の各図に示す例では、領域340は二つの領域に分割されており、かつ、領域毎に飛行ルートが設定されている。このため、飛行体20が2つあったほうが領域340の監視効率は高くなる。この場合、推奨台数設定部160は、ルート修正部150から領域340をいくつの領域に分割したかを示す情報を取得し、この情報が示す分割数を、飛行体20の推奨台数として出力する。出力先は、例えば情報処理装置10に接続されたディスプレイであるが、特定の人が所持している端末であってもよい。
【0116】
また、ルート修正部150は、図8及び図9を用いて説明したようなルート修正を行ってもよい。具体的には、ルート修正部150は、飛行ルートが飛行禁止区域を平面的に避けるように、ルートを構成するリンクの2次元形状を修正する。また、飛行禁止区域が高さ方向に設定されている場合、ルート修正部150は、飛行ルートが飛行禁止区域を高さ方向に避けるように、ルートを構成するリンクの3次元形状を修正する。
【0117】
また、ルート修正部150は、上記した建造物、施設、及び地域を迂回することができる場合は、迂回ルートを飛行ルートの一部に組み込んでもよい。例えば、迂回例として、建造物・施設が立ち並び、その間をジグザグに抜けていく等、頻繁な方向修正が必要な場合、電力消費効率は悪くなり、また正確に飛行できない可能性も高まる。この場合、その一帯を一時的に飛行禁止区域とみなし、その一帯全域を迂回するように飛行ルートに修正する。一時的な飛行禁止区域の設定方法としては、以下の方法が考えられる。まず、ルート修正部150は、例えばユーザが設定したルートのうち短い間隔で所定の区域を頻繁に出入りしている場合、または、回避の為に修正した飛行ルートでは修正前と比べて電力消費等のコストが大きくなってしまうリンクが多数発生した場合を検出する。次いで、ルート修正部150は、該当区間で最初に飛行禁止区域の要因となる建物、又は、飛行禁止区域そのものを中心として、所定の形状及び大きさの矩形、または所定の大きさの円形の範囲を設定する。次いで、ルート修正部150は、この設定した範囲内において、中心とするもの以外の飛行禁止区域の要因となる建物、あるいは飛行禁止区域そのものの密度の高さ、偏りの無さが一定以上の場合にその矩形または円形を一時飛行禁止区域とみなす。矩形の形状や大きさ及び円形の大きさは、飛行対象物(例えばドローン)の機体特性(バッテリー量や電費特性)によって変動しても良い。また、矩形または円形そのものではなく、その範囲内の偏りが多いエリアを一時飛行禁止区域とみなしてもよい。
【0118】
以上、本実施形態によれば、飛行体20の飛行目的が予め定められた領域の上空を巡回する場合、ルート修正部150は、当該領域の中に位置する建造物、施設、地域、及び地形の少なくとも一つに設定されている飛行規則に基づいて、飛行ルートを修正する。このため、ルート情報は、より適切な飛行ルートを示すことになる。また、飛行ルートが複数に分割される場合もあるが、この場合、推奨台数設定部160は、飛行体20の推奨台数を示す情報を出力することができる。なお、本実施形態では、巡回ルートの例を用いて説明したが、それに限定されずに、荷物の配送及び物流などのための飛行ルートの設定に応用することができる。
【0119】
以上、図面を参照して実施形態及び実施例について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
【符号の説明】
【0120】
10 情報処理装置
20 飛行体
110 情報記憶部
120 ルート生成部
130 入出力部
140 ノード設定部
150 ルート修正部
160 推奨台数設定部
210 駆動部
220 ルート取得部
230 ルート記憶部
240 撮像部
250 解析部
260 制御部
270 情報記憶部
280 情報生成部
300 境界線
302 着陸位置
310 建物
312 玄関
320 庭
330 駐車場
340 領域
342 線路
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19