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

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

▶ ソニー株式会社の特許一覧

特許7622653情報処理装置、方法、コンピュータプログラム及び通信システム
<>
  • 特許-情報処理装置、方法、コンピュータプログラム及び通信システム 図1
  • 特許-情報処理装置、方法、コンピュータプログラム及び通信システム 図2
  • 特許-情報処理装置、方法、コンピュータプログラム及び通信システム 図3
  • 特許-情報処理装置、方法、コンピュータプログラム及び通信システム 図4
  • 特許-情報処理装置、方法、コンピュータプログラム及び通信システム 図5
  • 特許-情報処理装置、方法、コンピュータプログラム及び通信システム 図6
  • 特許-情報処理装置、方法、コンピュータプログラム及び通信システム 図7
  • 特許-情報処理装置、方法、コンピュータプログラム及び通信システム 図8
  • 特許-情報処理装置、方法、コンピュータプログラム及び通信システム 図9
  • 特許-情報処理装置、方法、コンピュータプログラム及び通信システム 図10
  • 特許-情報処理装置、方法、コンピュータプログラム及び通信システム 図11
  • 特許-情報処理装置、方法、コンピュータプログラム及び通信システム 図12
  • 特許-情報処理装置、方法、コンピュータプログラム及び通信システム 図13
  • 特許-情報処理装置、方法、コンピュータプログラム及び通信システム 図14
  • 特許-情報処理装置、方法、コンピュータプログラム及び通信システム 図15
  • 特許-情報処理装置、方法、コンピュータプログラム及び通信システム 図16
  • 特許-情報処理装置、方法、コンピュータプログラム及び通信システム 図17
  • 特許-情報処理装置、方法、コンピュータプログラム及び通信システム 図18
  • 特許-情報処理装置、方法、コンピュータプログラム及び通信システム 図19
  • 特許-情報処理装置、方法、コンピュータプログラム及び通信システム 図20
  • 特許-情報処理装置、方法、コンピュータプログラム及び通信システム 図21
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-20
(45)【発行日】2025-01-28
(54)【発明の名称】情報処理装置、方法、コンピュータプログラム及び通信システム
(51)【国際特許分類】
   G08G 5/80 20250101AFI20250121BHJP
   G08G 1/16 20060101ALI20250121BHJP
   B64C 13/18 20060101ALI20250121BHJP
   B64C 39/02 20060101ALI20250121BHJP
   B64D 47/08 20060101ALI20250121BHJP
【FI】
G08G5/04 A
G08G1/16 A
B64C13/18 Z
B64C39/02
B64D47/08
【請求項の数】 18
(21)【出願番号】P 2021574567
(86)(22)【出願日】2021-01-04
(86)【国際出願番号】 JP2021000004
(87)【国際公開番号】W WO2021153159
(87)【国際公開日】2021-08-05
【審査請求日】2023-11-14
(31)【優先権主張番号】P 2020014462
(32)【優先日】2020-01-31
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(72)【発明者】
【氏名】漆戸 航平
(72)【発明者】
【氏名】李 駿
(72)【発明者】
【氏名】河本 献太
(72)【発明者】
【氏名】山本 将平
(72)【発明者】
【氏名】高柳 臣克
(72)【発明者】
【氏名】青山 一美
【審査官】佐々木 佳祐
(56)【参考文献】
【文献】特開2019-028712(JP,A)
【文献】特開2019-011971(JP,A)
【文献】特開2019-046272(JP,A)
【文献】特開2019-164003(JP,A)
【文献】特開2017-045385(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G08G 1/00-99/00
B64C 13/18
B64C 39/02
B64D 47/08
(57)【特許請求の範囲】
【請求項1】
移動体の進行方向を含む環境を撮像することにより、画像データを取得する撮像部と、
前記画像データに基づいて、前記移動体の前記進行方向に存在する他の移動体を検出し、前記撮像部の認識性能と、前記他の移動体の撮像部の認識性能を含む前記他の移動体に関する情報とに基づき、前記移動体と前記他の移動体のいずれが優先するかを決定し、前記他の移動体との衝突を阻止する行動を行う制御部と
を備えた情報処理装置。
【請求項2】
前記撮像部及び前記他の移動体の撮像部は、少なくとも1つのカメラを含み、
前記撮像部の認識性能と、前記他の移動体の撮像部の認識性能は、
前記カメラの個数、
前記カメラの画角、
前記カメラの設置位置、
前記カメラの解像度、
の少なくとも1つに基づき決定される
請求項に記載の情報処理装置。
【請求項3】
前記撮像部の認識性能は、前記制御部により検出された前記他の移動体の台数に基づいて決定され、
前記他の移動体の撮像部の認識性能は、前記他の移動体が前記他の移動体の進行方向に認識している移動体の台数に基づき決定される
請求項に記載の情報処理装置。
【請求項4】
前記制御部は、前記他の移動体との衝突を阻止する前記行動を決定し、前記行動を行う
請求項1に記載の情報処理装置。
【請求項5】
前記制御部は、前記行動として、
前記他の移動体に対する回避動作を行いながら進行するか、
待機動作を行うか
前記他の移動体に対する回避動作を行わずに進むか、
経路を変更するか
のいずれかを行う
請求項1に記載の情報処理装置。
【請求項6】
前記制御部は、
前記移動体と前記他の移動体のいずれが優先するかを決定し、
前記他の移動体が優先する場合、前記他の移動体に対する回避動作を行いながら進むか、前記待機動作を行うか、前記経路を変更するかのいずれかを行い、
前記移動体が優先する場合、前記他の移動体に対する回避動作を行うことなく進む、
請求項に記載の情報処理装置。
【請求項7】
前記制御部は、
前記移動体の優先度と、前記他の移動体の優先度とを決定し、
前記移動体の優先度と前記他の移動体の優先度とに基づいて、前記移動体と前記他の移動体のいずれが優先するかを決定する
請求項に記載の情報処理装置。
【請求項8】
前記他の移動体に関する情報は、前記他の移動体の移動目的を含み、 前記制御部は、前記移動体の移動目的と、前記他の移動体の移動目的とに基づき、前記移動体と前記他の移動体のいずれが優先するかを決定する
請求項に記載の情報処理装置。
【請求項9】
前記他の移動体に関する情報は、前記他の移動体の移動性能を含み、
前記制御部は、前記移動体の移動性能と、前記他の移動体の移動性能とに基づき、前記移動体と前記他の移動体のいずれが優先するかを決定する
請求項に記載の情報処理装置。
【請求項10】
前記他の移動体に関する情報は、前記他の移動体の速度を含み、
前記制御部は、前記移動体の速度と、前記他の移動体の速度とに基づいて、前記移動体と前記他の移動体のいずれが優先するかを決定する
請求項に記載の情報処理装置。
【請求項11】
前記制御部は、前記移動体が前記他の移動体と衝突するまでの時間を計算し、
前記時間に応じて、前記移動体と前記他の移動体のいずれが優先するかの決定を前記制御部が行うか、基地局が行うかを決定し、
前記基地局が行うことを決定した場合、前記決定を行うことの要求を前記基地局に送信する
請求項に記載の情報処理装置。
【請求項12】
前記他の移動体に関する情報を取得する情報取得部を備え、
前記制御部は、
前記移動体が前記他の移動体と衝突するまでの時間を計算し、
前記時間に基づいて、取得する前記情報の種類を決定し、
前記情報取得部は、決定した種類の前記情報を取得する
請求項1に記載の情報処理装置。
【請求項13】
前記他の移動体に関する情報は、前記他の移動体の位置、及び前記他の移動体までの距離の少なくとも1つを含む
請求項11に記載の情報処理装置。
【請求項14】
前記移動体は飛行体である
請求項1に記載の情報処理装置。
【請求項15】
移動体の進行方向を含む環境を撮像することにより、画像データを取得する撮像部と、
前記画像データに基づいて、前記移動体の前記進行方向に存在する他の移動体を検出し、前記他の移動体に関する情報に基づき、前記他の移動体との衝突を阻止する行動を行う制御部と
備え、
前記制御部は、前記行動として、
前記他の移動体に対する回避動作を行いながら進行するか、
待機動作を行うか
前記他の移動体に対する回避動作を行わずに進むか、
経路を変更するか
のいずれかを行い、
前記制御部は、前記移動体と前記他の移動体のいずれが優先するかを決定し、
前記他の移動体が優先する場合、前記他の移動体に対する回避動作を行いながら進むか、前記待機動作を行うか、前記経路を変更するかのいずれかを行い、
前記移動体が優先する場合、前記他の移動体に対する回避動作を行うことなく進み、
また、前記制御部は、
前記他の移動体が前記移動体を認識しているかを判断し、
前記他の移動体が前記移動体を認識していないと判断した場合は、前記他の移動体を優先させる情報処理装置。
【請求項16】
移動体に搭載されるコンピュータに実行させるためのコンピュータプログラムであって、
移動体の進行方向を含む環境を、撮像部を用いて撮像することにより、画像データを取得する撮像ステップと、
前記画像データに基づいて、前記移動体の前記進行方向に存在する他の移動体を検出する検出ステップと、
前記撮像部の認識性能と、前記他の移動体の撮像部の認識性能を含む前記他の移動体に関する情報に基づき、前記移動体と前記他の移動体のいずれが優先するかを決定し、前記他の移動体との衝突を阻止する行動を行う制御ステップと
を備えたコンピュータプログラム。
【請求項17】
移動体によって実行される方法であって、
前記移動体の進行方向を含む環境を、撮像部を用いて撮像することにより、画像データを取得し、
前記画像データに基づいて、前記移動体の前記進行方向に存在する他の移動体を検出し、
前記撮像部の認識性能と、前記他の移動体の撮像部の認識性能を含む前記他の移動体に関する情報に基づき、前記移動体と前記他の移動体のいずれが優先するかを決定し、前記他の移動体との衝突を阻止する行動を行う方法。
【請求項18】
複数の移動体と基地局とを備えた通信システムであって、
前記複数の移動体は
前記移動体の進行方向を含む環境を撮像することにより、画像データを取得する撮像部と、
前記画像データに基づいて、前記移動体の前記進行方向に存在する他の移動体を検出する制御部と、
前記基地局と通信する通信部とを備え、
前記基地局は、
前記移動体と通信する通信部と、
前記移動体から前記撮像部の認識性能を含む前記移動体に関する情報と前記画像データとを取得する情報取得部と、
前記移動体に関する情報と前記画像データとに基づき、前記複数の移動体のいずれが優先するかを決定し、前記移動体が前記他の移動体と衝突を阻止する行動を決定するための情報を生成し、生成した前記情報を前記移動体に送信する制御部と、を備えた
通信システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、方法、コンピュータプログラム及び通信システムに関する。
【背景技術】
【0002】
従来、ドローンの障害物回避の方法が提案されている。しかしながら、従来の方法は、主に、静止物体に対する衝突回避であり、空間中を行きかうドローン同士の回避に関する方法の提案は少ない。
【0003】
特許文献1は、飛行速度又は重量などからドローンの優先度を決定し、決定した優先度に応じた優先順位で、各ドローンが衝突回避のための行動を行う方法を開示している。この方法では、ドローン間の距離が一定値以下になった場合に、ドローン同士の優先度を比較し、ドローンの優先順位を決定する。
【0004】
しかしながら、優先順位を決定するために、自ドローン及び相手ドローンがお互いを認識して、通信できなければならない。また、自ドローン及び相手ドローンのいずれも、特許文献1の技術に対応した機能を有している必要がある。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2018-77754号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本開示は、他の移動体との衝突を阻止する情報処理装置、方法、コンピュータプログラム及び通信システムを提供する。
【課題を解決するための手段】
【0007】
本開示による情報処理装置は、
移動体の進行方向を含む環境を撮像することにより、画像データを取得する撮像部と、 前記画像データに基づいて、前記移動体の前記進行方向に存在する他の移動体を検出し、
前記他の移動体に関する情報に基づき、前記他の移動体との衝突を阻止する行動を行う制御部と
を備える。
【0008】
前記制御部は、前記他の移動体との衝突を阻止する前記行動を決定し、前記行動を行う。
【0009】
前記制御部は、前記行動として、
前記他の移動体に対する回避動作を行いながら進行するか、
待機動作を行うか
前記他の移動体に対する回避動作を行わずに進むか、
経路を変更するか
のいずれかを行う。
【0010】
前記制御部は、
前記移動体と前記他の移動体のいずれが優先するかを決定し、
前記他の移動体が優先的する場合、前記他の移動体に対する回避動作を行いながら進むか、前記待機動作を行うか、前記経路を変更するかのいずれかを行い、
前記移動体が優先する場合、前記他の移動体に対する回避動作を行うことなく進む。
【0011】
前記制御部は、
前記移動体の優先度と、前記他の移動体の優先度とを決定し、
前記移動体の優先度と前記他の移動体の優先度とに基づいて、前記移動体と前記他の移動体のいずれが優先的するかを決定する。
【0012】
前記他の移動体に関する情報は、前記他の移動体の撮像部の認識性能を含み、
前記制御部は、前記撮像部の認識性能と、前記他の移動体の撮像部の認識性能とに基づいて、前記移動体と前記他の移動体のいずれが優先するかを決定する。
【0013】
前記撮像部及び前記他の移動体の撮像部は、少なくとも1つのカメラを含み、
前記撮像部の認識性能と、前記他の移動体の撮像部の認識性能は、
前記カメラの個数、
前記カメラの画角、
前記カメラの設置位置、
前記カメラの解像度、
の少なくとも1つに基づき決定される。
【0014】
前記撮像部の認識性能は、前記制御部により検出された前記他の移動体の台数に基づいて決定され、
前記他の移動体の撮像部の認識性能は、前記他の移動体が前記他の移動体の進行方向に認識している移動体の台数に基づき決定される。
【0015】
前記制御部は、
前記他の移動体が前記移動体を認識しているかを判断し、
前記他の移動体が前記移動体を認識していないと判断した場合は、前記他の移動体を優先的させる。
【0016】
前記他の移動体に関する情報は、前記他の移動体の移動目的を含み、
前記制御部は、前記移動体の移動目的と、前記他の移動体の移動目的とに基づき、前記移動体と前記他の移動体のいずれが優先するかを決定する。
【0017】
前記他の移動体に関する情報は、前記他の移動体の移動性能を含み、
前記制御部は、前記移動体の移動性能と、前記他の移動体の移動性能とに基づき、前記移動体と前記他の移動体のいずれが優先するかを決定する。
【0018】
前記他の移動体に関する情報は、前記他の移動体の速度を含み、
前記制御部は、前記移動体の速度と、前記他の移動体の速度とに基づいて、前記移動体と前記他の移動体のいずれが優先するかを決定する。
【0019】
前記制御部は、前記移動体が前記他の移動体と衝突するまでの時間を計算し、
前記時間に応じて、前記移動体と前記他の移動体のいずれが優先するかの決定を前記制御部が行うか、基地局が行うかを決定し、
前記基地局が行うことを決定した場合、前記決定を行うことの要求を前記基地局に送信する。
【0020】
前記制御部は、
前記移動体が前記他の移動体と衝突するまでの時間を計算し、
前記時間に基づいて、取得する前記情報の種類を決定し、
前記情報取得部は、決定した種類の前記情報を取得する。
【0021】
前記他の移動体に関する情報は、前記他の移動体の位置、及び前記他の移動体までの距離の少なくとも1つを含む。
【0022】
前記移動体は飛行体である。
【0023】
本開示によるコンピュータプログラムは、
移動体に搭載されるコンピュータに実行させるためのコンピュータプログラムであって、
移動体の進行方向を含む環境を撮像することにより、画像データを取得する撮像ステップと、
前記画像データに基づいて、前記移動体の前記進行方向に存在する他の移動体を検出する検出ステップと、
前記他の移動体に関する情報に基づき、前記他の移動体との衝突を阻止する行動を行う制御ステップと。
を備える。
【0024】
本開示による方法は、移動体によって実行される方法であって、
移動体によって実行される方法であって、
前記移動体の進行方向を含む環境を撮像することにより、画像データを取得し、
前記画像データに基づいて、前記移動体の前記進行方向に存在する他の移動体を検出し、
前記他の移動体に関する情報に基づき、前記他の移動体との衝突を阻止する行動を行う。
【0025】
本開示による通信システムは、複数の移動体と基地局とを備えた通信システムであって、
前記複数の移動体は
前記移動体の進行方向を含む環境を撮像することにより、画像データを取得する撮像部と、
前記画像データに基づいて、前記移動体の前記進行方向に存在する他の移動体を検出する制御部と、
前記基地局と通信する通信部とを備え、
前記基地局は、
前記移動体と通信する通信部と、
前記移動体から前記移動体の情報と前記画像データとを取得する情報取得部と、
前記移動体に関する情報と前記画像データとに基づき、前記移動体が前記他の移動体と衝突を阻止する行動を決定するための情報を生成し、生成した前記情報を前記移動体に送信する制御部と、を備える。
【図面の簡単な説明】
【0026】
図1】第1の実施形態に係る情報処理装置を含む通信システムのブロック図。
図2】ドローンのブロック図。
図3】基地局のブロック図。
図4】ドローンAとドローンBの飛行中の様子を平面的に示した模式図。
図5】ドローンAの前方に設置されたカメラでされた画像データの例を示す図。
図6】回避動作の例を側面から示す図。
図7】待避動作の例を側面から示す図。
図8】一時停止の例を平面的に示す図。
図9】優先度決定の第3の例を具体的に説明するための図。
図10】ドローンの制御部において行う衝突回避制御の一例のフローチャート。
図11】ドローンの制御部において行う優先度の決定処理の一例のフローチャート。
図12】衝突回避制御の第1の例のフローチャート。
図13】衝突回避制御の第2の例を説明するための図。
図14】衝突回避制御の第2の例のフローチャート。
図15】衝突回避制御の第3の例の具体例を説明するための図。
図16】衝突回避制御の第3の例の具体例を説明するための図。
図17】衝突回避制御の第3の例の具体例を説明するための図。
図18】調整後の優先度で各ドローンを行動させる例を示す図。
図19】衝突回避制御の第3の例のフローチャート。
図20】ドローンの情報処理装置又は基地局のハードウェア構成の一例を示す図。
図21】第5の実施形態における衝突回避制御の例のフローチャート。
【発明を実施するための形態】
【0027】
以下、図面を参照して、本開示の実施形態について説明する。本開示において示される1以上の実施形態において、各実施形態が含む要素を互いに組み合わせることができ、かつ、当該組み合わせられた結果物も本開示が示す実施形態の一部をなす。
【0028】
図1は、第1の実施形態に係る通信システムのブロック図である。図1の通信システムは、複数の移動体101A、101B、101Cと、基地局201とを備えている。本実施形態の移動体はドローン(無人航空機)であり、移動体101A~101Cをドローン101A~101Cと表記する。ドローンは移動体の一例であり、移動体は、ロボット又は無人搬送車などでもよい。図では3台のドローンが示されるが、ドローンの台数は2台でも、4台以上でもよい。以下、任意の1台のドローンを、ドローン101と表記する。
図中の矢印は通信の方向を示している。ドローン101Aとドローン101Bは双方向に通信可能であり、ドローン101Aとドローン101Cは双方向に通信可能であり、ドローン101Bとドローン101Cは双方向に通信可能である。また基地局201は、ドローン101A、ドローン101B及びドローン101Cのいずれとも双方向に通信可能である。
【0029】
ドローン101は、複数のロータを駆動することにより飛行可能な移動体である。ドローン101は、基地局201と無線通信可能である。ドローン101は、基地局201の制御の下、経路に沿って飛行を行う。ドローン101は出発地と目的地とから自ら経路を生成して飛行(自律飛行)してもよいし、基地局201から経路を指定され、指定された経路を飛行してもよい。
【0030】
図2は、ドローン101のブロック図である。ドローン101は、情報処理装置1と、ロータ14A~14D、及びモータ15A~15Dを備えている。情報処理装置1は、アンテナ10、撮像部11、制御部13、通信部12、センサ部16、位置検出部17、バッテリ18、記憶部19、及び情報取得部20を備えている。
【0031】
撮像部11は、ドローン101の進行方向を含む環境を撮像し、画像データを取得する。撮像部11は、撮像した画像データを時刻に関連づけて記憶部19に格納する。あるいは、撮像部11は、撮像した画像データを、制御部13に提供してもよい。撮像した画像は、静止画像または動画像である。撮像装置101は、レンズ及び撮像素子等を含むカメラを1つ以上備える。カメラはステレオカメラでもよい。撮像素子は、例えば、CCD(Charge Coupled Device)イメージセンサ又はCMOS(Complementary Metal Oxide Semiconductor)イメージセンサ等である。
【0032】
ロータ14A~14Dは、回転により揚力を生じさせることでドローン101を飛行させる。ロータ14A~14Dはモータ15A~15Dにより回転させられる。モータ15A~15Dは、ロータ14A~14Dを回転させる。モータ15A~15Dの回転は制御部13によって制御される。
【0033】
制御部13は、ドローン101の動作を制御する。制御部13は、撮像部11、通信部12、モータ15A~15D、センサ部16、位置検出部17、バッテリ18及び情報取得部20、及び記憶部19を制御する。
【0034】
制御部13は、モータ15A~15Dの回転速度の調整によりロータ14A~14Dの回転速度を調整する。ロータ14A~14Dの回転速度を調整することで、ドローン101を任意の方向及び任意の速度で移動させることができる。
【0035】
制御部13は、飛行中の間、撮像部11による撮像を制御する。例えば一定のサンプリング間隔ごとに撮像を行うよう、制御する。また、制御部13は、通信部12を介して、他の装置(例えば基地局101及び他の移動体)との間の情報又はデータの送受信処理を制御する。
【0036】
制御部13は、基地局201から指示データとして与えられる飛行の出発地及び目的地に基づき、飛行の経路を生成し、生成した経路に沿って飛行を行う。すなわち、制御部13は、自律飛行を行う。制御部13は、他のドローン(以下、他ドローン)やその他の障害物を回避する機能を有する。制御部13は、障害物との衝突を阻止するための経路を変更したい場合に、経路を再生成してもよい。制御部13は自ら経路を生成する以外に、制御部13は、飛行の経路のデータを基地局201から受信し、受信したデータの経路に沿って飛行してもよい。制御部13は、経路を変更したい場合は、例えば、ドローン101の位置の情報等を基地局201に送信し、経路の再生成の要求を送信してもよい。
【0037】
制御部13は、撮像部11により撮像された画像データに基づき、ドローン101の進行方向に存在する他ドローンを検出する処理を行う。進行方向に存在する他ドローンを、自ドローンと干渉する可能性のあるドローンとして、干渉ドローンと呼ぶ。また、干渉ドローンを検出する処理を干渉ドローン検出処理と呼ぶ。制御部13は、一例として干渉ドローン検出処理を、撮像部11で画像データが取得されるごとに行う。制御部13は干渉ドローンを検出することで、進行方向に存在する他ドローンを認識できる。
【0038】
ドローンの進行方向は一例としてドローンの前方方向であるが、必ずしも前方方向に限定されない。例えば、ドローンが上昇又は下降する場合は、上方向又は下方向を進行方向としてもよい。
【0039】
干渉ドローン検出処理の一例は、セグメンテーション技術を用いて、画像データから、ドローンのオブジェクトを検出することで行う。例えば、画素レベルでオブジェクト検出を行うセマンティックセグメンテーションを用いることができる。検出したオブジェクトが示すドローンを、干渉ドローンとして決定する。画像データから干渉ドローンを検出する方法は、セグメンテーション技術を用いた方法に限られず、任意の方法でよい。
【0040】
ドローン101の機体IDが付加された媒体(例えばシール)がドローン101に付加されていてもよい。機体IDは、ドローンをユニークに識別するIDである。画像データから機体IDを読み取り可能な場合は、読み取った情報から干渉ドローンの機体IDを特定してもよい。
【0041】
ドローン101の進行方向に存在するドローンは、一例として、ドローン101の進行方向に対応する箇所(例えば機体の前方)に設置したカメラの撮像画像に写っているドローンである。一例として、当該カメラによる撮像画像の全体をオブジェクト検出の対象とし、検出したオブジェクトを干渉ドローンとして決定する。
【0042】
あるいは、撮像画像の全体でなく、撮像画像の一部をオブジェクト検出の対象としてもよい。例えば撮像画像の特定箇所(部分画像)をオブジェクト検出の対象としてもよい。特定箇所は、撮像画像の中心から一定範囲でもよい。また、特定箇所は、自ドローンが通過する部分(自ドローンが占有する空間部分)、もしくは自ドローンが占有する空間部分にマージン領域を追加した部分でもよい。他の方法で進行方向に存在する他ドローンを検出してもよい。
【0043】
制御部13は、進行方向以外の周囲方向(例えば、後方方向、左側方向、右側方向、下側方向、上側方向など)のドローンを検出する処理を行ってもよい。この場合、進行方向に対応する箇所以外に設置されたカメラで撮像された画像データを用いてもよい。進行方向以外の方向のドローンを検出することで、例えば進行方向の干渉ドローンを回避する際に、他のドローンと衝突することを防止できる。
【0044】
制御部13は、画像データから干渉ドローンを検出した場合、干渉ドローンの位置と時刻とを含む干渉検出情報を生成する。制御部13は、干渉検出情報を記憶部19に格納する。干渉検出情報の集合は、干渉ドローンの検出履歴に相当する。干渉ドローンの位置に加え、又は干渉ドローンの位置の代わりに、干渉ドローンとの距離を算出してもよい。干渉ドローンの位置又は距離は、例えばステレオカメラで撮像した画像データを用いて算出することができる。
【0045】
通信部12は、基地局101及び他ドローン(干渉ドローンの場合を含む)と無線通信を行うことにより、情報又はデータの送受信処理を行う。無線通信の方式は任意でよい。一例として、IEEE802.11規格、IEEE802.15.1規格、その他の規格によるものでもよい。無線通信に使用する周波数帯域は、一例として、2.4GHz帯、5GHz帯、その他の周波数帯域である。
【0046】
通信部12は、一例として、飛行に関する指示データを、基地局201から受信する。通信部12は、指示データを制御部13に提供する。制御部13は、指示データに従って飛行を行うよう制御する。一例として指示データは出発地及び目的地を含む。制御部13は、目的地までの経路を生成し、生成した経路に従って飛行を行うよう制御する。
【0047】
また通信部12は、他ドローンから、他ドローンに関する情報(詳細は後述)を受信する。通信部12は、取得した他ドローンに関する情報を情報取得部20に提供する。通信部12は、他ドローンに関する情報を、基地局101を介して取得してもよい。また、通信部12はドローン101(自ドローン)に関する情報を、干渉ドローン又は基地局101に送信してもよい。
【0048】
位置検出部17は、ドローン101の位置を検出する。ドローン101の位置は、一例として、ドローン101の現在位置(リアルタイムの位置)である。位置検出部17は、例えばGPS(GlobalPositioningSystem)等を用いて位置を検出する。位置検出部17は、検出した位置の情報を時刻に関連づけて記憶部19に格納する。位置検出部17は、当該位置の情報を制御部13に提供してもよい。
【0049】
ドローンの位置は、一例として予め定めた座標系における位置である。予め定めた座標系は、基地局101の位置を原点又は所定の位置とした3軸の座標系(XYZの座標系)でもよい。例えば、(X,Y,Z)=(7.3m、4.1m、15.8m)である。座標系は、基地局101の位置以外の点を原点としてもよい。あるいは、ドローンの位置は、GPSにより取得した緯度と経度による位置でもよい。緯度と経度による位置を、予め定めた座標系の位置に変換してもよい。
【0050】
センサ部16は、ドローン101の状態を取得する1つ又は複数のセンサを備える。センサの例は、加速度センサ、方位センサ(ジャイロセンサ、GPSコンパス又は電子コンパスなど)、超音波センサ、及び気圧センサを含む。センサ部16は、取得したドローン101の状態を表す情報を時刻に関連づけて、記憶部19に格納する。センサ部16は、取得したドローン101の状態を表す情報を制御部13に提供してもよい。
【0051】
センサ部16により取得する情報の一例として、ドローンの速度及び進行方向等がある。進行方向は、一例として、予め定めた座標系で表される。あるいは、進行方向は、例えば、真北方向を0度とし、東回りに359.99までの範囲で表した絶対方位で表してもよい。絶対方位を、予め定めた座標系における方向に変換してもよい。
【0052】
撮像部11とセンサ部16と位置検出部17は、一例として、制御部13の制御により、一定のサンプリング間隔及び同じ時刻で動作(撮像、センシング及び位置検出)する。但し、撮像部11とセンサ部16と位置検出部17の動作のサンプリング間隔及び動作時刻が異なってもよい。
【0053】
バッテリ18は、ドローン101内の各要素を動作させるための電力エネルギーを蓄える。バッテリ18は、放電のみが可能な一次電池でも、充放電可能な二次電池であってもよい。
【0054】
記憶部19は、センサ部16により取得された情報(速度、進行方向等)、位置検出部17により取得された位置の情報、撮像部11により取得された画像データ、制御部13により取得された干渉検出情報(干渉ドローンの位置及び時刻等)を格納する。制御部13がバッテリ18の残存エネルギー量の情報を取得し、取得した情報を記憶部19に格納してもよい。
【0055】
また、記憶部19は、ドローン101の属性及び性能に関する情報を記憶している。ドローン101の属性及び性能に関する情報の例として、以下のものがある。
・機体ID
・飛行目的(移動目的)
・飛行性能(移動性能)
・出発地及び目的地
・認識性能
【0056】
機体IDは、ドローンをユニークに識別するIDである。例えば、“ABC123”などである。機体IDは、使用プロトコルに応じた通信用のアドレスを含んでもよい。
【0057】
飛行目的の例として、撮影、救命(救助を含む)、物流、消火、監視などがある。撮影の例として、地上の路面を走行する車両の撮影、施設内を自律走行する搬送車の撮影、又は船舶の撮影などがある。救命の例として、被災地又は事故現場等への医療物資又は生活物資の搬送がある。消化の例として、火事現場への消化剤の投下がある。物流の例として、荷物の輸送等がある。監視の例として、不審者の検出、施設の異常検出等がある。
【0058】
飛行性能の例として、制動性能又は小回り性能等がある。制動性能の指標として、例えば制御部が停止命令(空中で停止する命令)を発行してから実際にドローンが停止するまでの距離(制動距離)がある。制動距離は、ドローンの速度又はブレーキの強さ(制動力)に依存する。小回り性能の指標として、例えば、最小回転半径がある。
【0059】
目的地又は出発地は、一例として予め定めた座標系において定められる。例えば、目的地は、(X,Y,Z)=(180m、210m、1.0m)である。目的地又は出発地は、GPSにより取得した緯度と経度による位置でもよい。監視目的などで同じ経路を循環的に飛行する場合、目的地が存在しない場合もある。
【0060】
認識性能は、画像データからドローンを検出する能力の性能である。認識性能の例として、ドローンに設置されているカメラの位置、個数、画角、及び解像度の少なくとも1つがある。認識性能は、ドローンが進行方向に認識している他ドローンの台数を含んでもよい。
【0061】
カメラの位置及び個数の例として、ドローンの前方に1つのみカメラを設置、又はドローンの周囲に複数(例えば8個)のカメラを設置することがある。ドローンの前方に1つのみカメラを設置した場合、ドローンの前方のみしか撮影できないため、前方にいるドローンしか検出できない。すなわち前方にいるドローンしか認識できない。ドローンの周囲に沿って複数のカメラを設置する場合、前方のみならず、後方、左方向、右方向など周囲全体を撮影できるため、広範囲にわたりドローンを検出できる。すなわち、広範囲にわたりドローンの認識が可能となる。
【0062】
また、画角が狭いほど、遠くまで撮影できる。すなわち、遠くにいるドローンを認識できる。但し、撮影範囲が狭くなるため、画角が広いカメラを用いた場合に比べて、広範囲にドローンを認識するためには、カメラの設置数を増やす必要がある。
【0063】
解像度が高いと、撮像画像に含まれるドローンをより高精度に識別できる。例えば、撮像画像にドローンが小さく写っていても、当該ドローンを検出し、干渉ドローンとして認識できる。
【0064】
情報取得部20は、通信部12を介して、他ドローンから、当該他ドローンに関する情報を取得する。情報取得部20が、他ドローンに関する情報を、基地局101から取得する構成もあり得る。
【0065】
情報取得部20から取得する他ドローンに関する情報は、一例として、ドローン101の記憶部19内の情報と同じ項目を含む。例えば、以下の項目を含む。
・機体ID
・飛行目的(移動目的)
・飛行性能(移動性能)
・出発地及び目的地
・認識性能
・位置
・速度
・進行方向
・バッテリの残存エネルギー量
・干渉検出情報(干渉ドローンの位置及び検出時刻等)
【0066】
[衝突回避制御]
以下、本実施形態に係る衝突回避制御について説明する。
制御部13は、自ドローンの進行方向において1台以上の干渉ドローンを画像データから検出した場合に、干渉ドローンと通信して、干渉ドローンに関する情報を取得する。取得する干渉ドローンに関する情報は、上述した項目の全部又は一部である。干渉ドローンに関する情報の一部又は全部を、基地局201から取得する構成もあり得る。また制御部13は、通信部12を介して、干渉ドローン又は基地局201にドローン101に関する情報を送信してもよい。
【0067】
干渉ドローンとの通信は、干渉ドローンの機体IDを画像データから特定できている場合は、機体IDに基づいて行う。例えば機体IDを含むパケットを用いて通信する。機体IDを特定できていない場合は、干渉ドローンの位置に対する指向性ビームを形成し、通信を行ってもよい。あるいは、ブロードキャストでパケットを送信し、干渉ドローンの方向又は位置から送信された応答パケットに基づき、干渉ドローンを識別してもよい。
【0068】
制御部13は、取得した干渉ドローンに関する情報に基づき、干渉ドローンとの衝突を阻止するために必要な行動を決定する。制御部13は、決定した行動に基づきドローン101の飛行を制御する。
【0069】
衝突を阻止するために必要な行動の例として、干渉ドローンとの衝突を避けながら(すなわち回避動作を行いながら)進むこと、回避動作を行わずに進むこと、待機動作を行うこと、経路を変更することある。待機動作は、経路上での一時停止、又は経路から外れた位置に待避する待避動作がある。
【0070】
このように衝突を阻止する行動を決定し、決定した行動を実行する動作を衝突回避制御と呼ぶ。待機動作を行った場合に、干渉が解消された後、すなわち、干渉ドローンが進行方向に存在しなくなった後、飛行を再開する。待機動作として一時停止をした場合は、一時停止した箇所から飛行を再開する。待機動作として待避動作を行った場合は、元の経路に戻って飛行を継続、又は、待避した位置から新たな経路を再生成し、再生成した経路に沿って飛行する。衝突回避制御の詳細は後述する。
【0071】
図3は、基地局201のブロック図である。基地局201は、アンテナ50、通信部51、制御部52、及び記憶部53を備えている。
【0072】
通信部51は、ドローン101(101A~101C)と無線通信を行うことにより、情報又はデータの送受信処理を行う。無線通信の方式は任意でよい。一例として、IEEE802.11規格、IEEE802.15.1規格、その他の規格によるでもよい。無線通信に使用する周波数帯域は、一例として、2.4GHz帯、5GHz帯、その他の周波数帯域である。
【0073】
通信部51は、制御部52からドローン101に飛行に関する指示データを取得し、指示データをドローン101に送信する。
【0074】
記憶部53には、ドローン101の属性及び性能に関する情報が格納されている。例えば、ドローン101の機体ID、スペック情報(機種、重量、サイズなど)、飛行目的(移動目的)、飛行性能(移動性能)、出発地及び目的地、認識性能に関する情報が格納されている。
【0075】
制御部52は、基地局201の動作を制御する。また、ドローン101に飛行に関する指示を行う。
【0076】
制御部52は、記憶部53におけるドローン101に関する情報に基づき、ドローン101の飛行に関する指示データを生成する。指示データは、一例として出発地及び目的地を含む。別の例として、指示データは、飛行の経路を含んでもよい。制御部52は、生成した指示データを、通信部51を介して、ドローン101に送信する。
【0077】
制御部52は、ドローン101から経路の再生成の要求を受信した場合は、経路の再生成を行う。制御部52は、再生成した経路を含む指示データを、ドローン101に送信する。
【0078】
制御部52は、ドローン101との情報又はデータの送受信を制御する。一例として、制御部52は、ドローン101から、ドローン101のセンサ部16、制御部13及び位置検出部17で取得された情報又はデータを取得し、取得した情報又はデ-タを記憶部53に格納する。
【0079】
制御部52は、ドローン101から他ドローンに関する情報の送信要求を受信した場合は、要求されたドローンの情報を記憶部53から読み出して、ドローン101に送信する。
【0080】
以下、ドローン101の制御部13が行う衝突回避制御について具体的に説明する。
【0081】
図4は、ドローンAとドローンBの飛行中の様子を平面的に示した模式図である。ドローンAが矢印で示す進行方向に飛行し、ドローンBが矢印で示す進行方向に飛行している。
【0082】
図5は、ドローンAの前方に設置されたカメラでされた画像データ31の例を示す。このカメラは進行方向の画像データを取得する。ドローンAでは画像データ31の中央左側にオブジェクトBを検出する。オブジェクトBの形状からオブジェクトBはドローンであると判定する。すなわち、ドローンAではオブジェクトBを干渉ドローンと決定する。
【0083】
ドローンBでもドローンAと同様にして、画像データの解析により、ドローンAを干渉ドローンとして検出してもよい。
【0084】
ドローン101の制御部13は、ドローン101と干渉ドローンのいずれが優先的に進むかを決定する。ここでは説明のため、ドローン101をドローンA、ドローンBを干渉ドローンとする。
【0085】
干渉ドローンが優先する場合、ドローン101が干渉ドローンと衝突を阻止するための動作として、例えば、待機動作(一時停止又は経路から外れた位置に待避)を行う。あるいは、経路を変更する。ドローン101は回避動作(干渉ドローンを回避しながら飛行)する。ドローン101と干渉ドローンのいずれが優先するかは、一例としてドローン101と干渉ドローン間の交渉により決定する。あるいは、いずれか一方のドローンがマスタとして、ドローン101と干渉ドローンのいずれが優先するかを決定する。あるいは、後述するようにドローン101と干渉ドローンのいずれが優先するかを、基地局201が決定する構成もある。
【0086】
一方、ドローン101が優先する場合は、ドローン101は回避動作を行わず進む。すなわち、現在の経路に沿ってそのまま飛行する。一方、干渉ドローンは、待機動作又は回避動作を行う。
【0087】
図6は、回避動作の例を側面から示す図である。この例ではドローンAとドローンBが互いに反対方向に飛行している(図6(A))。ドローンBがドローンAに優先するとする。ドローンBは経路に沿って直進する。ドローンAは前進しながら上昇し、ドローンBを回避する(図6(B))。ドローンAは、ドローンBを回避後、元の経路に戻る(図6(C))。ここではドローンAはドローンBを回避するために上昇したが、下降してもよいし、左方向又は右方向にドローンBを避けてもよい。ドローンAは、干渉を回避した後、元の経路に戻らずに、経路を再生成してもよい。その他の方法で、干渉ドローンBを回避してもよい。
【0088】
図7は待避動作の例を側面から示す図である。図6と同様、ドローンAとドローンBが互いに反対方向に飛行している。ドローンBがドローンAに優先するとする。ドローンBは経路に沿って直進する。ドローンAが一時停止し、さらに例えば10m上昇する(図7(A))。ドローンAは、ドローンBとの干渉が回避されるまで待機する。例えば、10m上昇した位置に待避する。ドローンAは、干渉ドローンBとの干渉が回避された後(ドローンAの進行方向に干渉ドローンがいなくなった後)、下降して、元の経路に戻る(図7(B))。ドローンAは、飛行を再開する(図7(C))。ドローンAは、上昇した位置で新たな経路を再生成し、再生した経路に経路を切り替えてもよい。ここではドローンAはドローンBを回避するために上昇したが、下降してもよいし、左方向又は右方向に移動してもよい。
【0089】
図8は一時停止の例を平面的に示す図である。ドローンAとドローンBがそれぞれ経路に沿って直進している(図8(A))。ドローンBがドローンAに優先するとする。ドローンAが一時停止し、ドローンBはそのまま直進する(図8(B))。ドローンAは、干渉ドローンBとの干渉が回避された後(ドローンAの進行方向に干渉ドローンがいなくなった後)、一時停止した位置から飛行を再開する(図8(C))。
【0090】
ドローン101と干渉ドローンのいずれが優先的するかを決定するために優先度を用いる方法がある。ドローン101の制御部13は、ドローン101及び干渉ドローンに関する情報に基づき、ドローン101の優先度と、干渉ドローンの優先度とを決定する。制御部13は、ドローン101及び干渉ドローンについて、優先度の高い順に優先することを決定する。例えばドローン101が優先度2であり、2台の干渉ドローン(干渉ドローンX,Yとする)がそれぞれ優先度1及び優先度3であれば、干渉ドローンX、ドローン101、干渉ドローンYの順に優先する。この場合、一例として、最も優先する干渉ドローンXが経路に沿ってそのまま進む。ドローン101及びドローンYは、待機動作を行う。干渉ドローンXとの干渉が回避されたら、次に優先順位の高いドローン101が飛行を再開する。最も優先順位の低いドローンYは、干渉ドローンXとの干渉が回避されたら、飛行を再開する。ここでは衝突を阻止する行動としてドローン101及びドローンYは待機動作を行ったが、ドローン101及びドローンYの少なくともいずれか一方が回避動作を行ってもよい。あるいは、ドローン101及びドローンYの少なくともいずれか一方が経路変更を行ってもよい。本説明では、値が小さいほど優先度が高いとしたが、値が大きいほど優先度が高いとしてもよい。以下、優先度を決定する例を、第1~第5の例として説明する。
【0091】
[優先度決定の第1の例]
ドローン101の認識性能と干渉ドローンの認識性能に基づいて優先度を決定する。例えば干渉ドローンの認識性能がドローン101よりも低い場合は、干渉ドローンの優先度を、ドローン101よりも高くする。干渉ドローンの認識性能が低い例として、カメラの設置数がドローン101より少ないことがある。ドローン101には前方以外にもカメラが設置されているが、干渉ドローンではカメラがドローンの前方以外に設置されていない場合、干渉ドローンの認識性能は、ドローン101より低いといえる。また、それぞれ進行方向に認識しているドローンの台数に応じて、ドローン101及び干渉ドローンの認識性能を比較してもよい。認識しているドローンの台数が多い方が、認識性能が高い。他の方法で認識性能をドローン101及び干渉ドローン間で比較してもよい。認識性能が低い場合に回避動作又は待避動作を行うと、認識できていないドローン(未検出のドローン)との衝突の可能性があるため、認識性能が低いドローンの優先度を高くして、優先的に進行させるようにできる。認識性能は、高低の2クラス、又は高中低の3クラスなどのクラスに分類してもよい。例えば、カメラの設置数が閾値未満の場合は低クラス、閾値以上の場合は高クラスとする。また、進行方向に認識しているドローンの台数に応じてクラス分類を行ってもよい。認識性能が同じ場合又は同じクラスの場合は、ドローン101と干渉ドローンとで交渉して優先度を決定してもよい。この際、優先度をランダムに決定してもよい。
【0092】
[優先度決定の第2の例]
ドローン101の飛行目的と、干渉ドローンの飛行目的とに基づいて、優先度を決定する。例えば3台のドローンの飛行目的がそれぞれ救命目的、撮影目的、物流目的の場合に、この順に優先度を高くしてもよい。別の例として、緊急目的のドローンの優先度を最も高くしてもよい。緊急目的の例として、救命目的又は消火目的などがある。飛行目的が同じ場合又は同じカテゴリの場合は、ドローン101と干渉ドローンとで交渉して優先度を決定してもよい。
【0093】
[優先度決定の第3の例]
ドローン101が干渉ドローンにより認識されているか(画像データの解析で検出されているか)否かに基づいて、優先度を決定する。ドローン101が干渉ドローンにより認識されているか否かは、一例として、干渉ドローンの干渉検出情報に基づいて判断できる。例えば、干渉ドローンの干渉検出情報に含まれる他ドローンの位置が、ドローン101の位置に一致もしくは一定のマージンに収まっていれば、干渉ドローンはドローン101を認識しているとドローン101は判断できる。別の方法として、干渉ドローンが検出したドローンの機体IDとしてドローン101の機体IDが干渉検出情報に含まれる場合は、干渉ドローンはドローン101を認識しているとドローン101は判断できる。
【0094】
図9は、優先度決定の第3の例を具体的に説明するための図である。3台のドローンA、B、Cが飛行しているとする。図には、ドローンA~C(自ドローン)の位置と、ドローンA~Cがそれぞれ進行方向に発見した他ドローン(干渉ドローン)の位置とが示されている。図9の情報は、一例として同じ時刻(例えば最新時刻)におけるドローンA~Cの位置及び干渉検出情報に基づいている。
【0095】
ドローンAは、自ドローンの位置を(x、y、z)=(1m、2m、3m)として検出しており、2台の他ドローンの自ドローンからの相対位置を、(x、y、z)=(2m、5m、-2m)、(5m、-1m、4m)として検出している。つまり、ドローンAは他ドローンを2台認識している。なお、この時点で2台のドローンの機体IDは分からなくてよい。
【0096】
ドローンBも同様に自ドローンの位置と、2台の他ドローンの自ドローンからの相対位置を検出している。ドローンCも、自ドローンの位置と、1台の他ドローンの自ドローンからの相対位置を検出している。ドローンCはドローンA、Bのうちの一方のみ認識しており、他方を認識していない(見落としている)。
【0097】
ドローンAが検出した他ドローンの相対位置(2m、5m、-2m)は、ドローンBが検出した他ドローンの相対位置(-2m、-5m、2m)と対応している。したがって、ドローンAが検出した相対位置(2m、5m、-2m)のドローンをドローンBと決定できる。ドローンBの機体IDは、ドローンBと通信することで特定してもよいし、基地局201にドローンBの位置に存在するドローンの機体IDを問い合わせることで特定してもよい。同様にして、ドローンAが検出した相対位置(5m、-1m、4m)のドローンをドローンCと決定できる。
【0098】
ドローンBの場合も同様に、ドローンBが検出した相対位置(-2m、-5m、2m)のドローンはドローンAと決定できる。一方、ドローンBが検出した相対位置(3m、-6m、6m)に存在するドローン(ドローンC)は、ドローンBの位置に他ドローンを検出していていない。したがって、相対位置(3m、-6m、6m)に存在するドローン(ドローンC)によってドローンBが認識されていないと判断できる。
【0099】
同様に、ドローンCが検出した相対位置(-5m、1m、-4m)のドローンはドローンAと決定できる。但し、ドローンCは、ドローンBの位置にドローンを認識していない。
【0100】
ドローンA~Cは、互いに通信し、優先度を決定する。ドローンCはドローンBを認識できなくとも(ドローンCのカメラにドローンBが写っていなくても)、ドローンBからのトリガーとなる通信により、ドローンBと通信することが可能な場合もあり得る。但し、ドローンCがドローンBと通信できるとしてもドローンCがドローンBをカメラで認識できないため、ドローンCはドローンBを認識していないとして扱う。ドローンCはドローンBを認識しておらず、最も認識性能が低いとして、最も高い優先度1に決定する。つまり、ドローンCに待避動作又は回避動作等を行わせると、ドローンCがドローンBを認識できず(画角が狭くカメラに写らないなど)、ドローンBと衝突する可能性があるためである。ドローンAとドローンBは互いに認識できているため、前述した優先度決定の第1又は第2の例、もしくは、後述する第4又は第5の例を用いて優先度を決定してもよい。あるいは、ランダムに優先度を決定してもよい。
【0101】
[優先度決定の第4の例]
ドローン101の飛行性能と、干渉ドローンの飛行性能とに基づいて、優先度を決定する。
【0102】
例えばドローン101の飛行可能な最高高度と、干渉ドローンとの飛行可能な最高高度とに基づいて、優先度を決定する。一例として、最高高度が低いドローンの方の優先度を高くする。最高高度が高い方のドローンは、より高度の位置に上昇することで、他ドローンを回避可能でき、より回避にための行動の選択肢が多くなるためである。飛行性能が同じ場合又は同等の場合は、ドローン101と干渉ドローンとで交渉して優先度を決定してもよい。あるいは、ランダムに優先度を決定してもよい。
【0103】
この際、ドローン101及び干渉ドローンの上空に待避可能な空間があるかに基づいて、優先度を決定してもよい。前提として、ドローン101及び干渉ドローンとも現在位置よりさらに上昇する性能を有しているとする。ドローン101及び干渉ドローンの上空にさらに別のドローンあるいはその他の障害物が存在する場合は、ドローン101及び干渉ドローンの上空に待避可能な空間はないと判断する。待避可能な空間のあるドローンの優先度を、待避空間のないドローンの優先度より低くする。
【0104】
他の例として、ドローン101の制動性能と、干渉ドローンとの制動性能とに基づいて優先度を決定する。制動性能が低いドローンの方は、停止命令が発行されてから停止までに長い時間を要するためである。この場合、制動性能が低いドローンには高い優先度を決定し、制動能力の高いドローンには低い優先度を決定する。優先度の高いドローンは速度を変えずに進行し、優先度の低いドローンは一時待機して、前方でドローンが通過するのを待機することで、衝突を阻止することができる。
【0105】
他の例として、ドローン101の小回り性能と、干渉ドローンとの小回り性能とに基づいて、優先度を決定する。小回り性能が高いほど、最小回転半径が小さいため、方向転換により待避動作又は回避動作を行う場合、方向転換の際の無駄な移動が少なく、他ドローンとの衝突の可能性を低減できる。
【0106】
優先度を決定するために用いる飛行性能は、上述の例に限定されず、他の性能を用いてもよい。
【0107】
[優先度決定の第5の例]
ドローン101の速度と、干渉ドローンの速度とに基づいて、優先度を決定する。例えばドローン101の速度が干渉ドローンよりも速い場合は、ドローン101の優先度を干渉ドローンよりも高くする。通常、速度が高いドローンの方が停止するまでに長い時間を要するためである。但し、両ドローンの制動性能に基づき、停止命令の発行から停止までに要する時間を計算し、時間が長いドローンの優先度を、時間が短いドローンより高くしてもよい。
【0108】
優先度決定の第1~第5の例は一例に過ぎず、第1~5の例を2つ以上組み合わせてもよい。また、ドローン101及び干渉ドローンに関する情報を用いる限り、他の方法で優先度を決定してもよい。
【0109】
図10は、ドローン101の制御部13において行う衝突回避制御の一例のフローチャートである。
【0110】
撮像部11が取得した画像データに基づき、ドローン101の進行方向に他ドローン(干渉ドローン)を発見したかを判断する(S101)。他ドローンを発見しない場合は(NO)、ステップS105に進む。
【0111】
1台以上の他ドローンを発見した場合は、通信部12を介して他ドローンと通信し、ドローン101(自ドローン)に関する情報を他ドローンに送信する(S102)。他ドローンと通信する方法は、上述した通りである。また、制御部13は、通信部12を介して、他ドローンから他ドローンに関する情報を受信する(同S102)。
【0112】
自ドローンと他ドローン間で、優先度を決定する(S103)。一例として、自ドローン及び他ドローン間で交渉しながら、全ドローン(自ドローン及び他ドローン)の優先度を決定する。他の方法として、各ドローンでそれぞれ全ドローン(自ドローン及び他ドローン)の優先度を決定してもよい。自ドローン及び他ドローンとも同じ情報を有しており、同じアルゴリズムで優先度を決定するのであれば、各ドローンで決定する全ドローンの優先度は同じになる。
【0113】
さらに、他の方法として、自ドローン及び他ドローンのうち1台がマスタとして全ドローンの優先度を決定してもよい。マスタは、決定した優先度の情報を、他ドローンに送信する。マスタとなるドローンは、一例として、最も多くの他ドローンを認識しているドローン、又は最も演算性能が高い演算装置を搭載しているドローンである。ドローン101(自ドローン)がマスタになった場合は、自ドローンが全てのドローンの優先度を決定する。この場合、ドローン101は、通信できない他ドローンが存在する場合、基地局201又は別のドローンを介して、優先度の情報を他ドローンに送信してもよい。
【0114】
なお、他ドローンのうちの1台が自ドローン及び別の他ドローンにより認識されているが、当該1台の他ドローンは自ドローン及び別の他ドローンを認識しておらず、通信もできない状況があるとする。この場合、自ドローン及び別の他ドローン間で、当該1台の他ドローンに対して最も高い優先度を決定する。当該1台の他ドローンに、優先度の情報を送信しない。当該1台の他ドローンは、最も優先度の高いドローンとして、例えば、そのまま進行方向に沿って進む。
【0115】
ドローン101は、ステップS103で決定された優先度に従って飛行する(S104)。より詳細には、各ドローンの優先度に基づき衝突を阻止する行動(例えばそのまま直進、回避動作、又は待機動作)を決定し、決定した行動を実行する。本ステップS104の詳細は後述する。
【0116】
続くステップS105では、本動作を終了するかを判断する。例えばドローン101が着陸した場合、本動作を終了することを決定する。本動作を終了することを決定した場合(YES)、動作を終了する。それ以外の場合は、ステップS101に戻る。動作を終了した後で、再び飛行を開始した場合は、図10のフローチャートの処理を再開する。
【0117】
図11は、ドローン101の制御部13において図10のステップS103で行う優先度の決定処理の一例のフローチャートである。
【0118】
ドローン101が発見した1台以上のドローンの中に、他ドローンを認識できていないドローン(ドローンXとする)が存在する場合は、ドローンXの優先度を最も高くする(S201)。例えば優先度1にする。ドローンXが他ドローンを認識できていないが、他ドローンと通信できる場合は、ドローンXを含めたドローン間の交渉で、ドローンXの優先度を最も高くしてもよい。ドローンXが他ドローンと通信できない場合は、ドローンX以外のドローン間の交渉で、ドローンXの優先度を最も高い優先度に決定する。ドローンX以外のドローンがドローン101のみの場合は、ドローン101がドローンXの優先度を最も高い優先度に決定すればよい。ドローンXが他ドローンと通信できない場合、ドローンXには何ら情報を送信しない。ドローンXは進行方向に沿ってそのまま進むことになる。
【0119】
次に、ドローン101の飛行目的及び他ドローンの飛行目的を比較し、緊急目的のドローンが存在するかを判断する(S202)。緊急目的は、例えば救命目的又は消火目的などである。緊急目的のドローンが存在する場合は、そのドローンの優先度を、ステップS201で特定したドローンの次に高くする(同S202)。ステップS201でドローンが特定されない場合は、ステップ202で特定したドローンの優先度が最も高くなる。緊急目的のドローンが複数存在する場合は、ドローン間の交渉により優先度を決定する。または、救命目的又は消火目的など、より細かい分類で優先度を決定してもよい。なお、本実施形態では、各ドローンに異なる優先度を設定するが、同じ優先度が複数のドローンに設定されることも排除されない。
【0120】
次に、ドローン101の飛行性能及び他ドローンの飛行性能に基づき、各々待避可能な空域(例えば自ドローンの位置から3m上方に障害物の存在しない空域)が存在し、かつ当該空域に移動可能なドローンが存在するかを判断する(S203)。当該ドローンが存在する場合、当該ドローンに、ステップS201及びS202で特定されたドローンの優先度の次に高い優先度を決定する(同S203)。
【0121】
図11のフローチャートでは、他ドローンに対する認識の有無、飛行目的、及び飛行性能に基づき優先度を決定する例を示した。この例は一例に過ぎず、前述した優先度決定の第1~第5の例で示したように、他の情報を追加で又は代わりに用いて、優先度を決定することも可能である。
【0122】
図10のステップS104の詳細について説明する。ステップS104では、ステップS103で決定された優先度に従って、各ドローンの行動を決定し、決定した行動を実行する(衝突回避制御)。
【0123】
(衝突回避制御の第1の例)
各ドローンの進行方向に2台以上のドローンがすれ違いできる空間が存在しない場合を想定する。この場合、1台ずつドローンを飛行させる。まず、優先度が最も高いドローンが、進行方向に沿ってそのまま飛行する。2番目以降の優先度のドローンは、1つ上位の優先度のドローンが進行方向に存在しなくなるまで、待機動作を継続する。待機動作として、一時待機(図8参照)及び待避動作(図7参照)のいずれを行うかは、上位の優先度のドローンの進行方向に基づき、自ドローンに衝突するかを判断して決定してもよい。例えば、衝突しない場合は、一時待機し、衝突する可能性がある場合は、上空等の空域へ待避する。
【0124】
2番目以降の優先度のドローンは、1つ上位の優先度のドローンが進行方向に存在しなくなったら、進行方向に沿って飛行を再開する。具体的には、ドローンが一時待機していた場合は、その位置から進行方向に沿って飛行を開始する(図8参照)。待避動作を行っていた場合は、ドローンは元の経路に戻って、飛行を開始する(図7参照)。あるいは、新たな経路を生成して、飛行を再開してもよい。
【0125】
1つ上位の優先度のドローンが進行方向に存在しなくなったか否かの判断は、一例として、撮像部11で取得される画像データに基づき行う。または、1つ上位の優先度のドローンから干渉を回避したこと(すなわち進行方向に他のドローンが存在しなくなったこと)を通知する情報を受信することで、当該判断を行ってもよい。当該通知を基地局201から受信してもよい。
【0126】
以上により、各ドローンが互いに衝突することなく、飛行を行うことができる。
【0127】
図12は、ドローン101の制御部13において行う衝突回避制御の第1の例のフローチャートである。ドローン101の優先度より高い優先度のドローンが存在するかを判断する(S301)。存在しない場合は(NO)、ドローン101は進行方向に沿って進む(S302)。
【0128】
存在する場合(YES)、ドローン101は待機動作を行う(S303)。例えば、ドローン101が経路にいると、ドローン101より高い優先度のドローンが、ドローン101に衝突する可能性がある場合は、上空等の空域へ待避する。そのような可能性がない場合は、現在の経路で一時停止する。ドローン101が飛行性能により上空等の空域へ待避できない場合も、現在の経路で一時停止する。この場合、優先度の高いドローンが自ドローン101に衝突する可能性がある場合は、当該ドローンが自ドローン101を回避することが期待される(図6参照)。
【0129】
ドローン101より高い優先度のドローンが進行方向に存在しなくなるまで待機する(S303)。当該ドローンが存在しなくなった場合は(S301のNO)、ドローン101は進行方向に沿って飛行を再開する(S302)。ドローン101は、飛行を再開したら、干渉を回避したこと等を通知する情報を、1つ下位の優先度のドローンに送信してもよい。
【0130】
(衝突回避制御の第2の例)
各ドローンの進行方向に複数台のドローンがすれ違いできる空間が存在する場合を想定する。ここでは3台のドローンがすれ違いできる空間が存在するとする。この場合、3台までのドローンであれば、同時に方向に沿って飛行させても、自律的に衝突を回避しながら飛行できる。何台のドローンがすれ違いできるか否かは、予め地図データに関連づけて設定されていてもよいし、基地局201が各ドローンにすれ違いできる台数の情報を送信してもよい。
【0131】
図13は、衝突回避制御の第2の例を説明するための図である。7台のドローンA~Gが存在する。ドローンA~Gの進行方向では3台のドローンであれば、交差可能な空間41が存在する。
【0132】
まず、優先度が高い順に、上位3台のドローン(例えばドローンA~C)が1つのグループとされる。グループ内の3台のドローンA~Cは、進行方向に沿って並行して進む。この際、ドローンA~Cのうち最も優先度の高いドローン(例えばドローンA)は他のドローン(ドローンB,C)に対する回避動作を行うことなく進行し、ドローンB、Cは、当該最も優先度の高いドローンAと、互いの一方のドローン(C又はB)に対する回避動作を行いながら飛行する。
【0133】
次に、4番目以降の優先度の高い順に、上位3台のドローン(例えばドローンD~F)が1つのグループとされる。2番目のグループのドローンD~Fは、1番目のグループに属するドローンA~Cが進行方向に存在しなくなるまで、待機動作(一時待機又は待避動作)を継続する。1番目のグループのドローンA~Cが進行方向に存在しなくなったら、2番目のグループのドローンD~Fが、それぞれの進行方向に沿って飛行を再開(進行)する。この際、3台のうち最も優先度の高いドローン(例えばドローンD)は、他のドローン(ドローンE、F)に対する回避動作を行うことなく進行し、ドローンE、Fは、当該最も優先度の高いドローンDと、互いの一方のドローン(F又はE)に対する回避動作を行いながら飛行する。
【0134】
以降同様にして、3台ずつドローンを1つのグループとして同時に飛行させる。図13の例では、最後のドローンの台数は1台(ドローンG)であるため、ドローンGは進行方向に沿ってそのまま進む。本例では、3台ずつドローンを1グループとしたが、ドローンの飛行性能及び干渉認識性能等に応じて、グループに含めるドローンの台数を3台未満にしてもよい。
【0135】
図13の例ではグループに含まれる複数のドローンを同時に飛行させた。小回り性能が低いドローン又は認識性能が低いドローンなどがグループ内で2番目以降のドローンとして存在する場合、ドローンに、他ドローンが干渉を回避するまで、待機動作を行わせてもよい。
【0136】
以上により、各ドローンが互いに衝突することなく、飛行を行うことができる。
【0137】
図14は、ドローン101の制御部13において行う衝突回避制御の第2の例のフローチャートである。図12と同じ説明は適宜省略する。
【0138】
ドローン101が属するグループより上位のグループ内のドローンが進行方向に存在するかを判断する(S401)。存在する場合(YES)、ドローン101は待機動作を行う(S402)。存在しない場合は(NO)、グループ内におけるドローン101の優先度の順位を判断する(S403)。自ドローンの優先度が最も高い場合は(YES)、回避動作を行うことなく進行方向に沿って進む(S404)。それ以外の場合は、回避動作を行いながら、進行方向に沿って進む(S405)。回避動作の対象は、同じグループ内の他のドローン、及び待機中の他のグループ内のドローンである。
【0139】
(衝突回避制御の第3の例)
各ドローンの認識性能に基づいて、各ドローンの優先度を調整する。調整後の優先度に基づき、各ドローンの行動を決定する。優先度の調整及び各ドローンの行動は、ドローン間で交渉により決定してもよいし、1台のドローンがマスタとして決定してもよい。
【0140】
上述の第2の例と同様、ドローンA~Gが存在し、ドローンの進行方向に3台のドローンがすれ違いできる空間が存在する場合を想定する(図13参照)。
【0141】
より詳細には、各ドローンの認識性能に基づいて、各ドローンを認識性能の高いドローン(高認識性能ドローン)、認識性能の低いドローン(低認識性能ドローン)に分類する。高認識性能ドローンは、他のドローンを回避しながら他のドローンを認識できる能力のあるドローンであるとする。低認識性能ドローンは、他のドローンを回避しながら他のドローンを認識する能力がない又は低いドローン(つまり他のドローンを回避する動作の間、当該他のドローンを見失う可能性があるドローン)であるとする。
【0142】
一例として、カメラの設置台数及び設置箇所に応じて、高認識性能ドローンか低認識性能ドローンかを分類してもよい。一例として、カメラが前方に1つのみのドローンは回避動作の間に回避対象のドローンを見失う可能性がある。このようなドローンは低認識性能ドローンに該当する。一方、カメラが周囲及び上下等に設置されているドローンは、回避動作の間も回避対象のドローンを認識できる。このようなドローンは高認識性能ドローンに該当する。
【0143】
カメラの設置台数及び設置箇所以外にも、画角又は解像度などに基づいて高認識性能ドローンか低認識性能ドローンかを決定してもよい。認識性能の他、干渉検出情報又は飛行性能などを用いて、高認識性能ドローンか低認識性能ドローンかを判断してもよい。例えば小回り性能が低いドローンは回避が間に合わずに衝突する可能性が高くなるため、低認識性能ドローンに分類してもよい。また、あるドローンを含めて7台のドローンが存在する中、あるドローンが認識している干渉ドローンの台数が6台未満の場合に、当該あるドローンを低認識性能ドローンとしてもよい。
【0144】
ここでは高認識性能と低認識性能の2つのクラスにドローンを分類したが、高認識性能と低認識性能と中認識性能の3つのクラスに分類してもよい。あるいは4つ以上のクラスに分類してもよい。
【0145】
低認識性能ドローンには、行動の選択肢として、他のドローンに対する回避動作を行わせずに進行方向に沿ってそのまま飛行させるか、待機動作を行わせることがあるとする。高認識性能ドローンには、行動の選択肢として、他のドローンに対する回避動作を行わせながら飛行させるか、他のドローンに対する回避動作を行わせずに進行方向に沿ってそのまま飛行させるか、待機動作を行わせることがあるとする。このような前提に基づき、各ドローン間の交渉により優先度を調整する。
【0146】
図15図16及び図17は、衝突回避制御の第3の例の具体例を説明するための図である。本例では、7台のドローン(A、B、C、D、E、F、G)が存在する。7台のドローンの進行方向には、3台のドローンがすれ違いできる空間が存在する。
【0147】
図15は、7台のドローンの調整前の優先度と、認識性能(高又は低)とが示される。
【0148】
前提として、優先度の高い順に、3台のドローンずつ1グループとしてまとめる。優先度の高い順にグループを選択し、グループ内の3台のうち最も優先度の高いドローンは、回避動作を行わせず、進行方向にそのまま進行させ、残りの2台は回避動作を行わせるとする。選択されたグループに属さないドローンは、待機動作を行わせるとする。
【0149】
この前提の下、現状の優先度(調整前の優先度)の元では、最初のグループはドローンA、B、Cとなる。最初のグループをグループ1と呼ぶ。ドローンAはグループ1内で最も優先度が高いため、回避動作を行わせず、進行方向にそのまま進行させる必要がある。2番目、3番目の優先度のドローンB、Cには回避動作を行わせる必要があるが、ドローンCは、低認識性能であるため、ドローンCに回避動作を行わせることはできない。このため、ドローンCの優先度を、いずれかのグループ内で最も高い優先度になるように、換言すれば、回避動作を行わせず進行方向にそのまま進行させることができるように、優先度を調整する必要がある。
【0150】
同様に、2番目のグループ(グループ2と呼ぶ)はドローンD、E、Fである。ドローンDはグループ2内で最も優先度が高いため、回避動作を行わせず、進行方向にそのまま進行させる必要がある。2番目、3番目の優先度のドローンE、Fには回避動作を行わせる必要があるが、ドローンEは、低認識性能であるため、ドローンEに回避動作を行わせることはできない。このため、ドローンEの優先度を、いずれかのグループ内で最も高い優先度になるように、換言すれば、回避動作を行わせず進行方向にそのまま進行させることができるように、優先度を調整する必要がある。
【0151】
最後に、3番目のグループ(グループ3)としてドローンGが残る。ドローンGは最も優先度が高いため、回避動作を行わせず、進行方向にそのまま進行させることができる。
【0152】
図16は、優先度の調整が必要なドローンCとドローンEとの優先度が、それぞれいずれかのグループ内で最大になるように、優先度の調整を行う操作の手順の例を示す。操作O1は、ドローンCの優先度3と、ドローンDの優先度4を入れ替える。また、操作O2は、ドローンEの優先度をグループ3内の最大の優先度7にする。操作O3はドローンFの優先度6を5へ繰り上げる。操作O4は、ドローンGの優先度7を優先度6に繰り上げる。
【0153】
図17は、優先度の調整を行った結果を示す。低認識性能のドローンCがグループ2内の最大の優先度になっている。低認識性能のドローンEの優先度がグループ3内で最大の優先度になっている。
【0154】
図18は、図17に示した調整後の優先度で各ドローンを行動させる例を示す。まず優先度の高い順にドローンA、B、Dを含むグループ1が対象となる。グループ1内で最も優先度の高いドローンAは回避行動を行わずに進行し、ドローンB、Dは回避行動を行いながら進む。ドローンA、B、Dの進行の間、ドローンC、F、G、Eは待機動作する。ドローンA、B、Dの進行が完了すると、次に優先度の高い順にドローンC、F、Gを含むグループ2が対象となる。グループ2内で最も優先度の高いドローンCは回避行動を行わずに進行し、ドローンF、Gは回避行動を行いながら進む。グループC、F、Gの進行の間、ドローンEは待機動作する。グループC、F、Gの進行が完了すると、次の優先度の高い順にドローンEを含むグループ3が対象となる。グループ3内で最も優先度の高いドローンEは回避行動を行わずに進む。
【0155】
図19は、ドローン101の制御部13において行う衝突回避制御の第3の例のフローチャートである。図12及び図14と同じ説明は適宜省略する。
【0156】
図14と異なる点は、優先度を調整する処理のステップS501が最初に追加されている点である。それ以外のステップは図14と同じである。
【0157】
ステップS501では、低認識性能のドローンがグループ内で最も高い優先度になるように各ドローンの優先度の調整を行う。優先度の調整はドローン間で交渉しながら行う。または、1台のドローンがマスタとなり、各ドローンの優先度の調整を行ってもよい。
【0158】
以上、本実施形態によれば、ドローンで撮影した画像データに基づき自ドローンの進路に進入した他ドローンを検出する。認識性能、飛行性能及び飛行目的等の少なくとも1つに応じて、自ドローン及び検出したドローンの優先度を決定し、優先度に応じて、衝突を阻止する行動を決定し、決定した行動を実行する。行動の例は、回避動作を行うことなく経路に沿って進行、回避動作を行いつつ経路に沿って進行、待機動作(一時停止若しくは上空等に待避)など、複数の種類を含む。したがって、自ドローン及び他ドローンの認識性能、飛行性能及び飛行目的等を考慮して、衝突を阻止するための適切な行動を決定できる。また、他ドローンが自ドローンを認識せずかつ自ドローンと通信できない場合でも、他ドローンの優先度を高い優先度に決定し、他ドローンを優先的に飛行させることで、衝突を阻止できる。
【0159】
(ハードウェア構成)
図20に、図2のドローン101又は図3の基地局201のハードウェア構成の一例を示す。図2のドローン101の情報処理装置1又は図3の基地局201は、コンピュータ装置200により構成される。コンピュータ装置200は、CPU201と、入力インタフェース202と、表示装置203と、通信装置204と、主記憶装置205と、外部記憶装置206とを備え、これらはバス207により相互に接続されている。これらの要素のうちの少なくとも1つを、の情報処理装置1又は基地局201が備えていなくてもよい。
【0160】
CPU(中央演算装置)201は、主記憶装置205上で、コンピュータプログラムを実行する。コンピュータプログラムは、情報処理装置1又は基地局201の上述の各機能構成を実現するプログラムのことである。コンピュータプログラムは、1つのプログラムではなく、複数のプログラムやスクリプトの組み合わせにより実現されていてもよい。CPU201が、コンピュータプログラムを実行することにより、各機能構成は実現される。
【0161】
入力インタフェース202は、キーボード、マウス、およびタッチパネルなどの入力装置からの操作信号を、情報処理装置1又は基地局201に入力するための回路である。
【0162】
表示装置203は、情報処理装置1又は基地局201に記憶されているデータ又は情報処理装置1又は基地局201で算出されたデータを表示する。表示装置203は、例えば、LCD(液晶ディスプレイ)、有機エレクトロルミネッセンスディスプレイ、CRT(ブラウン管)、またはPDP(プラズマディスプレイ)であるが、これに限られない。
【0163】
通信装置204は、情報処理装置1又は基地局201が外部装置と無線または有線で通信するための回路である。情報処理装置1又は基地局201で用いるデータを、通信装置204を介して外部装置から入力することができる。通信装置204はアンテナを含む。外部装置から入力したデータを、主記憶装置205や外部記憶装置206に格納することができる。
【0164】
主記憶装置205は、コンピュータプログラム、コンピュータプログラムの実行に必要なデータ、およびコンピュータプログラムの実行により生成されたデータなどを記憶する。コンピュータプログラムは、主記憶装置205上で展開され、実行される。主記憶装置205は、例えば、RAM、DRAM、SRAMであるが、これに限られない。図2又は図3の記憶部は、主記憶装置205上に構築されてもよい。
【0165】
外部記憶装置206は、コンピュータプログラム、コンピュータプログラムの実行に必要なデータ、およびコンピュータプログラムの実行により生成されたデータなどを記憶する。これらのコンピュータプログラムやデータは、コンピュータプログラムの実行の際に、主記憶装置205に読み出される。外部記憶装置206は、例えば、ハードディスク、光ディスク、フラッシュメモリ、及び磁気テープであるが、これに限られない。図2又は図3の記憶部は、外部記憶装置206上に構築されてもよい。
【0166】
なお、コンピュータプログラムは、コンピュータ装置200に予めインストールされていてもよいし、CD-ROMなどの記憶媒体に記憶されていてもよい。また、コンピュータプログラムは、インターネット上にアップロードされていてもよい。
【0167】
また、コンピュータ装置200は単一の装置により構成されてもよいし、相互に接続された複数のコンピュータ装置からなるシステムとして構成されてもよい。
【0168】
(第2の実施形態)
第1の実施形態における衝突回避制御の第3の例では、認識性能を用いて優先度の調整(図19のステップS501)を行ったが、認識性能に加えて、あるいは、認識性能の代わりに、他の情報を用いて優先度の調整を行ってもよい。例えば、飛行目的を用いて、優先度の調整を行ってもよい。
【0169】
例えば、ドローン間で飛行目的を阻害し合う場合に、優先度を調整してもよい。具体例として、ドローンAの飛行目的が地表を撮影することであり、ドローンBの飛行目的が道路を走行する車両を撮影することであるとする。この場合、ドローンAがドローンBを回避しながら飛行し、この結果、ドローンBがドローンAの下側にきたり、ドローンAの機体が傾いたりすると、ドローンAによる撮影に支障をきたすことになる。ドローンBがドローンAを回避する場合も同様の問題が生じる。このような場合、ドローンA及びドローンBがそれぞれ回避動作を行わないで進行できるように優先度を調整する。例えば、ドローンA及びドローンBをそれぞれ別々のグループとし、グループ内で最も高い優先度となるようにする。
【0170】
別の具体例として、ドローンAの飛行目的が地表を撮影することであり、ドローンBの飛行目的が荷物の輸送であるとする。この場合、ドローンAをグループ内で最も高い優先度となるようにし、ドローンBはドローンAと同じグループにする場合は、ドローンAよりも低い優先度にする。これにより、ドローンAは回避動作を行わずに進むため撮影に支障は生じない。ドローンBは荷物の搬送であるため、回避動作を行っても支障は生じない。
【0171】
第2の実施形態によれば、認識性能以外の情報を用いて、優先度の調整を行うことができる。
【0172】
(第3の実施形態)
ドローンが、画像データに基づき検出した他ドローン(干渉ドローン)と通信して、他ドローンに関する情報を取得する際、取得に時間を要すると、衝突阻止のための行動が間に合わずに、他ドローンに衝突する可能性がある。そこで、検出した他ドローンと衝突するまでの時間を計算し、計算した時間に応じて、他ドローンから取得する情報の種類を限定してもよい。
【0173】
例えば、ドローン101の制御部13は、自ドローンの速度と、干渉ドローンの速度と、自ドローンから干渉ドローンまでの距離と、自ドローンの制動性能とに基づき、干渉ドローンと衝突するまでの時間を計算する。
【0174】
具体例として、自ドローンの速度が20m/s、干渉ドローンの位置が自ドローンの進行方向の20m先である。自ドローンの制動性能が20m/sを1秒で止められる性能である。干渉ドローンは撮影のために一時停止している。この場合、衝突するまでの時間では1秒である。干渉ドローンが自ドローンの方向に飛行している場合は、この時間はさらに短くなる。
【0175】
干渉ドローンから取得する情報の種類に予め優先順位を設定しておく。例えば、[1]位置、速度、認識性能、[2]飛行目的、[3]飛行性能、[4]その他、の順番の優先順位とする。時間に応じて取得する情報の種類を限定する。
【0176】
一例として、時間がα以下の場合は[1]、α以上β未満の場合は[1]~[2]、β以上γ未満の場合は、[1]~[3]、γ以上の場合は[1]~[4]の情報を取得する。説明した例は例示に過ぎず、他の例でもかまわない。取得する情報の種類が多ければ、より適正な優先度決定が可能になる。なお、上述の優先順位は一例であり、他の例でもよい。
【0177】
干渉ドローンが2台以上の場合には、全ての干渉ドローンのそれぞれと衝突するまでの時間を計算し、最も短い時間に基づいて、各干渉ドローンとの通信に許容される時間を計算する。計算した時間に応じた種類の情報のみを各干渉ドローンから取得するようにする。
【0178】
第3の実施形態によれば、干渉ドローンと衝突するまでに時間に応じて取得する情報を限定したことにより、干渉ドローンとの衝突までに、衝突を阻止するまでの行動を決定できる。
【0179】
(第4の実施形態)
上述した第1~3の実施形態では、主に各ドローン間の交渉で優先度を決定したが、第4の実施形態では、基地局201が優先度を決定する。
【0180】
基地局201の制御部52(図3参照)は、通信部51を介して、干渉ドローンを検出したドローン(ドローンAとする)から、干渉ドローン検出の通知を受信する。制御部52は、ドローンAと通信して、ドローンAに関する情報(位置、速度、進行方向、認識性能、飛行目的、飛行性能、干渉検出情報等)を取得する。制御部52は、干渉検出情報に示される位置に存在する干渉ドローン(ドローンBとする)と通信し、ドローンBに関する情報(位置、速度、進行方向、認識性能、飛行目的、飛行性能、干渉検出情報等)を取得する。
【0181】
制御部52は、第1~第3の実施形態と同様にして、ドローンA、Bの優先度を決定し、決定した優先度の情報を、ドローンA及びドローンBに送信する。優先度の情報は、ドローンA、Bが互いの衝突を阻止する行動を決定するための情報である。
【0182】
ドローンA及びドローンBのそれぞれは、受信した優先度に基づいて行動を決定し、決定した行動を実行する。例えば第1の実施形態の衝突回避制御の第1の例に従う場合、優先度の高い一方のドローンが先に進行方向に進む。他方のドローンは、一方のドローンの進行が完了するまで(他方のドローンの進行方向に一方のドローンが存在しなくなるまで)待機する。一方のドローンの進行が完了したら、他方のドローンが進行を開始する。
【0183】
ここではドローンが2台の例を示したが、3台以上の場合も同様である。2台以上のドローンから干渉ドローン検出の通知を受けた場合も、同様に、基地局201は、各ドローンに関する情報を取得して優先度を決定する。そして、決定した優先度の情報を各ドローンに送信する。また衝突回避制御の例も第1の例のみならず、第2の例又は第3の例も可能である。
【0184】
第4の実施形態によれば、基地局201が優先度の決定を行うことによりドローンの演算負荷を低減できる。また、基地局201は通常、ドローンに比べて高い演算性能を有するため、多くの種類の情報を用いても高速に優先度を決定できる。またドローン間で交渉して優先度を決定する場合、ドローン間の通信量が多くなり、また制御が複雑になるが、基地局201で一括して優先度の決定の処理を行うことで、ドローン間の通信量を低減し、複雑な制御も不要になる。
【0185】
(第4の実施形態の変形例1)
基地局201の制御部52が各ドローンの優先度を決定した後、さらに、決定した優先度に基づき、各ドローンの行動を決定する。基地局201は、決定した行動の情報を含むデータを各ドローンに送信する。当該行動の情報は、ドローンA、Bが互いの衝突を阻止する行動を決定するための情報である。
【0186】
各ドローンの行動は、第1の実施形態における衝突回避制御の第1~第3の例と同様に決定すればよい。あるいは、別の例として、基地局201の制御部52は、各ドローンが互いの衝突を回避できるような経路を再生成してもよい。この際、グループ内で優先度の最も高いドローンは、経路の再生成を行わず、元の経路をそのまま使用させてもよい。基地局201は、各ドローンについて生成した経路の情報を、各ドローンに送信する。各ドローンは、基地局201から指定された経路に沿って飛行する。各ドローンが自律飛行可能でない場合の他、自律飛行可能な場合にもこのような方法は有効である。
【0187】
変形例1によれば、基地局201が各ドローンの行動を決定することにより、各ドローンの演算負荷を低減できる。
【0188】
(第5の実施形態)
上述した第4の実施形態では、基地局201が優先度を決定したが、第5の実施形態では、各ドローンの状況に応じて、基地局201が優先度を決定するか、ドローンが優先度を決定するかを切り替える。
【0189】
上述した第3の実施形態の説明で記載したように、ドローンが、画像データに基づき検出した他ドローン(干渉ドローン)に関する情報を取得する際、取得に時間を要すると、他ドローンに衝突する可能性がある。そこで、検出した他ドローンと衝突するまでの時間を計算し、計算した時間に応じて、自ドローンで優先度を決定するか、基地局201で優先度を決定するかを判断する。時間に余裕がある場合、基地局201で優先度を決定する。この場合、多くの情報(例えば前述した[1]~[4]の全部)を用いて、より適正な優先度決定が可能である。時間に余裕がない場合、自ドローンで優先度を決定する。この場合、限られた情報(例えば前述した[1]~[4]のうち所定の情報のみ)を用いて簡易的に優先度決定を行う。
【0190】
例えば、第3の実施形態の説明で記載したように、ドローン101の制御部13は、自ドローンの速度と、干渉ドローンの速度と、自ドローンから干渉ドローンまでの距離と、自ドローンの制動性能とに基づき、干渉ドローンと衝突するまでの時間を計算する。時間が所定値未満の場合は、基地局201にドローン101に関する情報を送信し、基地局201に優先度を決定させる。時間が所定値以上の場合は、ドローン101で優先度を決定する。
【0191】
基地局201が優先度を決定する場合の動作は、第4の実施形態と同様であるため説明を省略する。ドローンが優先度を決定する場合の動作は、第1~第3の実施形態と同様であるため説明を省略する。
【0192】
図21は、第5の実施形態におけるドローンの制御部13が行う衝突回避制御の例のフローチャートである。第1の実施形態で用いた図10に対してステップS701~S703が追加されている。
【0193】
制御部13は、進行方向に他ドローンを発見した場合、他ドローンに衝突するまでの時間を計算する。計算した時間が所定値以上であれば、衝突まで時間的な余裕があると判断し(S701のYES)、ステップS102に進む。ステップS102以降は、第1の実施形態と同じである。
【0194】
計算した時間が所定値未満であれば、衝突まで時間的な余裕がないと判断する(S701のNO)。制御部13は、通信部12を介して、自ドローンに関する情報を基地局201に送信する(S702)。制御部13は、通信部12を介して、基地局201で決定された自ドローン及び他ドローンの優先度の情報を受信する(S703)。この後、ステップS104に進む。ステップS104以降は、第1の実施形態と同じである。
【0195】
第5の実施形態によれば、干渉ドローンと衝突するまでに時間に余裕がある場合に、基地局201で多くの情報を用いて適正な優先度の決定を行うことができる。時間に余裕がない場合は、ドローン間で限られた情報に基づき優先度の決定を簡易的に行うことができる。
【0196】
なお、上述の実施形態は本開示を具現化するための一例を示したものであり、その他の様々な形態で本開示を実施することが可能である。例えば、本開示の要旨を逸脱しない範囲で、種々の変形、置換、省略又はこれらの組み合わせが可能である。そのような変形、置換、省略等を行った形態も、本開示の範囲に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【0197】
また、本明細書に記載された本開示の効果は例示に過ぎず、その他の効果があってもよい。
【0198】
なお、本開示は以下のような構成を取ることもできる。
[項目1]
移動体の環境を撮像することにより、画像データを取得する撮像部と、
前記画像データに基づいて、前記移動体の進行方向に存在する他の移動体を検出し、前記他の移動体に関する情報に基づき、前記他の移動体との衝突を阻止する行動を行う制御部と
を備えた情報処理装置。
[項目2]
前記制御部は、前記他の移動体との衝突を阻止する前記行動を決定し、前記行動を行う 項目1に記載の情報処理装置。
[項目3]
前記制御部は、前記行動として、
前記他の移動体に対する回避動作を行いながら進行するか、
待機動作を行うか
前記他の移動体に対する回避動作を行わずに進むか、
経路を変更するか
のいずれかを行う
項目1に記載の情報処理装置。
[項目4]
前記制御部は、
前記移動体と前記他の移動体のいずれが優先するかを決定し、
前記他の移動体が優先的する場合、前記他の移動体に対する回避動作を行いながら進むか、前記待機動作を行うか、前記経路を変更するかのいずれかを行い、
前記移動体が優先する場合、前記他の移動体に対する回避動作を行うことなく進む、
項目3に記載の情報処理装置。
[項目5]
前記制御部は、
前記移動体の優先度と、前記他の移動体の優先度とを決定し、
前記移動体の優先度と前記他の移動体の優先度とに基づいて、前記移動体と前記他の移動体のいずれが優先的するかを決定する
項目4に記載の情報処理装置。
[項目6]
前記他の移動体に関する情報は、前記他の移動体の撮像部の認識性能を含み、
前記制御部は、前記撮像部の認識性能と、前記他の移動体の撮像部の認識性能とに基づいて、前記移動体と前記他の移動体のいずれが優先するかを決定する
項目5に記載の情報処理装置。
[項目7]
前記撮像部及び前記他の移動体の撮像部は、少なくとも1つのカメラを含み、
前記撮像部の認識性能と、前記他の移動体の撮像部の認識性能は、
前記カメラの個数、
前記カメラの画角、
前記カメラの設置位置、
前記カメラの解像度、
の少なくとも1つに基づき決定される
項目6に記載の情報処理装置。
[項目8]
前記撮像部の認識性能は、前記制御部により検出された前記他の移動体の台数に基づいて決定され、
前記他の移動体の撮像部の認識性能は、前記他の移動体が前記他の移動体の進行方向に認識している移動体の台数に基づき決定される
項目6に記載の情報処理装置。
[項目9]
前記制御部は、
前記他の移動体が前記移動体を認識しているかを判断し、
前記他の移動体が前記移動体を認識していないと判断した場合は、前記他の移動体を優先的させる
項目4に記載の情報処理装置。
[項目10]
前記他の移動体に関する情報は、前記他の移動体の移動目的を含み、
前記制御部は、前記移動体の移動目的と、前記他の移動体の移動目的とに基づき、前記移動体と前記他の移動体のいずれが優先するかを決定する
項目4に記載の情報処理装置。
[項目11]
前記他の移動体に関する情報は、前記他の移動体の移動性能を含み、
前記制御部は、前記移動体の移動性能と、前記他の移動体の移動性能とに基づき、前記移動体と前記他の移動体のいずれが優先するかを決定する
項目4に記載の情報処理装置。
[項目12]
前記他の移動体に関する情報は、前記他の移動体の速度を含み、
前記制御部は、前記移動体の速度と、前記他の移動体の速度とに基づいて、前記移動体と前記他の移動体のいずれが優先するかを決定する
項目4に記載の情報処理装置。
[項目13]
前記制御部は、前記移動体が前記他の移動体と衝突するまでの時間を計算し、
前記時間に応じて、前記移動体と前記他の移動体のいずれが優先するかの決定を前記制御部が行うか、基地局が行うかを決定し、
前記基地局が行うことを決定した場合、前記決定を行うことの要求を前記基地局に送信する
項目4に記載の情報処理装置。
[項目14]
前記制御部は、
前記移動体が前記他の移動体と衝突するまでの時間を計算し、
前記時間に基づいて、取得する前記情報の種類を決定し、
前記情報取得部は、決定した種類の前記情報を取得する
項目1に記載の情報処理装置。
[項目15]
前記他の移動体に関する情報は、前記他の移動体の位置、及び前記他の移動体までの距離の少なくとも1つを含む
項目13に記載の情報処理装置。
[項目16]
前記移動体は飛行体である
項目1に記載の情報処理装置。
[項目17]
移動体に搭載されるコンピュータに実行させるためのコンピュータプログラムであって、
移動体の進行方向を含む環境を撮像することにより、画像データを取得する撮像ステップと、
前記画像データに基づいて、前記移動体の前記進行方向に存在する他の移動体を検出する検出ステップと、
前記他の移動体に関する情報に基づき、前記他の移動体との衝突を阻止する行動を行う制御ステップと
を備えたコンピュータプログラム。
[項目18]
移動体によって実行される方法であって、
前記移動体の進行方向を含む環境を撮像することにより、画像データを取得し、
前記画像データに基づいて、前記移動体の前記進行方向に存在する他の移動体を検出し、
前記他の移動体に関する情報に基づき、前記他の移動体との衝突を阻止する行動を行う 方法。
[項目19]
複数の移動体と基地局とを備えた通信システムであって、
前記複数の移動体は
前記移動体の進行方向を含む環境を撮像することにより、画像データを取得する撮像部と、
前記画像データに基づいて、前記移動体の前記進行方向に存在する他の移動体を検出する制御部と、
前記基地局と通信する通信部とを備え、
前記基地局は、
前記移動体と通信する通信部と、
前記移動体から前記移動体の情報と前記画像データとを取得する情報取得部と、
前記移動体に関する情報と前記画像データとに基づき、前記移動体が前記他の移動体と衝突を阻止する行動を決定するための情報を生成し、生成した前記情報を前記移動体に送信する制御部と、を備えた
通信システム。
【符号の説明】
【0199】
1:情報処理装置
101、101A~101C、A~G:ドローン、201:基地局、
10:アンテナ、11:撮像部、14A~14D:ロータ、15A~15D:モータ、13:制御部、12:通信部、16:センサ部、17:位置検出部、18:バッテリ、19:記憶部、20:情報取得部、
31:画像データ、
41:空間、
50:アンテナ、51:通信部、52:制御部、53:記憶部
O1~O4:操作
200:コンピュータ装置、201:CPU、202:入力インタフェース、203:表示装置、204:通信装置、205:主記憶装置、206:外部記憶装置、207:バス、
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21