※本飛行テストは、GPSが利用できない室内や地下でもドローンの自動巡回を可能にさせる方法として、マーカーを活用した画像処理による自律飛行の有効性を検証するために行ったものです。

※本飛行テストの開発環境や実際に使用したArUcoマーカーについては、技術情報ページに詳しく記載しています。

飛行概要

  • 飛行日: 2018年10月19日
  • 飛行機体: Parrot Bebop 2
  • 飛行目的: 小型ドローンの屋内自律飛行テスト(同一室内での自動巡回)の検証
  • 許可申請: 不要

マーカーについて

今回の飛行テスト(STEP1)では、あまり飛行アルゴリズムが複雑にならないよう、マーカーの設置ルールを次のように設定しました。

設置ルール

  • マーカーは、飛行ルート上の方向転換ポイントに設置する
  • 方向転換のパターンは、上下および左右方向のみとする
  • 最初に認識させるマーカーは、離陸後、最初に視野に入ったマーカーとなるよう設置する
  • 次に認識するマーカーは、方向転換中に最初に視野に入ったマーカーとなるよう設置する
  • 目的地点には、着陸指示用のマーカーを設置する

また、使用したArUcoマーカーは、マーカーサイズ6×6(コード部分は4×4=16ビット)の最もシンプルなものを使用しました。

マーカーサイズ6×6
上段左からID=0~4、下段左からID=5~9

飛行プログラムについて

マーカーの設置ルールに合わせた飛行制御の手順は以下の通りです。

飛行制御の手順

  • 離陸後、最初に認識したマーカーを1つ目のターゲットとする
  • ターゲットのマーカーを認識後、まずマーカーを基準に、高度と左右位置を調整する
  • 高度と左右位置の調整が完了後、マーカーに向かって前進を行う。
  • 指定された壁からの距離まで到達後、その位置で方向転換または着陸を開始する。
  • 方向転換中、最初に認識したマーカーを次のターゲットとする。

また、狭い空間では複数のマーカーが同時にカメラ視野に入ってしまう場合があるため、次の優先条件により、ターゲットを選択させました。

ターゲット選択時の優先条件

ドローンに対し最も正面にあるもの(マーカーの歪みが小さいもの) > サイズが最も大きなもの > 画面中央に最も近いもの

さらに、壁との衝突を回避するため、次の対策も組み込みました。

飛行中の安全策

  • ターゲットとの距離が遠いほど移動速度や回転速度は大きく、近いほど小さくする。
  • ターゲットに近づきながら常に壁との相対角度をチェックし、角度のズレが大きい場合は修正する。
  • 壁に近づきすぎてしまった場合、安全な距離まで後退してから次の動作を開始する。
  • 前進中にターゲットを見失った場合は前進をやめ、ホバリングを行う。
  • ホバリングまたは方向転換中、一定時間ターゲットが見つからない場合はその場で強制着陸する。

検証結果

ArUcoマーカーを活用することで、マーカーの認識精度については問題がないことがわかりました。また、マーカーのサイズからドローンと壁との距離や相対角度も正しく取得することができたため、想定した飛行ルートを外れることなく着陸ポイントまで飛行が行えました。

ArUcoマーカーの認識精度について

マーカーの認識精度が非常に高く、今回の室内飛行ではマーカーが認識された場合の誤検出についてはゼロでした。そこで、どのような場合に認識が行えなくなるのかについて、調べてみました。

歪みと解像度の影響

壁にIDが0~9までのArUcoマーカーを貼り、壁に対して平行に近い角度のカメラから撮影した結果です。ほんの一部であっても画面上見切れてしまったマーカーについては認識されませんでした。また、奥にあるマーカーが認識されなかったのは、歪みの影響というよりも十分な解像度が得られていない(ピントが合っていない)ことなどが影響しているものと思われます。光の加減でマーカーにテカリが発生した場合も認識できなくなりました。

ArUcoマーカーの歪みの検証

次は印刷時のサイズが12.5cm四方のマーカーをおよそ5m離れた場所から撮影した結果です。カメラにはそれぞれ縦が13ピクセルと15ピクセルで撮影された2つのマーカーが、どちらも正しく認識されていますことがわかります。マーカーサイズ6×6のArUcoマーカーの場合、10ピクセル程度まで小さくなると認識できなくケースが発生するため、このサイズが(正面から認識させた場合の)限界点のようです。

ArUcoマーカーの解像度の検証

安全な飛行ルートと飛行時間について

今回の飛行アルゴリズムでも、壁や天井に衝突することなく、おおよそ想定した飛行ルートを辿ることが確認できました。ですが、軌道を詳しく確認して見ると複数の無駄な動きも見られるため、この点については飛行制御のアルゴリズムを改善してく余地があります。

また、現時点では安全性を優先しているためやや慎重な動きとなっているため、飛行速度は十分早いとは言えない結果になりました。こちらについては、安全性との兼ね合いを見て今後改善してく予定です。

俯瞰から見た飛行ルートの軌跡(STEP1)

今回は、ID1のマーカーを右ターン用、ID9のマーカーを着陸用として使用しました。

飛行ルートの軌跡_STEP1

今後の計画について

狭い空間でも安全に飛行できるようするため、STEP2では複数のArUcoマーカーを組み合わせることで、より複雑な指定ができるよう、マーカーの設置ルールを見直します。

また、目標となるマーカーまでの距離が十分ある場合に限り、機体制御と前進を同時に行えるようにするなど、飛行時間の短縮も検討する予定です。

さらに、ArUcoマーカーの特性を活かした障害物の検知についても、有効性の確認を行います。