2017年12月27日水曜日

MBZIRC 2017

2017年中にまとめておきたく,2017年3月に開催され,競技者として出場してきたMBZIRCへの取り組みを書いてみました.

Second Progress Reportに向けた試験飛行 (富士川にて)

まとめ

  • MBZIRC2017 Challenge 1に参加
  • UAV初挑戦のためなるべくシンプルに機体・システムを開発
  • 本番では結果を出せず技術的にも運営的にも反省点多数だが勉強にもなった


    MBZIRC2017

    Mohamed Bin Zayed International Robotics Challenge (MBZIRC2017) というアブダビ(UAE)で開かれたロボット大会に Project C.G.S として参加.
    チャレンジは4つに別れており,大まかな内容は以下. (詳細は公式HP参照)
    • Challenge 1
      UAV1台を使用し,フィールドトラック上を走る車両に取り付けられた着陸地点に着陸.
    • Challenge 2
      UGV1台を使用し,フィールド上のバルブ軸付きパネルを探し,適切なツールでバルブ操作.
    • Challenge 3
      UAV最大3台を使用し,フィールドに置かれたオブジェクトを指定された場所に運搬.
    • Grand Challenge
      上記1〜3を同時に行う

    この中で,我々は本大会にてChallenge 1に参加.

    チームについて

    我々 Project C.G.S はWMMCのOBで構成される社会人ロボットサークルで10名が所属している.バックグラウンドはつくばチャレンジ,マイクロマウス,NHK大学ロボコンなどの自律移動系の地上ロボット中心で,UAV/飛行ロボットは初挑戦であった.今回,MBZIRC2017に対しては主要開発が3名+連絡・輸送担当1名+実験・開発サポート3名で活動した.

    チーム目標の設定

    参加登録時点では,審査が通ればスポンサから資金援助ということもあり全チャレンジ参加,自律動作での課題達成を目標に参加登録を行った.
    審査の結果はスポンサ枠なしでの通過となり,また開発工数の都合によりChallenge 2 & 4を途中で断念.その後,First Progress Reportの結果によりChallenge 3が落選となった.
    2016/8以降は上記結果より,Challenge 1の自律動作での課題達成に目標を絞り活動した.

    大会までの流れ

    公式Timeline (実績ベース)
    • 2015-06 Call for Intension to Participate
    • 2015-11 Call for Prososals (Chal. 1 ~ 4で登録)
    • 2015-12 Selection of Teams (スポンサなし枠で通過)
    • 2016-01 Confirmation to Participation
    • 2016-07-31 First Progress Report (Chal.1, Chal.3で登録)
    • 2016-08 First Progress Report Judge (Chal.1通過, Chal.3落選)
    • 2016-11-30 Second Progress Report
    • 2016-12-15 Second Progress Report Judge (通過)
    • 2017-03-16 MBZIRC 2017

    First Progress Report (July 31th, 2016)


    UAVのChal.1 & 3に絞りレポート・動画を作成.審査の結果,Chal.1のみ通過.この時点ではマニュアルでの飛行(Chal. 3用機体)および,PIDによる位置制御を利用しての指定位置への機体移動程度が自律でできている.

    Second Progress Report (Nov. 30th, 2016)


    この時点で,ソフトの要素レベルでは課題の達成に必要な項目が一応出揃っており,シミュレータ上では離陸から探索,目標への着陸まで一連の動作ができている.着陸目標の認識・位置同定もシミュレートできていないものの実機では動作確認できている.一方,機体の誘導は前回レポートから大した進展がなく位置制御に頼っておりぎこちなさがある.また,着陸時に台座の鉄板に機体を固定するための電磁アンカもまだ実装できていない.

    MBZIRC2017


    現地リハーサルの様子

    2017年に入ってからも本番直前まで開発を進め,誘導や目標追跡アルゴリズムの更新や実機でのシステム調整などを行い本番用の機体・システムとした.
    本番近くの動画はいつか追加したいが現状準備出来ておらず...

    私自身は仕事の都合で2017年1月にフィリピンに赴任し,VISA申請の都合で現地入りできず泣く泣く現地入りを諦め,遠隔でのサポートに回った.(フィリピンVISA申請中はフィリピン外に出れず,また3ヶ月程度要す)
    一方で,現地ではなく開発環境の整った自宅からサポートをしたことの利点もあった.移動やセットアップなどの現地のドタバタ感に影響されず,届くデータの解析・プログラムへの反映に集中できた.もちろん,現場感が分からない・リアルタイムな判断ができないデメリットもあるので離れすぎは良くないが,全体目線としては比較的冷静な判断も行えたと思う.

    開発したドローン

    機体・ハードウェア

    ドローン外観
    チャレンジ時間が20分であったことから,航続時間20分かつ必要な装備を搭載できるように機体設計をした.(後述するが,この要件設定にミスがあるのだが...)
    比較的大きいプロペラを使い航続時間を伸ばしている分,機動性が犠牲となっており風に揺られやすく急な運動変化に対する応答性が悪いというデメリットがある.

    機体中央部の銀色はアルミホイルでこれはノイズ対策である.カメラがアクティブになりUSB3.0の通信が開始されると,GPS信号がとれなくなる問題への対応である.

    参考までに,大まかなフレーム・アクチュエータ・センサ構成は以下です.ノウハウがないため,壊れること前提でなるべく安価かつ入手性の良い部品を選定.

    Type Model
    Drone Frame Bumblebee Carbon Fiber Quadcopter Frame 550mm
    Battery Multistar LiHV 5200mAh 3S 10C (x2 in parallel)
    Motor Sunnysky v2216 kv800
    Propeller ATG1238
    Companion Computer Odroid XU4 w/Lubuntu 16.04
    Flight Control Unit Pixhawk w/PX4 Flight Stack v.1.4.4
    ESC ARRIS SIMONK 30A 2-6S OPTO
    Camera oCam
    GPS Ublox Neo-M8N GPS w/Compass
    Alt. Range Sensor LiDAR Lite v.3
    Electromagnetic Anchor Self-making w/ZYE1-P20/15

    システム・ソフトウェア

    MBZIRC Chal.1 システム構成
    UAV未経験ゆえ,シンプルに課題達成に必要最小限のシステムを構成を目指して開発した.グローバルな位置推定や機体の姿勢・速度制御はFCU/PX4に任せ,認識やドローンの移動に関するモジュールを独自開発した.なお,独自開発モジュール群についてはROSを使用しPX4との通信はmavrosを用いた.
    着陸目標はHOG特徴量のAdaBoostによる識別器を使用しカメラで取得した画像から検出した後,地表から1mの高さにあることを前提に画像座標系からマップ座標系に変換を行う.機体の誘導は水平方向は指定軌道に対してPure Pursuitでの追従を,高度はP制御により指定高度に維持している.

    チャレンジ1 システム状態遷移図
    チャレンジにおける機体システムの状態遷移は上の図のとおりである.スタート待ち (Ready) から,スタート信号でArmし離陸 (Take Off).探索高度まで上昇したところで (Climbing) ,高度維持をONにしてトラックを巡回探索 (Exploration).着陸地点を見つけたら追跡しながら高度を下げ (Tracking),ある程度着陸地点に近づいたら電磁アンカをONにして着陸 (Landing),着陸次第Disarmする (Stopped).

    大会結果

    結果はスコアなし
    一回目のトライ中,着陸目標を認識して追跡を開始した後にフィールドに発生した上昇気流に流されフィールドの外に.結局フィールドに戻して着陸させることができずにマニュアル操作により川へ落とし機体をロスト,二回目のトライはできず.技術力不足・経験不足が招いた結果となった.

    所感・反省

    正直かなりしんどかったが,その分面白かった.反省点は細かなものを含めるとかなりの数があるが,以下に個人的に重要と思っているものを挙げる.技術的というよりは,開発・運営面中心で.
    • 社会人でも新しいことにチャレンジできる
      個人としてはやる気と時間のやり繰り.チームとしては,各人の可能な範囲での参加.基本的にメンバには恵まれた.
    • ドローン実験の難しさ・不慣れ
      「ドローンを飛ばす場所」を探すことがそもそも難しかった.着陸目標のダミーを広げられる空間,そして安全が確保できる飛行場が必要だった.そして,当然ながらドローンをマニュアルで操縦できる人の参加が必要.あと旅費...
    • 「ロボット大会慣れ」の弊害
      チームが経験してきたロボット大会において,「バッテリ交換可能」という大会がなく,その可能性を検討することなく航続時間優先に機体を設計してした.一方現地を見ると機動性が高い機体が多く,途中でのバッテリ交換,またリスタートやマニュアル操縦への切り替えるチームも多くいたように思える.思い込みにより選択肢を自ら狭めてしまっていた.思い込み禁物.
    • システム動作の理解者不足
      現地組にシステム動作を理解している人が一名しかいなく負担が集中していた.結果として本番のイレギュラ動作時の判断が遅れた可能性がある.最低限の動きは全員知っておくべきであった.なお,そもそもの経験値の差もあると思うが,我々の直後にトライしたチームも上昇気流に流されていたが,判断が早くフィールド外に流れる前に機体を落とせていた.

    今後について

    開発体制を整え,技術力を伸ばしてぜひとも次回大会にも参加したい.(もう3人は主開発増やせそう)
    技術開発は当然として,運用体制としてマニュアルでのドローン操縦者,そしてシステム動作を理解する人を増やす.そして,フェールに対する備えもしっかり行ったうえで,次回大会でも本戦に出場し,そして次こそトップでの課題達成を狙いたい.(目標はあくまで野心的に)

    0 件のコメント:

    コメントを投稿