株式会社 車輪の再発見

Deploying Drones for the Enterprise

メニュー

Autoparrot (open source)

自動飛行アプリケーション

『Autoparrot 』Android用Drone自動飛行アプリケーションの紹介

Parrtor Bebop2 Drone の機首カメラを下向きにコントロールし、Wi-Fi 2.4Ghz で送信されてくるライブ動画を Android tablet 端末で色や形状から解析した機体制御データを Wi-Fi 2.4Ghz で Drone に送りリアルタイムで自動飛行させています。

Tablet 端末にソフトウェアをインストールするだけでハードウェアの追加は必要ありません。
一台の Drone で Burret time one Camera のような時を止める映像を実現します。

Autoparrotの実験

get_it_on

oky_with_you

Instruction of –Autoparrot – a Drone automatic flying appilication.
A head camera face down controlled Parrtor Bebop 2 Drone sends a live movie to an Android tablet terminal on Wi-Fi2.4Ghz radio wave.
Android tablet terminal will analyze the target’s color and shape and send back an airframe suppression data on Wi-Fi2.4Ghz to the Drone to complete an automatic aviation.

You only need to install a program to the Tablet terminal, without add any hard ware.
Just one Drone will realize you a still image like Burret time one Camera.

『Autoparrot』Android用无人机自动驾驶应用软件的介绍。

一架机头相机控制在下俯视状态的Parrot Bebop2无人机用Wi-fi2.4Ghz电波把现场画面传给平板式计算机。
平板计算机在分析目标颜色以及形状后把机体控制数据通过Wi-Fi2.4Ghz电波传回给无人机,成立自动驾驶。
只需在平板电脑内安装软件,无需增加任何硬件装备。

一架无人机即可实现类似Burret time one Camera一样的静止画面。

オートパロット取扱説明書

r.0.70.1-001


目次

はじめに

オートパロット(Autopattot)はパロット社製ドローンBebop/Bebop2を操縦するためのアプリです。
機体からのライブ映像を画像解析することでラインに沿って飛行することが出来ます。23autopilot
しかし、オートパロット(Autopattot)を利用する場合でも、飛行にあたっては、電波障害、マーカー認識の不達成、環境変化による認識の困難化、 未知のソフトウェアのバグ、ハードウェア障害、他の飛行物体による影響、認知不能な静止物体との衝突等、オートパロット(Autopattot)が対応不可能なリスクが多く存在しています。26case_of_need
またオートパロット(Autopattot)は未熟な操縦者の操縦技能の補助を目的としたものでもありません。
そのためオートパロット(Autopattot)を使用する場合でも、無人で飛行させたり、ドローンの操作に長けていない方が飛行させたりすることは、絶対に止めてください。
操縦に習熟した方が常時オートパロット(Autopattot) による飛行を監督し、問題が発生したときには、すぐに人間による操縦に切り替えてください。25proper_judgment
オートパロット(Autopattot)は常に操縦者の手動操作を優先します。
リスクが現実となって、ドローン自体、ドローンの操作者、第三者に何らかの損傷、損耗、怪我等が発生したとしても、オートパロット(Autopattot)の提供元はその責任を負うことができません。
万が一オートパロット(Autopattot)によってコントロールされたドローンが第三者に損害を与え、当該第三者がオートパロット(Autopattot)の提供元に損害賠償請求をした場合には、オートパロット(Autopattot)の使用者が先立って全額の補償をし、オートパロット(Autopattot) の提供者を完全に免責していただきます。18concentration
このことを了承できる場合にのみ、オートパロット(Autopattot) を使用してください。 オートパロット(Autopattot) を使用する場合でも、ドローンの操縦の主体はオートパロット(Autopattot)の使用者です。ドローンの飛行の前に、オートパロット(Autopattot)の使用者自らの責任において、航空法に準拠して飛行できるか、 飛行場所の管理者の承諾があるかを確認をしてください。他人のプライバシーを侵害する利用方法は許容されません。16privacy2
またドローンの提供元が定めている免責事項・利用条件及び各種の制限事項は、オートパロット(Autopattot)を使用する場合でも継続して適用されます。

[目次へ戻る]

法令遵守

ドローンの飛行に関する法令等を尊守し一般的な注意事項に従ってください。

[目次へ戻る]

安全確保

法令遵守は勿論ですが、周囲の物・人から十分な距離を確保して飛ばしましょう。
せっかくの楽しいおもちゃも怪我をしてしまっては台無しです。怪我するのが本人なら自業自得とも言えなくはないですが他所様に怪我でもさせてしまったら。特に小さなお子さんのいらっしゃる家庭ではどう動くかわからない子どもとどう動くかわからないドローン(原因はあなたの誤操作かもしれませんが)の最強タッグを前にしてはちょっとやそっと距離など真夏のビールの泡も同然、こんなはずではなかったと嘆く前に中断する勇気も必要です。

  • 飛行前点検をしましょう。
    • 羽根はきちんと装着されていますか?
    • 羽根が曲がったり欠けたりしていませんか?
    • モーターの軸が曲がってないですか?
    • モーターの軸にごみ(髪の毛とか)が絡まってなせんか?
    • 機体のねじ等が緩んではいないですか?
    • 電池は充電しましたか?
      • 電池はフル充電の状態から30%ぐらいまで使用したら充電しましょう。
      • ギリギリまで使うと電池の寿命がすごく短くなります。
      • 一度30%とかそれ以下になった電池は充電しなくてもしばらく置くと高めに残量表示されますが、その状態で飛ばすと過放電になりやすく電池寿命が短くなるのであきらめて充電しましょう。
      • 使わない時は半分ぐらいまで充電して機体から電池を取り外しておきましょう。
      • 複数の電池を用意して連続して飛ばす時は、電池交換のたびに10分程度ずつ休ませたほうが機体やモーターの過熱による不具合発生(暴走とか)を防げます。32charging_condition
  • 周囲の物・人から十分な距離をとりましょう。
  • 操縦に使う以外の携帯/スマホ等の電源は切るか機内モードにしましょう。21restriction
  • オートパロットはライブ映像の画像解析を行うため端末の性能を極限まで要求します。性能の低い端末では直ぐに熱くなってしまうことがあります。端末が熱くなりすぎると動作が不安定になることがありますので一旦休憩しましょう。
  • 余裕を持って飛ばしましょう。
    いきなり自分の限界に挑戦するような事をしてはいけません。例えば次のような余裕を意識しておきましょう。29beside_oneself

    • 飛ばす場所・環境の余裕…狭い場所や人の近く、風が強い時は移動するか日を改めましょう。19flight_condition
    • 電池の余裕…夢中になって飛ばしているとあっという間に電池がなくなるものです。特に遠くに飛ばすと戻ってくるのにも行きに掛かったのと同程度の時間・電池が必要ですからね。31battery_dead
    • 飛ばすあなたの心の余裕
      心の余裕がなくなれば電池や周囲の状況に気を配ることも出来ません。24easy_control

[目次へ戻る]

Bebop/Bebop2でライントレース

オートパロットは機体からのライブ映像を画像解析することでラインに沿って飛行する事が出来ます。ただし、Bebop/Bebop2から送られてくるライブ映像は数百ミリ秒以上の遅延があります。また機体搭載のカメラの制限や飛行速度が速すぎるなど様々な原因によりラインを見失うこともあります。このため100%正確にライントレース飛行することは保証できません。常に機体と周囲に注意しラインからはずれた場合、あるいは危険と判断した場合には速やかに手動操縦に切り替えてください。オートパロットはライントレース中であっても操縦者の手動操作を優先するようになっています。

準備

  • おおよその飛行高度をあらかじめ決めておく。 地面の色・状態、光の当たり具合などによりますが、市販の50mm幅のカラーテープですと高度2-3m程度までライントレース可能です。飛行高度が低すぎる場合には地面効果や機体の高度測定・制御の精度などにより高度が安定しない場合があります。逆に飛行高度を高くし過ぎるとライン幅を太くしないと認識できなくなりますし、映像に映る範囲が広くなりますので周囲に存在する思わぬものをラインと認識してしまう可能性も高くなります。linet
  • 地面とはっきり区別できるラインを準備する必要があります。 色とライン幅が重要です。周囲に存在しない色を選択する必要があります。白や黒は色抽出に不向きですので避けたほうが無難です。曇天では蛍光色も使用可能ですが陽が射す屋外で蛍光色を使用すると輝度が高くなりすぎて機体のカメラ設定が対応できない場合があります。
  • ライブ映像の画面で確認しながらカメラ設定・解析条件等を調整します。
  • Bebopの場合にはカメラを下方に向けた際の映像の歪が大きいため台形補正を行ってください。

[目次へ戻る]

基本的な操作方法

ゲームパッドを繋ごう

姉妹アプリであるエースパロットも同じですが、USBゲームパッドを接続することで操作性・操縦性が格段に向上します。確認済みゲームパッド
ただし、エースパロットと異なりタッチ操作による操縦に対応していないためUSBゲームパッドの接続が必須となります。

  • ご使用の端末がUSBホスト(OTG)機能に対応していない場合には使用できません。
  • 確認済みゲームパッドに記載されていない場合も使用可能な場合があります。ただしあらかじめ動作を確認し正常に動作することを確かめた上で使用してください。
  • いざという時に慌てないためにもUSBホスト(OTG)ケーブル/変換コネクタは信頼できるものを使用してください

[目次へ戻る]

画面

初回アプリ起動時および端末のアプリ設定からデータを消去後の最初の起動時には使用許諾画面になります。使用条件に同意できない場合には使用できません。
その後アプリならびにドローン飛行の際の注意事項等が表示されます。

起動画面

connect
アプリを起動するとこの画面になります。この画面では周囲に存在する機体…パロット社のBebopおよびBebop2の探索を行い見つかった機体をリスト表示します。 最初に見つかった機体が自動的に選択されていますが、複数の機体が見つかった場合にはその機体名にタッチすることで選択状態を切り替えることが出来ます。 機体が見つからない場合には端末のWiFi設定で接続先の機体が選択されているかどうかご確認ください。機体と端末の接続についての詳細は機体の取扱説明書等をご確認ください。

機体を選択すると下部に4つのアイコンが表示されます。いずれのアイコンにタッチしても機体へ接続しライントレース画面に移動します。
ライントレースを行うには様々設定を行う必要がありますが、各アイコン毎に独立した設定を保持していますので、どのアイコンにタッチするかによって設定を切り替えることができます。

なお画面左上の歯車のアイコンにタッチするとアプリ設定画面に移動します。

[目次へ戻る]

ライントレース画面

linetrace_02

  1. 電池残量
    機体の電池残量を表示しています。残量が30%程度になれば飛行を終了して充電または充電済みの電池と交換してください。
  2. 非常停止 機体へ非常停止指示を送ります。飛行中押すと墜落します。
  3. フラットトリム・機体調整
    上部中央にはフラットトリム・機体調整アイコンがあります。 短く押すとフラットトリムを実行します。カメラ映像と機体の傾きが一致しない時などに水平な場所に機体を置いて実行してください。
    長押しすると機体の磁気センサーの調整画面に移動します。精度良く飛行させるには飛行させる場所毎に行うほうが良いでしょう。調整結果は機体内に保存されますのでここで調整する代わりに純正アプリで調整しても構いません。なお、磁気センサーの調整は周囲に存在する磁性体…例えば鉄製構造物や建物の鉄筋などの影響を受けます。できるだけ飛行状態に近い場所で調整しましょう。
  4. 離陸・着陸
    下部中央には離陸・着陸指示ボタンがあります。誤操作防止のため長押ししないと離陸しません。
  5. ライブ映像
    左上部には機体から受信したライブ映像を表示します。
  6. 解析映像
    左下部には解析後の映像を表示します。ここでのスクリーンショットにはテスト用の映像解析結果が表示されていますが、設定が正しく行われていなければ何も表示されない場合があります。
  7. 解析映像切替
    画面上部の薄紫色の帯部分にタッチすると解析映像の表示モードを変更することが出来ます。
    通常はこのスクリーンショットで表示している解析結果付き解析後映像を表示していますがタッチするたびに交互に次の2種類に切り替わります。

    • 解析後映像に解析結果を書き込んで表示
    • 元映像に解析結果を書き込んで表示
  8. 設定
    ここには機体側のカメラ設定・映像処理設定などライントレースに必要な各種設定が表示されます。上部の「カメラ設定」「映像処理設定1」などが表示されている箇所(ヘッダー部)を横スライドすることで設定内容を切り替えることが出来ます。
  9. 色抽出枠
    色抽出を行う際にこの枠内の色の平均値・標準偏差値を取得して設定することが出来ます。詳しくは色抽出設定の項をご参照ください。
  10. CPU負荷表示 画面下部にはCPU負荷を表示しています。左から瞬間値・3秒平均値・全平均値になります。
    端末の種類によりますがここの値が50を超えるようですと動作が不安定になることがあります。
    ここで表示されている値は絶対値ではなく、CPUの現在の最大クロック数に対する現在のCPUクロック数の比をパーセント表示したものです。つまり端末の最大クロック数がスロットリングにより制限されると必然的に値が大きくなります。
  11. フレームレート表示
    上段の数字が受信したライブ映像の表示フレームレート、下段の数字は解析映像の表示フレームレートです。
    解析映像の表示フレームレートは1秒間に行った映像解析の回数と同じです。下段の数字が15程度(約67ミリ秒間隔)までであれば飛行可能ですが、10(100ミリ秒間隔)を下回るようですと安定した飛行は望めません。
  12. カメラ操作等
    上から順に次のようになっています。

    • 静止画撮影
    • 動画撮影
      Bebop/Bebopの現行ファームウエアではデフォルトで離陸と同時に動画撮影開始し着陸と同時に撮影終了する設定になっていますので、変更していなければ使う必要はありません。
    • ライントレース飛行の有効/無効切替
      飛行中にライントレース制御を切り替える場合、あるいはラインを見失ってしまいライントレース制御が解除されてしまった場合に手動操作でライン上空へ移動させてライントレースを再開する時などにしようします。
  13. 解析結果
    解析結果を数字で表示しています。
  14. アプリ設定
    右上の歯車のアイコンにタッチするとアプリ設定画面に移動します。

[目次へ戻る]

設定画面

settings_app_1この画面ではアプリ内に表示される各種アイコンの種類を変更できます。
「機体色設定」と「操縦画面のアイコンを自動的に非表示」 設定は本アプリでは無効です。

settings_app_2このアプリではBebop/Beop2を制御するためのパロット社のARSDKとライブ映像の解析を行うためにOpenCVという2つのオープンソースソフトウエアを使用しています。この画面では各ソフトウエアのライセンス表示を行います。

[目次へ戻る]

飛行設定方法

ここで表示される値は全て機体に保存されているものです。またここで設定値を変更すると機体側に保存されている値も変更されます。このため純正アプリでの設定値も変更されることになります。

  • 最大高度[m]
    機体が飛行可能な最大高度[m]を設定します。
  • 最大斜度[°]
    ドローンは機体を前後左右に傾けることによって移動します。ここでは前後左右へどの程度傾けるかを設定します。
    最大斜度が大きければ最大飛行速度が早くなり、最大斜度を小さくすると最大飛行速度が遅くなります。ただし最大斜度を小さくしすぎるとライントレース飛行が上手く出来ない場合があります。
  • 最大垂直速度[m/s]
    上下方向に移動する際の最大速度を設定します。
  • 最大回転速度[°/s]
    機体が水平回転する際の最大回転速度を設定します。最大回転速度を小さくしすぎるとライントレース飛行が上手く出来ない場合があります。

[目次へ戻る]

ライントレース設定方法

ライントレースの際には機体からのライブ映像へ画像処理を行いラインを検出してそれに沿って飛行するように制御しています。
ラインの検出は主に色抽出と直線/曲線フィッティングによって行っています。ライントレースを上手く行えるかどうかは主に色抽出設定(とそれと関係したカメラ設定・映像の前処理設定)でほぼ決まると言っていいでしょう。

設定手順としては基本的に次の順に行います。

  1. 機体側カメラ調整
  2. 色抽出調整
  3. (2値化閾値調整)
  4. ライン検出設定調整
  5. 飛行設定調整

機体側カメラ設定

Bebop/Bebop2搭載のカメラの制限により次のような事を考慮して設定する必要があります。

  1. 高度が変わるとライブ映像の輝度や色調が変化しラインを見失う可能性が高くなります。
  2. 太陽に対する機体の向きが変わるとライブ映像の輝度や色調が変化します。
    屋外の場合は太陽との位置関係も考慮する必要があります。太陽を背にして飛行している時と太陽に向かって飛行しているときで最適な設定が異なります。
    ですので例えば円を描いたりして1回の飛行で太陽に向かう時も太陽に背を向ける時もあるならどちらの場合でも良好になるように調整する必要があります。 室内でも照明がカメラに直接入射したり、床やラインに光沢がある時は要注意です。
  3. ホワイトバランス調整により映像の色合いが常時変化します。 これは1.の高度の影響へも関係していますが映像に写っている内容によって映像の色合いが随時変化します。ですので、あまりシビアな条件を設定してしまうと直ぐにラインを見失ってしまうことになります。

調整するにあたっては、実際に飛ばす(予定の)高度の前後辺りを手動で飛ばしたり機体を手持ちして、実際のライブ映像と解析画像・解析結果映像を確認しながら、高度変化・太陽/照明との位置関係などにより多少映像の色合いが変化してもラインを見失わないように設定を調整してください。

[目次へ戻る]

機体側カメラ設定可能項目

  • ホワイトバランス
    Bebop/Bebop2搭載のカメラの制限によりオートホワイトバランスが自動になっている場合には目で見て分かるほど著しく映像が変化しラインを見失う可能性が高くなります。
    電球色, 晴天, 曇天, フラッシュの中からその場の状況に一番近いものを選択してください。ただし残念なことにBebop/Bebop2ではいずれの設定を選択しても完全に自動ホワイトバランス調整を無効にすることは出来ません。明るいLED照明の場合にはフラッシュを、室内では曇天を選択するのが良いでしょう。
  • 露出
    Bebop/Bebop2では魚眼レンズを採用しているため通常のカメラに比べると全体的に暗めです。かといって明るくし過ぎて飽和(白飛び)してしまったり、暗くしすぎてしまうと彩度・明度情報が失われてしまうため良好な結果を得ることが出来ません。ここでの設定値は機体側のカメラでの自動露出調整に加減算されます。 左上側のカメラ映像を見ながら白飛びしない程度にラインが均一に見えるように調整しましょう。
  • 彩度
    ここでは色の鮮やかさを調整します。設定値を最小値である-100(左端)にするとほぼ白黒になります。設定値を最大の100(右端)にすると色が鮮やかになりますがノイズが出やすくなります。基本的にはあまり変更しなくて良いでしょう。
  • パン・チルト
    この設定では見かけ上のカメラの向きを設定できます(実際のカメラの物理的な向きは変化しません)。Bebopでは真下を撮影することは出来ませんので後ほどでてくる台形補正を適用する必要があります。一方Bebop2では真下まで撮影することが可能です。ただし先に書いた通りBebop/Bebop2からのライブ映像は数百ミリ秒程度遅延します。ですので飛行速度によっては真下よりも少し前方を撮影した方が先読みして制御できるようになります。 チルト設定値を負にするとカメラが下を向きます。正にすると上を向きますがカメラの制約であまり上には向きません。初期値は-100(ほぼ真下)になっています。
    パン設定値は通常は変更しません。本来は見かけ上のカメラの向きを左右に変更する設定ですが、カメラを下向き(チルト設定値が負…-100から-50程度)にしている場合には映像が回転するように動きます。 なお、これらの設定値は角度ではありません。

[目次へ戻る]

映像前処理設定

映像前処理は機体から届いたライブ映像を色抽出する前に行う処理で次の8項目あります。このうち露出調整・彩度調整・簡易明るさ調整はカメラ側の調整で不十分な時のために設けてはいますが、実際の所ここで調整しないといけないような環境では上手くライン検出出来ない事のほうが多いので実際には変更することは無いでしょう。

映像処理設定1

  • 露出
    機体側のカメラでの露出調整では調整しきれない場合に受信したライブ映像に対して露出調整を行います。ここで調整しないといけないような環境では上手くライン検出出来ない事のほうが多いので通常は使いません。初期値は0です。
  • 彩度
    機体側のカメラでの彩度調整では調整しきれない場合に受信したライブ映像に対して彩度調整を行います。ここで調整しないといけないような環境では上手くライン検出出来ない事のほうが多いので通常は使いません。初期値は0です。
  • 明るさ
    機体側のカメラでの露出調整では調整しきれない場合に受信したライブ映像に対して明るさの調整を行います。ここで調整しないといけないような環境では上手くライン検出出来ない事のほうが多いので通常は使いません。初期値は0です。
  • 二値化閾値
    後ほど出てくる色抽出の際に二値化を行い白黒の画像に変換します。ここではその際に使用する閾値を設定します。ここでの設定値よりも輝度が低ければ(暗ければ)黒、輝度が高ければ(明るければ)白に変換します。その時の明るさやラインの色・性状に応じて変わりますが概ね屋外では0.3-0.6、室内では0.2-0.3程度にします。 なお、ここでの設定値を0にすると二値化を行いませんが、不要な部分を検出する可能性が高くなります。
  • 台形補正
    Bebopの場合にはカメラが機体下方を撮影できないので映像が歪んでしまいます。Bebop2の場合でもあまり前方を撮影するとやはり映像が歪んでしまいます。このような場合にはラインの幅や高度などによっては正しくラインを検出できなくなることがあります。そこで登場するのが台形補正です。シークバーを動かしてラインが並行に近くなるように調整してください。

[目次へ戻る]

映像処理設定2

  • 輪郭内塗りつぶし設定(OpenCV)
    実際の地面にラインを設置するとどうしてもラインがうねったりねじれたりします。また光の当たり具合、影あるいは表面性状によってラインの一部が暗くなったり明るくなったり色むらが発生する場合があります。
    このアプリでは色抽出後にライン検出を行いますがその際に輪郭の抽出を行います。ライン映像に色むらや明度むらがあるとラインの形状が欠けたり検出形状中に空洞ができたりして正確に判定することが出来ないことがあります。ここでの設定を有効にすることで色むら・明度むらの影響を軽減することが出来ます。初期値は有効です。
  • 平滑化(OpenCV)
    ノイズの多い映像を処理するとラインの検出が上手く出来ない場合があります。平滑化処理を行うことでライン検出精度が向上する場合があります。ただしこの平滑化処理は処理負荷が高く端末によっては発熱がひどくなります。初期値は無しです。
  • 細線化(OpenCV)
    ライン検出の際に細線化処理を行います。個々では細線化処理の繰り返し回数を設定します。ただしこの細線化処理は非常に負荷が高く端末によっては正常に処理を行えない場合があります。初期値は0(細線化無し)です。

[目次へ戻る]

色抽出設定

色抽出はライントレースをするために肝心要の処理です。

  1. 左側上部のライブ映像の中央部に四角い枠を表示していますので枠内に被検出物が収まるように機体をライン上に載せるか手やスタンドで機体を保持します。この時非検出物が機体や手の影にならないように気をつけてくださいん。
  2. 「取得」ボタンを押してください。
    するとライブ映像の四角い枠内の色相・彩度・明度の平均値と標準偏差が自動的に計算されます。
  3. 「取得」を押した時に抽出色範囲(色相)の値が0.1を越えるようだとあまりよい結果ではありません。数回繰り返しても同様の結果であればカメラ側の設定や周囲の環境を変えるなどした方が良いでしょう。
  4. 上手く抽出色を取得できると左下に輪郭線が表示されるはずです。
    ただしこのまま状態では色抽出の範囲が狭いため例えば高度を変えるなどすると直ぐに輪郭線が表示されなくなることが多いはずです。抽出色範囲(色相)を0.2-0.3程度抽出色範囲(彩度)と抽出色範囲(明度)は0.5-0.8程度に変えてみてください。

ラインが白または黒の場合には色相や彩度が正常に計算できません。このため明度(輝度/明るさ)のみで抽出することになりますのでライン検出精度が低くなります。映像が暗すぎる場合にも色相・彩度計算結果が不安定になりますのでライン検出精度が低くなります。

元々Beop/Bebop2のカメラはレンズが暗めですし特に室内では光量が不足しがちです。色抽出の設定はうまく取得できたのに表示出来ない場合には、二値化閾値を少し低め…0.15-0.2程度にしてみましょう。それでもダメな場合はおそらくカメラ側の露出設定がうまく行えていないか、撮影環境が暗すぎる可能性があります。

[目次へ戻る]

ライン検出設定

  • 輪郭検出時の最小面積 初期値500
    ライン候補の絞込みの際に使用する、最小面積を設定します。ここでの面積値より小さいものは除外します。
    ライン幅が狭い場合、あるいは高度が高い場合には小さくする必要がありますが、誤検知しやすくなりライン候補が増えることにより処理負荷が高くなりますので、飛行高度に合わせたライン幅を選択することを推奨します。
  • 輪郭検出時の面積誤差1 初期値1.5 ライン候補の絞込みの際に使用する、凸包図形面積に対する最小矩形面積の比を設定します。凹凸が大きすぎる輪郭をライン候補から除去します。
  • 輪郭検出時の面積誤差2 初期値1.65
    ライン候補の絞込みの際に使用する、近似輪郭面積に対する最小矩形面積の比を設定します。凹凸が大きすぎる輪郭をライン候補から除去します。
  • ライン検出時の最小アスペクト比 初期値2.0
    このアプリでは長方形のものをラインとして検出しますが、その時に長方形かどうかを判定するための長辺長さと短辺長さ(幅)の比=アスペクト比の閾値を設定します。初期値は2.0で幅に対して長辺長さが2倍以上のものをライン候補として検出します。

[目次へ戻る]

制御設定

トレース飛行設定1

ここでの設定項目は、ライン検出結果から移動量を計算する際に使用する各種パラメータです。

  • 移動方向逆バイアス率 初期値0.30
    飛行速度が速い場合や映像解析のフレームレートが低い場合などには、今回の計算結果から次回の計算結果判明までの間に想定した以上に移動してしまう場合があります。ここでの設定値は前回の制御方向・移動方向と今回の生業方向・移動方向の違いから制御量が大きく/小さくなりすぎないように加減算するための係数です。飛行速度によって変更する必要がありますが、通常は0.2-0.6程度です。
  • 移動平均数
    ライン検出結果から移動量を計算する際に、移動平均を使って前回までの結果を考慮した計算を行います。ここでは移動平均を計算する際のタップ数を設定します。タップ数を大きくすると遅延が大きくなりカーブが大きい場合に追随できなくなります。端末の性能が低く映像解析のフレームレートが低い場合や飛行速度が速い場合にはその影響が強くなります。このような場合にはタップ数を小さくしてください。初期値は5です。
  • 減衰率
    初期値は0.0000です。
  • 制御感度
    ライン検出結果から移動量を計算する際に、ライン検出結果の変化をどの程度移動量へ反映させるかを設定します。初期値50です。大きな値を設定すると鋭敏になりますがハンチングが起こる可能性も高くなります。

[目次へ戻る]

トレース飛行設定2

  • 飛行姿勢(yaw) 初期値0
    現在のバージョンでは0以外にすると正常に飛行できません。初期値は0です。
  • 飛行速度 初期値100
    最大斜度まで機体を傾けた時の機首方向への移動速度の割合を設定します。初期値は100です。
  • 高度制御 初期値 無効
    Bebop/Bebop2では7-8m程度までは超音波により高度測定を行い、それ以上の高度では気圧とGPSによる高度測定を行っているようです。このため地面が超音波を反射しにくい材質…カーペットや草が多い所などでは高度が不安定になります。このような場所では飛行高度を2m程度まで上げたほうが安定して飛行できるかもしれません。また飛行速度によりますが低空飛行では大きな段差がある場所では上手く飛行できない可能性が高くなります。このためトレース飛行中の高度制御は初期値を「無効」にしています。なお、高度制御を無効に設定していると機体自身の高度維持機能のみで飛行することになります。
  • 飛行高度[m] 初期値0.6
    高度制御設定を「有効」にしている場合の飛行高度[m]を設定します。

[目次へ戻る]

自動操縦設定

  • 最大制御値
    初期値は100です。
  • Xスケール
    X軸方向(高さ方向)の制御量の計算値に対して実際に出力する値の割合を指定します。通常は変更する必要はありません。初期値は1.00です。
  • Yスケール
    Y軸方向(高さ方向)の制御量の計算値に対して実際に出力する値の割合を指定します。通常は変更する必要はありません。初期値は1.00です。
  • Zスケール
    Z軸方向(高さ方向)の制御量の計算値に対して実際に出力する値の割合を指定します。通常は変更する必要はありません。初期値は1.00です。
  • Rスケール
    yaw軸方向(水平回転)の制御量の計算値に対して実際に出力する値の割合を指定します。通常は変更する必要はありません。初期値は1.00です。

[目次へ戻る]

ライセンス

ARSDK

Parrot for Developers

Copyright (C) 2014 Parrot SA

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of Parrot nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

[目次へ戻る]

OpenCV

OpenCVオフィシャルWebサイト

By downloading, copying, installing or using the software you agree to this license.
If you do not agree to this license, do not download, install, copy or use the software.

License Agreement
For Open Source Computer Vision Library
(3-clause BSD License)

Copyright (C) 2000-2015, Intel Corporation, all rights reserved.
Copyright (C) 2009-2011, Willow Garage Inc., all rights reserved.
Copyright (C) 2009-2015, NVIDIA Corporation, all rights reserved.
Copyright (C) 2010-2013, Advanced Micro Devices, Inc., all rights reserved.
Copyright (C) 2015, OpenCV Foundation, all rights reserved.
Copyright (C) 2015, Itseez Inc., all rights reserved.
Third party copyrights are property of their respective owners.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the names of the copyright holders nor the names of the contributors may be used to endorse or promote products derived from this software without specific prior written permission.

This software is provided by the copyright holders and contributors “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall copyright holders or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.

[目次へ戻る]

 確認済みゲームパッド一覧(他のゲームパッドで動作すれば情報ください)

メーカー型番/名称備考
エレコム ElecomJC-U2912FBKアナログモードにすること
エレコム ElecomJC-U3312SBKアナログモードにすること
ロジクール LogicoolF310アナログモードにすること
ソニー SonyDualShock 3接続後PSボタンを押すこと
ソニー SonyDualShock 4接続後PSボタンを押すこと
イーフロンティア e-fronterEP-GP2アナログモードにすること

※USBホスト機能(OTG)に対応していない端末では使用できません。

[目次へ戻る] [基本的な操作方法]

Copyright (c) 2016 Rediscovery of the wheel.,co. Ltd.

開発開始 2015年7月
開発完了 2016年8月

女子モデル募集中!