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

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

▶ 株式会社NTTデータの特許一覧 ▶ 東京電力株式会社の特許一覧

<>
  • 特許-自律飛行体及び飛行制御方法 図1
  • 特許-自律飛行体及び飛行制御方法 図2
  • 特許-自律飛行体及び飛行制御方法 図3
  • 特許-自律飛行体及び飛行制御方法 図4
  • 特許-自律飛行体及び飛行制御方法 図5
  • 特許-自律飛行体及び飛行制御方法 図6
  • 特許-自律飛行体及び飛行制御方法 図7
  • 特許-自律飛行体及び飛行制御方法 図8
  • 特許-自律飛行体及び飛行制御方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-07
(45)【発行日】2024-03-15
(54)【発明の名称】自律飛行体及び飛行制御方法
(51)【国際特許分類】
   G05D 1/622 20240101AFI20240308BHJP
   B64C 13/18 20060101ALI20240308BHJP
   B64C 39/02 20060101ALI20240308BHJP
   G05D 1/467 20240101ALI20240308BHJP
【FI】
G05D1/622
B64C13/18 Z
B64C39/02
G05D1/467
【請求項の数】 4
(21)【出願番号】P 2020056971
(22)【出願日】2020-03-27
(65)【公開番号】P2021157493
(43)【公開日】2021-10-07
【審査請求日】2022-10-27
(73)【特許権者】
【識別番号】523286071
【氏名又は名称】株式会社NTTデータ
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(73)【特許権者】
【識別番号】000003687
【氏名又は名称】東京電力ホールディングス株式会社
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(74)【代理人】
【識別番号】100132883
【弁理士】
【氏名又は名称】森川 泰司
(74)【代理人】
【識別番号】100166442
【弁理士】
【氏名又は名称】鈴木 洋雅
(74)【代理人】
【識別番号】100174067
【弁理士】
【氏名又は名称】湯浅 夏樹
(72)【発明者】
【氏名】青山 美次
(72)【発明者】
【氏名】佐藤 明
(72)【発明者】
【氏名】佐藤 一徳
(72)【発明者】
【氏名】三井 弘宜
【審査官】大古 健一
(56)【参考文献】
【文献】特開2020-13465(JP,A)
【文献】特開2018-181116(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00 - 1/87
B64B 1/00 - 1/70
B64C 1/00 -99/00
B64D 1/00 -47/08
B64F 1/00 - 5/60
B64G 1/00 -99/00
B64U 10/00 -80/86
(57)【特許請求の範囲】
【請求項1】
自律飛行体であって、
前記自律飛行体の周囲の障害物を検出する測域センサと、
前記測域センサによる検出結果に基づいて環境地図を作成する地図作成手段と、
前記環境地図上における前記自律飛行体の飛行方向を、前記環境地図上における前記自律飛行体の位置の変化に基づいて推定する推定手段と
前記飛行方向に対して左右90度となる方向に前記自律飛行体との距離が予め定められた障害距離以内となる障害物が存在するかを判定する障害物判定手段と、
前記障害物判定手段が、前記自律飛行体との距離が前記障害距離以内となる障害物が存在すると判定した場合、前記障害物判定手段により障害物が存在すると判定した地点を障害物存続開始点とし、前記飛行方向に近づくように継続的に前記測域センサによる障害物の検出を行い、前記自律飛行体との距離が予め定められた障害距離以内かつ前記測域センサによる検出の検出方向が前記飛行方向に近づくほど前記自律飛行体との距離が漸増するかを判定し、前記自律飛行体との距離が前記障害距離以内かつ検出方向が前記飛行方向に近づくほど前記自律飛行体との距離が漸増すると判定したとき、前記自律飛行体との距離が前記障害距離となる地点を障害物存続終了点として、前記障害物存続開始点から前記障害物存続終了点までを連続した壁面として検出する壁面検出手段と、
前記壁面検出手段により前記壁面を検出したとき、前記左右90度となる方向のうち前記壁面が検出されなかった方向にある前記自律飛行体までの距離が前記障害距離となる地点と前記障害物存続終了点とを結び前記自律飛行体を中心とする円弧を二分する方向を、前記自律飛行体の新たな飛行方向として決定する飛行方向決定手段と、
前記飛行方向決定手段により決定された前記新たな飛行方向に基づいて前記自律飛行体の飛行を制御する飛行制御手段と、
を備える自律飛行体。
【請求項2】
前記推定手段はさらに、前記環境地図上における前記自律飛行体の位置を推定し、
前記推定手段が推定した前記位置を擬似的な緯度と経度と高度とにより表した擬似測位情報を求める擬似測位手段と、
予め定められた前記自律飛行体の飛行計画を、前記擬似測位情報と、前記新たな飛行方向とに基づいて修正する飛行計画修正手段と、
をさらに備え、
前記飛行制御手段は、前記飛行計画修正手段により修正された前記飛行計画に基づいて決定された、前記自律飛行体が飛行移動すべき位置へ飛行するよう前記自律飛行体の飛行を制御する、
請求項1に記載の自律飛行体。
【請求項3】
前記壁面検出手段は、前記自律飛行体が飛行する地下トンネルの地図を示す情報に基づいて、前記障害距離を可変に設定する、
請求項1又は2に記載の自律飛行体。
【請求項4】
自律飛行体の飛行を制御する飛行制御方法であって、
前記自律飛行体の周囲の障害物を検出して環境地図を作成し、
前記環境地図上における前記自律飛行体の飛行方向を、前記環境地図上における前記自律飛行体の位置の変化に基づいて推定し、
前記飛行方向に対して左右90度となる方向に前記自律飛行体との距離が予め定められた障害距離以内となる障害物が存在するかを判定し、
前記自律飛行体との距離が前記障害距離以内となる障害物が存在すると判定した場合、障害物が存在すると判定した地点を障害物存続開始点とし、前記飛行方向に近づくように継続的に障害物の検出を行い、前記自律飛行体との距離が予め定められた障害距離以内かつ検出方向が前記飛行方向に近づくほど前記自律飛行体との距離が漸増するかを判定し、前記自律飛行体との距離が前記障害距離以内かつ検出方向が前記飛行方向に近づくほど前記自律飛行体との距離が漸増すると判定したとき、前記自律飛行体との距離が前記障害距離となる地点を障害物存続終了点として、前記障害物存続開始点から前記障害物存続終了点までを連続した壁面として検出し、
前記壁面を検出したとき、前記左右90度となる方向のうち前記壁面が検出されなかった方向にある前記自律飛行体までの距離が前記障害距離となる地点と前記障害物存続終了点とを結び前記自律飛行体を中心とする円弧を二分する方向を、前記自律飛行体の新たな飛行方向として決定し、
決定された前記新たな飛行方向に基づいて前記自律飛行体の飛行を制御する、
飛行制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、自律飛行体及び飛行制御方法に関する。
【背景技術】
【0002】
自律飛行を行うドローン等の自律飛行体は、測域センサ、電子コンパス、GNSS(Global Navigation Satellite System:全地球航法衛星システム)受信器などの各種センサが検出した情報に基づく飛行制御をすることにより、自律飛行を実現している。特に、電子コンパスが地磁気を検出して自律飛行体自身の機首方向を特定し、GNSS受信機が測位衛星からの電波信号を受信して自律飛行体自身の地球上における位置を特定することにより、精度の高い自律飛行が実現される。
【0003】
例えば特許文献1には、電子コンパスとGPS(Global Positioning System:全地球測位システム)受信器と備え、自律飛行が可能なマルチコプターが開示されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特許第6661136号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記の自律飛行体は、地下トンネルなど、測位衛星からの電波を正常に受信できない環境下、電子コンパスが正常に地磁気を検出できない環境下において、正常に自律飛行ができないという問題がある。
【0006】
例えば、送電線を収容する地下トンネルに撮像装置を搭載した自律飛行体を送り込んで、人員を輸送することなく送電線の状態を確認したい、といった要求がある。しかし、地下トンネルでは測位衛星からの電波を受信できない可能性が高く、かつ、送電線から生じる磁気により電子コンパスも正常に地磁気を検出できない可能性が高い。そのため、このような地下トンネルにおいては、上記の自律飛行体は正常に自律飛行できない可能性が高い。
【0007】
このため、送電線を収容する地下トンネルのような環境下での自律飛行を実現するには、測位衛星、地磁気に頼らずに自律飛行を行う技術が必要となる。一方、地下トンネルのような環境下では、壁面が存在するため、壁面への衝突を回避するための技術も必要となる。したがって、壁面の存在する環境下においては、壁面への衝突を回避するための技術が必要とされている。
【0008】
本開示の目的は、上記の事情に鑑み、壁面の存在する環境下において自律飛行を可能とする自立飛行体等を提供することにある。
【課題を解決するための手段】
【0009】
上記の目的を達成するため、本開示の第1の観点に係る自律飛行体は、
自律飛行体であって、
前記自律飛行体の周囲の障害物を検出する測域センサと、
前記測域センサによる検出結果に基づいて環境地図を作成する地図作成手段と、
前記環境地図上における前記自律飛行体の飛行方向を、前記環境地図上における前記自律飛行体の位置の変化に基づいて推定する推定手段と
前記飛行方向に対して左右90度となる方向に前記自律飛行体との距離が予め定められた障害距離以内となる障害物が存在するかを判定する障害物判定手段と、
前記障害物判定手段が、前記自律飛行体との距離が前記障害距離以内となる障害物が存在すると判定した場合、前記障害物判定手段により障害物が存在すると判定した地点を障害物存続開始点とし、前記飛行方向に近づくように継続的に前記測域センサによる障害物の検出を行い、前記自律飛行体との距離が予め定められた障害距離以内かつ前記測域センサによる検出の検出方向が前記飛行方向に近づくほど前記自律飛行体との距離が漸増するかを判定し、前記自律飛行体との距離が前記障害距離以内かつ検出方向が前記飛行方向に近づくほど前記自律飛行体との距離が漸増すると判定したとき、前記自律飛行体との距離が前記障害距離となる地点を障害物存続終了点として、前記障害物存続開始点から前記障害物存続終了点までを連続した壁面として検出する壁面検出手段と、
前記壁面検出手段により前記壁面を検出したとき、前記左右90度となる方向のうち前記壁面が検出されなかった方向にある前記自律飛行体までの距離が前記障害距離となる地点と前記障害物存続終了点とを結び前記自律飛行体を中心とする円弧を二分する方向を、前記自律飛行体の新たな飛行方向として決定する飛行方向決定手段と、
前記飛行方向決定手段により決定された前記新たな飛行方向に基づいて前記自律飛行体の飛行を制御する飛行制御手段と、
を備える。
【0010】
前記推定手段はさらに、前記環境地図上における前記自律飛行体の位置を推定し、
前記推定手段が推定した前記位置を擬似的な緯度と経度と高度とにより表した擬似測位情報を求める擬似測位手段と、
予め定められた前記自律飛行体の飛行計画を、前記擬似測位情報と、前記新たな飛行方向とに基づいて修正する飛行計画修正手段と、
をさらに備え、
前記飛行制御手段は、前記飛行計画修正手段により修正された前記飛行計画に基づいて決定された、前記自律飛行体が飛行移動すべき位置へ飛行するよう前記自律飛行体の飛行を制御する、
ものであってもよい。
【0011】
前記壁面検出手段は、前記自律飛行体が飛行する地下トンネルの地図を示す情報に基づいて、前記障害距離を可変に設定する、
ものであってもよい。
【0012】
上記の目的を達成するため、本開示の第2の観点に係る飛行制御方法は、
自律飛行体の飛行を制御する飛行制御方法であって、
前記自律飛行体の周囲の障害物を検出して環境地図を作成し、
前記環境地図上における前記自律飛行体の飛行方向を、前記環境地図上における前記自律飛行体の位置の変化に基づいて推定し、
前記飛行方向に対して左右90度となる方向に前記自律飛行体との距離が予め定められた障害距離以内となる障害物が存在するかを判定し、
前記自律飛行体との距離が前記障害距離以内となる障害物が存在すると判定した場合、障害物が存在すると判定した地点を障害物存続開始点とし、前記飛行方向に近づくように継続的に障害物の検出を行い、前記自律飛行体との距離が予め定められた障害距離以内かつ検出方向が前記飛行方向に近づくほど前記自律飛行体との距離が漸増するかを判定し、前記自律飛行体との距離が前記障害距離以内かつ検出方向が前記飛行方向に近づくほど前記自律飛行体との距離が漸増すると判定したとき、前記自律飛行体との距離が前記障害距離となる地点を障害物存続終了点として、前記障害物存続開始点から前記障害物存続終了点までを連続した壁面として検出し、
前記壁面を検出したとき、前記左右90度となる方向のうち前記壁面が検出されなかった方向にある前記自律飛行体までの距離が前記障害距離となる地点と前記障害物存続終了点とを結び前記自律飛行体を中心とする円弧を二分する方向を、前記自律飛行体の新たな飛行方向として決定し、
決定された前記新たな飛行方向に基づいて前記自律飛行体の飛行を制御する。
【発明の効果】
【0013】
本開示によれば、壁面の存在する環境下において自律飛行体による自律飛行が可能となる。
【図面の簡単な説明】
【0014】
図1】本開示の実施の形態に係るドローンの構成を示す図
図2】本開示の実施の形態に係る飛行予定地図の一例を示す図
図3】本開示の実施の形態に係るコンパニオンコンピュータの機能的構成を示す図
図4】本開示の実施の形態に係るドローンによる壁面判定の一例を説明する図
図5】本開示の実施の形態に係るフライトコントローラの機能的構成を示す図
図6】本開示の実施の形態に係るドローンによる飛行制御の動作の一例を示すフローチャート
図7図6における、本開示の実施の形態に係るドローンが備えるコンパニオンコンピュータの壁面検出部による壁面検出の動作の一例を示すフローチャート
図8図6における、本開示の実施の形態に係るドローンが備えるフライトコントローラによる飛行制御の動作の一例を示すフローチャート
図9】本開示の実施の形態の変形例1に係るコンパニオンコンピュータの機能的構成を示す図
【発明を実施するための形態】
【0015】
以下、図面を参照しながら、本開示に係る自律飛行体をドローンに適用した実施の形態を説明する。各図面においては、同一又は同等の部分に同一の符号を付す。
【0016】
(実施の形態)
図1を参照しながら、実施の形態に係るドローン1を説明する。後述するように、ドローン1は、送電線を収容する地下トンネルのような、壁面が存在し、かつ測位衛星からの電波を正常に受信できず電子コンパスが正常に地磁気を検出できない環境下において自律飛行が可能な自律飛行体である。詳細は後述するが、ドローン1は、地下トンネル内の壁面を検出し、検出した壁面と、擬似的な磁束密度及び擬似的な測位情報とに基づいて自律飛行を行う。送電線を収容する地下トンネルでは、測位衛星から正常に電波を受信することも、地磁気を正常に検出することもできないことが想定されるので、ドローン1は、衛星測位及び地磁気検出に依らずに自律飛行を行う。
【0017】
ドローン1は、コンパニオンコンピュータ2とフライトコントローラ3と測域センサ4と駆動部7とを備える。コンパニオンコンピュータ2は、測域センサ4及びフライトコントローラ3に通信可能に接続されている。フライトコントローラ3は、コンパニオンコンピュータ2及び駆動部7に通信可能に接続されている。ドローン1は、本開示に係る自律飛行体の一例である。
【0018】
なお、ドローン1は、上記のほか、ジャイロセンサ、加速度センサ、気圧センサなどの各種センサを備えてもよい。
【0019】
コンパニオンコンピュータ2は、例えばドローン1に内蔵可能な一般的なマイクロコントローラである。コンパニオンコンピュータ2は、バスB2を介して互いに接続された、プロセッサ201と、メモリ202と、インタフェース203と、二次記憶装置204と、を備える。
【0020】
プロセッサ201は、例えばCPU(Central Processing Unit:中央演算装置)である。プロセッサ201が、二次記憶装置204に記憶された動作プログラムをメモリ202に読み込んで実行することにより、後述する各機能部の機能が実現される。
【0021】
メモリ202は、例えば、RAM(Random Access Memory)により構成される主記憶装置である。メモリ202は、プロセッサ201が二次記憶装置204から読み込んだ動作プログラムを記憶する。また、メモリ202は、プロセッサ201が動作プログラムを実行する際のワークメモリとして機能する。
【0022】
インタフェース203は、例えばGPIO(General-purpose input/output)、シリアルポート、USB(Universal Serial Bus)ポート、ネットワークインタフェースなどのI/O(input/output)インタフェースである。インタフェース203に測域センサ4及びフライトコントローラ3が接続されることにより、コンパニオンコンピュータ2は測域センサ4及びフライトコントローラ3に通信可能に接続される。
【0023】
二次記憶装置204は、例えばフラッシュメモリである。二次記憶装置204は、プロセッサ201が実行する動作プログラムを記憶する。また、二次記憶装置204は、後述の飛行計画データも記憶する。例えば、ドローン1のユーザが予めパーソナルコンピュータ上で飛行計画データを作成し、インタフェース203に当該パーソナルコンピュータを接続して飛行計画データをコンパニオンコンピュータ2に転送することにより、飛行計画データが二次記憶装置204に保存される。
【0024】
図2に示す例を参照しながら、飛行計画データについて説明する。飛行計画データは、例えばドローン1のユーザが、地図上にて始点と1以上の経由点と終点とを指定して飛行ルートを設定することにより作成される。図2に示す例は、地下トンネルを示す地図上において、始点と1つの経由点と終点とを指定することにより、ドローン1が地下トンネル内をどのような飛行ルートにて飛行すべきかを指定する例である。図2に示す例では、始点、経由点及び終点は、緯度、経度及び高度の組により示されている。フライトコントローラ3は、飛行制御において緯度、経度及び高度にて表された情報を利用するため、飛行計画データにおける各点も緯度、経度及び高度にて表現されている。
【0025】
再び図1を参照する。フライトコントローラ3は、例えばマイクロコントローラにより構成されるフライトコントローラである。フライトコントローラ3として、例えば市販のフライトコントローラを採用することができる。フライトコントローラ3は、コンパニオンコンピュータ2と同様に、バスB3を介して互いに接続された、プロセッサ301と、メモリ302と、インタフェース303と、二次記憶装置304と、を備える。また、二次記憶装置304は、フライトコントローラ3の動作プログラムとして、ドライバプログラムP31と飛行プログラムP32とを備える。
【0026】
プロセッサ301は、例えばCPUである。プロセッサ301が、二次記憶装置304に記憶されたドライバプログラムP31及び飛行プログラムP32をメモリ302に読み込んで実行することにより、後述する各機能部の機能が実現される。
【0027】
メモリ302は、例えば、RAMにより構成される主記憶装置である。メモリ302は、プロセッサ301が二次記憶装置304から読み込んだ動作プログラムを記憶する。また、メモリ302は、プロセッサ301がドライバプログラムP31及び飛行プログラムP32を実行する際のワークメモリとして機能する。
【0028】
インタフェース303は、例えばGPIO、シリアルポート、USBポート、ネットワークインタフェースなどのI/Oインタフェースである。インタフェース303にコンパニオンコンピュータ2及び駆動部7が接続されることにより、フライトコントローラ3はコンパニオンコンピュータ2及び駆動部7に通信可能に接続される。
【0029】
二次記憶装置304は、例えばフラッシュメモリである。前述のとおり、二次記憶装置304は、プロセッサ301が実行する動作プログラムとしてドライバプログラムP31及び飛行プログラムP32を記憶する。ドローン1の製造者は、ドライバプログラムP31を作成して二次記憶装置204に保存することができる。つまり、ドローン1の製造者は、自身がドライバプログラムP31を作成して保存することにより、後述する各機能部のうち一部の機能部の機能を実現できる。詳細は後述するが、コンパニオンコンピュータ2の各機能と、ドローン1の製造者が作成したドライバプログラムP31とにより、地下トンネルにおいてドローン1の自律飛行を実現できる。
【0030】
測域センサ4は、ドローン1の周囲の障害物を検出し、検出した障害物の相対位置(ドローン1の現在位置を基準とした距離及び方向)を示す情報をコンパニオンコンピュータ2に出力する。測域センサ4は、例えば水平方向の周囲360度にある障害物を検知可能なLiDAR(Light Detection and RangingもしくはLaser Imaging Detection and Ranging)である。測域センサ4は、本開示に係る測域センサの一例である。
【0031】
駆動部7は、フライトコントローラ3による制御に基づいて揚力を発生させ、ドローン1を飛行させる。駆動部7は、例えばESC(Electric Speed Controller)とモータとプロペラとを備える。例えば、ドローン1が4つのプロペラを備えるマルチコプターであるとき、駆動部7はESCとモータとプロペラとの組を4組備える。
【0032】
次に、図3を参照しながら、コンパニオンコンピュータ2のプロセッサ201が動作プログラムを実行したときにおける、コンパニオンコンピュータ2の機能的構成を説明する。コンパニオンコンピュータ2は、機能的構成として、地図作成部21と推定部22と機首方向出力部23と擬似測位部24と壁面検出部26と飛行方向決定部27と飛行計画修正部28と飛行指令部25とを備える。
【0033】
地図作成部21は、測域センサ4が検出した障害物の相対位置に基づいて環境地図を作成する。地図作成部21は、後述の推定部22とともに、SLAM(Simultaneous Localization and Mapping)を行う。地図作成部21は、例えば、初めに環境地図を作成する際には、任意の方向を暫定的に「北」と定めて環境地図を作成する。地図作成部21は、作成した環境地図と、飛行計画データが示す地図とを対比して、暫定的に「北」と定めた方向を適宜修正する。地図作成部21は、本開示に係る地図作成手段の一例である。
【0034】
推定部22は、地図作成部21が作成した環境地図に基づいて、環境地図上におけるドローン1の位置、飛行方向及び機首方向を推定する。環境地図上におけるドローン1の位置は、例えば飛行開始時におけるドローン1の位置を原点としたときの相対座標にて表現される。環境地図上における飛行方向及び機首方向は、例えば環境地図上における位置の変化に基づいて推定される。推定部22は、前述の地図作成部21とともにSLAMを行う。推定部22は、本開示に係る推定手段の一例である。
【0035】
機首方向出力部23は、推定部22が推定した環境地図上における機首方向を示す機首方向情報を、フライトコントローラ3に出力する。機首方向情報は、後述するフライトコントローラ3の擬似コンパス部31により処理されるため、図3では機首方向出力部23から擬似コンパス部31に出力されるように図示している。
【0036】
擬似測位部24は、推定部22が推定した環境地図上におけるドローン1の位置を擬似的な緯度と経度と高度とにより表した擬似測位情報を求め、求めた擬似測位情報をフライトコントローラ3に出力する。フライトコントローラ3は、緯度、経度及び高度にて表された測位情報に基づいてドローン1の飛行制御を行うので、擬似測位部24はそれに合わせて、擬似的な測位情報を出力する。つまり、擬似測位部24は、擬似的な衛星測位モジュールとして機能する。擬似測位情報は、後述するフライトコントローラ3の出力部33により処理されるため、図3では擬似測位部24から出力部33に出力されるように図示している。擬似測位部24は、本開示に係る擬似測位手段の一例である。
【0037】
上述したように、二次記憶装置204に保存された飛行計画データにおいては、始点、経由点及び終点の各点が緯度、経度及び高度にて表されている。また、上述したように、環境地図上においては、例えば飛行開始時におけるドローン1の位置が原点となっている。したがって、飛行計画データにおける始点の緯度及び経度と、環境地図上における原点とが対応する。そのため、擬似測位部24は、環境地図上におけるドローン1の位置を、緯度及び経度にて擬似的に表すことができる。ただし、一般的には、ドローン1が移動するにつれて、擬似的に表した緯度及び経度と、現実の緯度及び経度とにズレが生じる。後述するように、後述の壁面検出部26による検出結果に基づいて飛行方向を修正し、修正した飛行方向に基づいて飛行計画を修正することにより、このズレに対応する。なお、高度については、擬似測位部24は、例えば飛行計画データにおける各点の高度により表してもよいし、図示しない気圧センサが検出した気圧に基づいて高度を求めてもよい。
【0038】
壁面検出部26は、測域センサ4を制御して、ドローン1の飛行方向に対して左右90度となる方向にドローン1との距離が予め定められた障害距離以内となる障害物が存在するかを判定する。壁面検出部26は、ドローン1との距離が障害距離以内となる障害物が存在すると判定した場合、障害物が存在すると判定した地点を障害物存続開始点とし、飛行方向に近づくように継続的に測域センサ4による障害物の検出を行う。壁面検出部26は、ドローン1との距離が予め定められた障害距離以内かつ測域センサ4による検出の検出方向が飛行方向に近づくほどドローン1との距離が漸増するかを判定する。壁面検出部26は、ドローン1との距離が障害距離となる地点を障害物存続終了点として、障害物存続開始点から障害物存続終了点までを、連続した壁面として検出する。壁面検出部26は、本開示に係る障害物判定手段及び壁面検出手段の一例である。以下、図4を参照しながら具体的に説明する。
【0039】
図4に示す例では、図面上における上方向(図4における「飛行方向(修正前)」)が現在のドローン1の飛行方向である。また、図4に示す例では、ドローン1の飛行方向に対して右90度となる方向には連続する壁面が存在し、左90度となる方向には壁面が存在しない。
【0040】
壁面検出部26は、まず、測域センサ4を制御して、飛行方向に対して左右90度となる方向に障害物の検出を行う。壁面検出部26は、検出した障害物が障害距離以内に存在するか否かを判定する。障害距離は、例えば1.5メートルである。なお、地下トンネルの幅は、例えば5メートル程度が想定されており、左右90度方向ともに障害距離以内に壁面が存在することはないものとする。図4に示す例では、飛行方向に対して右90度となる方向については障害距離以内に障害物が存在し、飛行方向に対して左90度となる方向については障害距離以内には障害物が存在しない。壁面検出部26は、飛行方向に対して右90度となる方向に存在する障害物が存在する地点を、障害物存続開始点とする。
【0041】
次に、壁面検出部26は、検出方向を、障害距離以内に障害物が存在する方向である右90度となる方向から少し飛行方向(図面上における上方向)に近づけ、再び測域センサ4による障害物の検出を試みる。図4に示す例において、測域センサ4は、再び障害距離以内に存在する障害物を検出する。ただし、ドローン1から検出した障害物までの距離は、先ほど検出したときの距離よりも増加している。つまり、ドローン1から検出した障害物までの距離が漸増している。壁面検出部26は、このような動作を、障害物との距離が障害距離を超えるか、漸増しなくなるまで繰り返す。
【0042】
図4に示す例では、飛行方向に対して右90度となる方向から右45度となる方向までが、障害物との距離が障害距離以内かつ障害物との距離が漸増する範囲である。図4に示す例では、飛行方向に対して右45度となる方向に存在する障害物との距離がちょうど障害距離となる地点であり、壁面検出部26は、この地点を障害物存続終了点とする。壁面検出部26は、障害物存続開始点から障害物存続終了点までに存在する障害物を、連続した壁面として検出する。
【0043】
再び図3を参照する。飛行方向決定部27は、左右90度となる方向のうち壁面が検出されなかった方向にあるドローン1までの距離が障害距離となる地点と障害物存続終了点とを結びドローン1を中心とする円弧を二分する方向を、ドローン1の新たな飛行方向として決定する。飛行方向決定部27は、本開示に係る飛行方向決定手段の一例である。
【0044】
新たな飛行方向の決定についても、図4を参照しながら具体的に説明する。上述のとおり、図4においては、飛行方向に対して右45度となる方向に障害物存続終了点が存在する。飛行方向決定部27は、障害物存続終了点と、飛行方向に対して左90度となる方向にあるドローン1までの距離が障害距離となる地点とを結びドローン1を中心とする円弧を二分する方向である、飛行方向に対して左22.5度となる方向を、新たな飛行方向(図4における「飛行方向(修正後)」)として決定する。飛行方向決定部27は、このように新たな飛行方向を決定することで、飛行方向を極端に変化させることなくドローン1が壁面からさらに離れることができる。
【0045】
再び図3を参照する。飛行計画修正部28は、飛行計画データが示す飛行ルートと、擬似測位部24が求めた擬似測位情報と、飛行方向決定部27が決定した新たな飛行方向とに基づいて飛行計画を修正する。飛行計画修正部28は、上述の二次記憶装置204に保存された飛行計画データを変更することにより、飛行計画を修正する。飛行計画修正部28は、まず、飛行計画データにおける既存の飛行ルートを、擬似測位情報にて用いられている擬似的な緯度、経度及び高度に対応する座標系にて表すように変更する。次に、飛行計画修正部28は、擬似的な緯度、経度及び高度にて表した飛行ルートにおける現在位置を特定する。飛行計画修正部28は、特定した現在位置においてそのまま飛行ルートに従った飛行を行った場合の飛行方向を現在の飛行方向として特定する。そして飛行計画修正部28は、特定した現在の飛行方向から、飛行方向決定部27により決定された新たな飛行方向へと飛行方向が修正されるように飛行ルートを変更する。飛行計画修正部28は、本開示に係る飛行計画修正手段の一例である。
【0046】
飛行指令部25は、飛行計画修正部28により修正された飛行計画に基づいて、ドローン1が飛行移動すべき位置を決定し、決定した位置への飛行をフライトコントローラ3に指令する。飛行指令部25によるフライトコントローラ3への指令は、後述するフライトコントローラ3の飛行制御部34により処理されるため、図3では飛行指令部25から飛行制御部34に出力されるように図示している。
【0047】
次に、図5を参照しながら、フライトコントローラ3のプロセッサ301がドライバプログラムP31及び飛行プログラムP32を実行したときにおける、フライトコントローラ3の機能的構成を説明する。フライトコントローラ3は、機能的構成として、擬似コンパス部31と出力部33と飛行制御部34とを備える。これらの機能部のうち、擬似コンパス部31及び出力部33の機能は、プロセッサ301がドライバプログラムP31を実行することにより実現され、飛行制御部34の機能は、プロセッサ301が飛行プログラムP32を実行することにより実現される。
【0048】
擬似コンパス部31は、コンパニオンコンピュータ2の機首方向出力部23が出力した、環境地図上におけるドローン1の機首方向を示す機首方向情報に基づいて擬似的な磁束密度である擬似磁束密度を求める。具体的には、擬似コンパス部31は、現実において機首方向情報が示す方向にドローン1の機首が向いていると仮定したときの、ドローン1を通過する磁気を示す磁束密度を擬似磁束密度として求める。例えば、機首方向情報が示す方向が「北」であるとき、ドローン1の機首が現実に「北」を向いているときにドローン1を通過する磁気の磁束密度を、擬似磁束密度として求める。つまり、擬似コンパス部31は、環境地図上における機首方向に基づいて磁気を検出する擬似的な電子コンパスモジュールとして機能する。擬似コンパス部31は、本開示に係る擬似コンパス手段の一例である。
【0049】
出力部33は、擬似コンパス部31が求めた擬似磁束密度と擬似測位部24が求めた測位情報とを飛行制御部34に出力する。上述のとおり、擬似コンパス部31及び出力部33の機能は、フライトコントローラ3のプロセッサ301がドライバプログラムP31を実行することにより実現される。プロセッサ301がドライバプログラムP31を実行することにより、最終的には出力部33の機能によって擬似磁束密度と擬似測位情報とが飛行制御部34に出力される。そのため、飛行制御部34からは、あたかも仮想的な電子コンパスモジュール及び仮想的な衛星測位モジュールから、磁束密度及び測位情報が出力されているように見える。
【0050】
飛行制御部34は、出力部33から出力された、擬似磁束密度及び擬似測位情報と、コンパニオンコンピュータ2の飛行指令部25からの飛行指令とに基づいて駆動部7を制御して、ドローン1の飛行を制御する。上述のとおり、飛行指令部25からの飛行指令は、新たな飛行方向として決定された飛行方向に基づくものであるため、飛行制御部34は、新たな飛行方向に基づいてドローン1の飛行を制御するものである。飛行制御部34自身は、擬似磁束密度及び擬似測位情報と、現実の磁束密度及び測位情報とを区別することもなく、単に出力部33から出力された磁束密度及び測位情報に基づいて駆動部7を制御する。飛行制御部34は、本開示に係る飛行制御手段の一例である。
【0051】
上述のとおり、飛行制御部34の機能は、フライトコントローラ3のプロセッサ301が飛行プログラムP32を実行することにより実現される。飛行プログラムP32は、例えばフライトコントローラ3の製造者により作成されたプログラムである。飛行プログラムP32は、地磁気と地球上における位置とが正常に検出されることを前提として作成されているので、飛行制御の際に何らかのドライバプログラムから磁束密度及び測位情報が出力されることを必須としている。したがって、飛行プログラムP32(により機能する飛行制御部34)は、擬似磁束密度及び擬似測位情報と、現実の磁束密度及び測位情報とを区別することがない。
【0052】
したがって、ドローン1のユーザは、フライトコントローラ3として市販のフライトコントローラを採用する場合において、フライトコントローラ3のハードウェア構成を変更することも、飛行プログラムP32を変更することもなく、ドライバプログラムP31を作成することにより、フライトコントローラ3の各機能を実現できる。
【0053】
次に、図6を参照しながら、ドローン1による飛行制御の動作の一例を説明する。図6に示す動作の開始時においては、すでに飛行計画データが二次記憶装置204に保存されており、かつ飛行が開始されているものとする。
【0054】
ドローン1の測域センサ4は、ドローン1の周囲の障害物を検出し、検出した障害物の相対位置を示す情報をコンパニオンコンピュータ2に出力する(ステップS1)。
【0055】
ドローン1のコンパニオンコンピュータ2の地図作成部21は、ステップS1にて検出した障害物の相対位置に基づいて環境地図を作成する(ステップS2)。
【0056】
コンパニオンコンピュータ2の推定部22は、ステップS2にて作成した環境地図上におけるドローン1の位置と飛行方向と機首方向とを推定する(ステップS3)。
【0057】
コンパニオンコンピュータ2の機首方向出力部23は、ステップS3にて推定された機首方向を示す機首方向情報をフライトコントローラ3に出力する(ステップS4)。
【0058】
コンパニオンコンピュータ2の擬似測位部24は、ステップS3にて推定された位置を擬似的な緯度、経度及び高度によりに表した擬似測位情報を求めてフライトコントローラ3に出力する(ステップS5)。
【0059】
コンパニオンコンピュータ2の壁面検出部26は、図7に示す動作を実行して壁面検出を行う(ステップS6)。以下、図7に示す動作を説明する。
【0060】
壁面検出部26は、飛行方向の左右90度方向に、測域センサ4による障害物検出の方向を設定する(ステップS61)。
【0061】
壁面検出部26は、測域センサ4を制御して、設定した検出方向について障害物の検出を行い、障害距離以内に障害物が存在するか否かを判定する(ステップS62)。
【0062】
障害距離以内に障害物が存在しないと判定したとき(ステップS62:No)、壁面検出部26は、壁面が検出できなかったものとして壁面検出の動作を終了し、ドローン1は図6のステップS7からの動作を引き続き実行する。
【0063】
障害距離以内に障害物が存在すると判定したとき(ステップS62:Yes)、壁面検出部26は、検出した地点を障害物存続開始点とする(ステップS63)。
【0064】
壁面検出部26は、飛行方向へ近づくように測域センサ4による障害物検出の方向を設定する(ステップS64)。
【0065】
壁面検出部26は、測域センサ4を制御して、設定した検出方向について障害物の検出を行い、障害距離以内に障害物が存在するか否かを判定する(ステップS65)。
【0066】
障害距離以内に障害物が存在しないと判定したとき(ステップS65:No)、壁面検出部26は、壁面が検出できなかったものとして壁面検出の動作を終了し、ドローン1は図6のステップS7からの動作を引き続き実行する。
【0067】
障害距離以内に障害物が存在すると判定したとき(ステップS65:Yes)、壁面検出部26は、ドローン1から検出した障害物までの距離が漸増しているか否かを判定する(ステップS66)。
【0068】
障害物までの距離が漸増していないと判定したとき(ステップS66:No)、壁面検出部26は、壁面が検出できなかったものとして壁面検出の動作を終了し、ドローン1は図6のステップS7からの動作を引き続き実行する。
【0069】
障害物までの距離が漸増していると判定したとき(ステップS66:Yes)、壁面検出部26は、ドローン1から検出した障害物までの距離が障害距離であるか否かを判定する(ステップS67)。なお、完全に障害距離と一致する必要まではなく、例えば検出した距離と障害距離との差が予め定めた誤差範囲内(10センチメートル、15センチメートルなど)であれば、ドローン1から検出した障害物までの距離が障害距離であると判定してよい。
【0070】
ドローン1から検出した障害物までの距離が障害距離ではないと判定したとき(ステップS67:No)、壁面検出部26は、ステップS64からの動作を繰り返す。
【0071】
ドローン1から検出した障害物までの距離が障害距離であると判定したとき(ステップS67:Yes)、壁面検出部26は、検出した地点を障害物存続終了点とする(ステップS68)。
【0072】
壁面検出部26は、障害物存続開始点から障害物存続終了点までを、連続した壁面として検出する(ステップS69)。そして壁面検出部26は、壁面が検出できたものとして壁面検出の動作を終了し、ドローン1は図6のステップS7からの動作を引き続き実行する。
【0073】
再び図6を参照する。コンパニオンコンピュータ2の飛行方向決定部27は、ステップS6での壁面検出部26による検出結果に基づいて、ドローン1の新たな飛行方向を決定する(ステップS7)。具体的には、上述のとおり、飛行方向決定部27は、左右90度となる方向のうち壁面が検出されなかった方向にあるドローン1までの距離が障害距離となる地点と障害物存続終了点とを結びドローン1を中心とする円弧を二分する方向を、ドローン1の新たな飛行方向として決定する。ただし、壁面検出部26が壁面を検出できなかった場合、飛行方向決定部27は、現在の飛行方向をそのまま新たな飛行方向として決定する。
【0074】
コンパニオンコンピュータ2の飛行計画修正部28は、飛行計画データが示す飛行ルートと、ステップS5にて擬似測位部24が求めた擬似測位情報と、ステップS7にて飛行方向決定部27が決定した新たな飛行方向に基づいて、飛行計画を修正する(ステップS8)。
【0075】
コンパニオンコンピュータ2の飛行指令部25は、ステップS8にて飛行計画修正部28が修正した飛行計画に基づいて、ドローン1が飛行移動すべき位置を決定し、決定した位置への飛行をフライトコントローラ3に指令する(ステップS9)。
【0076】
ドローン1のフライトコントローラ3は、図8に示す動作を実行してドローン1の飛行制御を行う(ステップS10)。そしてドローン1は、ステップS1からの動作を繰り返す。以下、図8に示す動作を説明する。
【0077】
フライトコントローラ3の擬似コンパス部31は、図6のステップS4にて出力された機首方向情報に基づいて、擬似的な磁束密度である擬似磁束密度を求める(ステップS101)。
【0078】
出力部33は、ステップS101にて求められた擬似磁束密度と、図6のステップS5にて求められた擬似測位情報とを飛行制御部34に出力する(ステップS102)。
【0079】
フライトコントローラ3の飛行制御部34は、ステップS102にて出力部33から出力された擬似磁束密度及び擬似測位情報と、図6のステップS9での飛行指令部25からの飛行指令とに基づいて駆動部7を制御する(ステップS103)。飛行制御部34が駆動部7を制御することにより、飛行指令部25による飛行指令に従ってドローン1は飛行移動する。そしてドローン1は、図6のステップS1からの動作を繰り返す。
【0080】
以上、実施の形態に係るドローン1を説明した。ドローン1によれば、壁面検出部26により検出された壁面に基づいて飛行方向決定部27が新たな飛行方向を決定し、擬似的な磁束密度である擬似磁束密度と、擬似的な測位情報である擬似測位情報と、新たな飛行方向とに基づいてドローン1の飛行制御が行われる。したがって、ドローン1によれば、衛星測位及び地磁気検出に依らずに、壁面の存在する環境下での自律飛行が可能となる。
【0081】
また、フライトコントローラ3として市販のフライトコントローラを採用する場合、ドローン1のユーザは、フライトコントローラ3のハードウェア構成及び飛行プログラムP32を変更することなく、ドライバプログラムP31を作成することにより、ドローン1を構成することができる。また、コンパニオンコンピュータ2の各機能についても、一般的なマイクロコントローラが動作プログラムを実行することにより実現される。したがって、ドローン1によれば、壁面の存在する環境下での自律飛行を低コストに実現できる。
【0082】
(変形例1)
実施の形態では、フライトコントローラ3が擬似コンパス部31を備えるものとしたが、コンパニオンコンピュータ2が擬似コンパス部31と同様の機能部を備え、フライトコントローラ3は擬似コンパス部31を備えないものであってもよい。
【0083】
例えば、図9に示すように、コンパニオンコンピュータ2が擬似コンパス部29を備え、フライトコントローラ3は擬似コンパス部31を備えないものであってもよい。擬似コンパス部29は、推定部22が推定した環境地図上における機首方向に基づいて、実施の形態の擬似コンパス部31と同様にして擬似磁束密度を求め、求めた擬似磁束密度をフライトコントローラ3に出力する。擬似磁束密度は、出力部33により処理されるため、図9では擬似コンパス部29から出力部33に出力されるように図示している。
【0084】
(変形例2)
上記の実施の形態では、障害距離が一定の距離であるものとして説明した。これに代えて、飛行計画データが示す地下トンネルの地図に基づいて障害距離を可変なものとしてもよい。例えば、地下トンネルの一部に幅が狭い箇所があるとする。このような幅が狭い箇所を予め検出し、その箇所の近辺を通過する際には障害距離を通常よりも小さくなるように設定してもよい。つまり、ドローン1が飛行する地下トンネルの地図を示す情報に基づいて障害距離を可変としてもよい。
【符号の説明】
【0085】
1 ドローン、2 コンパニオンコンピュータ、3 フライトコントローラ、4 測域センサ、7 駆動部、21 地図作成部、22 推定部、23 機首方向出力部、24 擬似測位部、25 飛行指令部、26 壁面検出部、27 飛行方向決定部、28 飛行計画修正部、29 擬似コンパス部、31 擬似コンパス部、33 出力部、34 飛行制御部、201 プロセッサ、202 メモリ、203 インタフェース、204 二次記憶装置、301 プロセッサ、302 メモリ、303 インタフェース、304 二次記憶装置、B2,B3 バス、P31 ドライバプログラム、P32 飛行プログラム
図1
図2
図3
図4
図5
図6
図7
図8
図9