Dropbox

以前からBetaflight ConfiguratorのAdjustmentsページを利用してスイッチでRate Profileの切り替えを行っていました。ほぼディフォルトなものと強めのRateを切り替えています。Adjustmentsページの設定は今ひとつ分かりづらく、なんとなく設定してみたところ動いた設定方法を長らく踏襲してきました。

Betaflight 4.1にしてから、このスイッチによる切り替えがうまく行っていませんでした。検索してみると4.1RC5に対してissueとして取り上げられていました。

Adjustments broken in 4.1RC5 #8997

わたしの現象もこれに当てはまります。これはBetaflightの問題ではなく設定方法の問題でした。

自己流で設定した画面は次の通りでした。

これを次のように変更して目的の機能が働くようになりました。

いまだ、この設定がどういう意味なのかは分かっていません。が、これで3ポジション・スイッチでRate Profileの1/2/3が切り替わります。

標準OSD対応DJI Digital FPV Systemファームウェア v01.00.02.00

DJI Digital FPV Systemで一番困っていたことは従来からのRC(送信機)を使用したときに電波の強さをあらわすRSSIが視覚的に確認できないことでした。これが最新ファームウェア(2019/12/02公開 v01.00.02.00)にて解決しました。もともと飛行中にゴーグルで視覚的に確認できる機体からの情報はバッテリー電圧くらいしかありませんでした。

新しいファームウェアにより一般的なOSD準拠の仕様が追加されました。DJI側はCustom OSDという設定をオンにするだけで、あとはBetaflightの標準的な方法でOSDを設定すれば良いです。

リリースノートによると合計で24個のOSDアイテムがサポートされているとのことです。24個は十分でしょう。ただし、表示できないアイテムがあります。わたしが気がついたものは以下の通りです。

Warnings
Timer 2
Link Quality
RSSI dBm value

これ以外にも各所で報告されている話によるとGPSで座標や衛星数は出せるがホームを表す矢印が出ないとのことでした。あと、アイテムの表示位置の設定もやや怪しいです。

WarningsとかGPSホームはすぐにでも対応してほしいところです。

前のバージョンからゴーグルでの録画にDJI独自のOSDが字幕として記録されるようになりましたが、これについてはCustom OSDは対応していないように思います。

DJI Digital FPV Systemのゴーグルについて

DJI Digital FPV Systemについて色々と書いてきましたがゴーグルについて何も感想を書いていなかったことを思い出しました。かなり今更ではありますが思いついたことを書いておきます。

[ 光漏れ ]
なかなか顔にビッタリとフィットするゴーグルには出会ったことがありません。よく見ると隙間から外の光が見えていますが、わたしはまったく気にしたことはありません。

[ 電源コード ]
ゴーグル側のプラグは外れやすいです。ケーブルをストラップの金具の下を通せば飛行中に外れたことはありませんが、テーブルの上から持ち上げていざ飛ばそうとするときに外れてしまい再起動ということは何度かありました。


オンナノコズで有名な増田さんの真似をしてタイラップで固定しました。

[ メガネ ]
近眼なわたしはメガネを付けたままゴーグルを使用しています。概ね問題なしです。Fatsharkだと補正レンズは必要ですし、ゴーグル付ける前にどこかにメガネを保管しなければならなかったので、かなり便利になりました。
最近になってDJIストアで補正レンズの販売も始まりましたので、メガネをかけたままでは窮屈と思う人は補正レンズを別途購入するのもありです。

[ 画面 ]
画面が大きいのは有り難いです。Fatsharkの時は小さな窓から見ている感じでした。それでも飛ばすのに困ることはありませんでしたが、同じテレビを見るなら大型画面が快適なのと同じです。高解像度デジタル画像と相まって、いろいろなものが見えます。それでも、あちこちぶつかるのは腕のせいです。

[ 大きい ]
昔ながらのボックスゴーグルほどではないですが、やはり筐体が大きいです。ゴーグルを使用しない時に上にずらして頭の上に載せておきたいのですが、うまく行きません。仕方なくテーブルに置くのですが、バッテリーがポケットに入ったままで電源ケーブルを引っ張ってゴーグルをテーブルから落としたりしています。海外のビデオでFastsharkみたいに小さなバッテリーをストラップに付けているのを見かけるので、そのうち真似して見るかも。

DJI FPV Systemのカメラ破損

DJI Digital FPV Systemのカメラを壊しました。レンズだけではなくてカメラのケースも割れてしまったので、最初はDJIにカメラを発注しましたが、一週間たっても発送されません。そうこうするうちにFacebookのユーザーグループで交換レンズについての投稿がありました。わたしの破損したカメラも筐体が割れているもののセンサーなどは無事です。ということで割れた筐体は瞬間接着剤とUVレジンでなんとかして、レンズを交換することにしました。

レンズの形状は一般的なものなので、ねじ込み部分がM12であれば使用できます。ただしFOVや物理的な大きさはレンズによって違います。

– Caddx: Special lens for turtle V2
手持ちのM12レンズであるCaddx Tutrtle用のガラスレンズを試してみました。

DJI Original Lens

DJI Original Lens

Caddx Turtle Glass Lens

Caddx Turtle Glass Lens

FOVがオリジナルよりかなり狭いです。飛行に関してはカメラにこだわりの無いワタシ的には問題なしですが撮影した動画の見た目が変わるのは少し気になります。

またレンズが長いのでオリジナルよりかなり飛び出した感じになります。緊急時に使う感じです。

Lens for RunCam Split Mini 2/Split 2S/Split 3 Micro
RH-22という型番のレンズが調子良いのではないかと聞いたので取り寄せてみました。FOVはわずかに狭いくらいで比べてみないと分からない程度です。

Runcam RH-22 lens

Runcam RH-22 lens


レンズも短いのでオリジナルとほぼ同じです。レンズにロック用のプラスチックリングが付属していますが、それを使うとピンとが出ません。仕方なくUVレジンで固定しています。この状態でバッテリー6本ほど飛ばしましたが問題ありませんでした。

RunCam RC18G FPV Super FOV Lens for DJI FPV camera, Phoenix and Swift 2
上のテストを行っている間に、なんとRumcam RC18GというSuper FOVレンズがDJIにも使えると表明されました。まだ入手していないのでレビューは出来ません、上のRH-22に問題があれば試すつもりです。

DJI FPV関連記事リンクはやめてサプカテゴリーDJI Digital FPV Systemを作りました。

確信のある話ではないのですが、DJI FPVシステムのアンテナを変更した方が調子が良いという話が散見されます。少なくともゴーグルにはパッチアンテナをひとつ付けた方が良いという人も居て、まずは手持ちのパッチアンテナをゴーグルに付けました。

[ ゴーグルのSMAコネクター ]
DJIゴーグルのアンテナコネクターはSMAですがFatsharkなどとはオスメスが反対になっています。オスメス変換コネクターを用意してImmersionRCのパッチアンテナをひとつだけ付けて2ヶ月ほど気持ちよく飛ばしていました。

[ LHCP ]
ところが、ある時、DJI FPV SystemのアンテナはLHCP(左旋偏波)であるとの記述を見つけました。疑り深い私は実物も確認。

確かにLHCPに間違いないようです。

市販の5.8GHzのアンテナの多くはRHCP(右旋偏波)です。手持ちのアンテナもほとんどRHCP、先のImmersionRCのパッチアンテナもRHCPです。それを付けて気持ち良くで飛ばしていたので、わたしの飛ばし方ではなんの差異もないという証拠ではあります。それでも、オリジナルと違う何かをしたいという欲求を満たすべく機体側も含めて全アンテナを交換し、RHCPに統一しました。これで距離が伸びたかどうかは。まったく検証はしていません。

[ 関連記事 ]
DJI FPV関連記事の新規リンクはやめてサプカテゴリーDJI Digital FPV Systemを作りました。

DJI Digital FPV Systemの録画モード
DJI FPV SystemのRC、送信機を使用した感想
DJI Digital FPV Systemのケーブルの代替品
DJI Digital FPV Systemの実装
DJI Digital FPV SystemとAnalog VTXの干渉について
DJI Digital FPV System実機での地域設定
DJI Digital FPV Systemの地域毎の設定
DJI Digital FPV Systemの日本での発売は近いのか?
DJI Digital FPV System
DJIの新しいFPVシステム!

プロップウォッシュ軽減のPIDチューニングに挑戦してみた

PIDチューニングについては、いつかは自分でちゃんと調整してみたいと思っていましたが、色々と面倒くさい感じがして手つかずでした。Betaflight4.1になり、スライダーによるチューニングが出来るようになりました。これならば出来そうな気がします。

対象とする期待は軽量DJI FPV機で、スペックは以下の通りです。

DJI Digital FPV System
GEPRC Cygnet 3 frame mod
 3D print data for DJI Air unit mount
iFlight Succe-X E Mini F4 35A Flight Stack
TBS Crossfire Nano RX
XING 1404 4600KV
EMAX Avan Mini 3x2.4x3
Weight: 246g (including battery)

Betaflight 4.1を導入し、フィルター/PIDとも既定値で安定して飛行出来ました。ただし、急激なターンやダイブからの引き起こしでプロップウォッシュのためブルブルと震えます。コントロールを失うほどではありませんが、動画を見ていて気になるくらいの酷さではあります。今までだと、スロットルを気をつけて早めに入れるとかで対処しているところですが、この現象の改善を試みることにしました。

間違いなく効果はありましたが、軽くYouTubeなどで情報を収集して実施しただけなので正しい方法とは限りません。何かしら参考になれば幸いです。

[ 現状把握 ]
飛ばしてみたフィーリングはかなり良いのですが、ブラックボックスでも確認してみます。

ログの検証経験が少ないので確実なことは言えませんが、急激なスティック操作においてもsetpointに対して十分にgyroは追従しているように見えます。

[ RPMフィルター ]
どうせならばと話題のRPMフィルターも導入しました。使用しているESCはBLHeli_Sなので有料ソフトのJESCを導入しています。
-> BLHeli_S用の無料ファームも出ました。
YouTubeなどでRPMフィルターのセットアップはたくさん見つかります。追加のフィルター設定も色々とガイドされていますが、わたしはDynamic Notch Filterだけを既定値から変更しました。既定値では、それぞれMEDIUM/8/120/150のところをMEDIUM/0/200/90にしています。どこかの情報を参考にしただけで根拠は薄いですが、少なくともRPMフィルターを使う場合はdyn_notch_width_percentは0(ダイナミックノッチフィルターを2つから1つにする)で良いようです。

[ フィルターの設定 ]
目的はフィルター設定を軽くしてプロセッサーの負荷を軽減しレスポンスを良くすることです。それによりプロップウォッシュにより良く対処することもできます。フィルターのスライダーを動かしては実際に飛行し異常を感じないかモーターが加熱しないかを確認しながらフィルターを軽くしていきます。

ジャイロフィルターとD値フィルターを同時に動かして試してみました。Expertモードを使わない最低値である1.5まで下げても問題はありませんでした。もっと下げられるかも知れませんが、このくらいにしておきます。
プロップウォッシュについては、これだけでは改善されませんでした。

[ PIDの設定 ]
今回はプロップウォッシュへの対処ですのでPDバランスとPDゲインの2つのスライダーだけに注目します。それぞれ別々に強くしたり一緒に強くしたりしながら飛ばしてみました。

この試行錯誤はなかなか難しく時間がかかります。最終的にはP and D Gainのスライダーのみを1.5に強めることにしました。

まだわずかにプロップウォッシュを感じますが、時間的にはるかに短くなりました。チューニング前はブルブルブルと揺れていたのがブルッと感じるくらいになりました。その後もかなり飛ばしていますが、この結果に満足しています。

異常Yawスピンの結末

DJI Digital FPV Systemでの第一号機である5インチ機で経験した異常Yawスピンについて経験事例として書いておきます。

機体のスペックは次の通りです。

iFlight DC5 HD
MATEK F722-STD
DALRC Engine Pro 40A BLHeli32 4-in-1 ESC
EMAX ECO 2306 2400KV
DALPROP 5045
DJI Digital FPV System

まずは結論から書いてしまいます。

フレームにはFC/ESCスタックをマウントするための長めのM3スクリューが付属しています。最初、それを使って組み上げました。

写真のようにESCは貫通型のラバーを使用します。ところがFC(MATEK F722-STD)は取り付け穴がM3がちょうど入るサイズで貫通型のラバーは使用できません。そこでFCの上下にOリング状のラバー入れることでソフトマウントになるであろうと判断しました。

ながーい、障害解析の末にたどり着いた結論は、このマウント方法ではFCの水平方向の遊びがないためソフトマウントしたとは言えないというものでした。本来MATEK F722-STDにはゴム足式の専用マウントネジが付属しています。

これを使用してFCをマウントしてからは問題が発生していないです。結果的にはお粗末な内容ではありますが、恥を忍んでシェアさせていただきます。ソフトマウントと言ってもゆるゆるはダメでぐっと強く押してみて水平にも縦方向にもわずかに動くことが確認できるくらいの感じが良いようです。

では、あらためて現象から説明します。

上の動画の最初の2つはダイブ絡みで突然Yawスビンを初めています。これは、再現性が少ないのでアクションを取ったあとの検証が難しいものでした。動画の最後の現象は100%の再現性でした。これはコンクリートなどの硬い地面(ランニング用のやや柔らかい舗装面でも発生)に着陸させると接地した瞬間に急速なYawスピンを始めるものでした。こちらは完全に修復出来たことが確認できました。

モーターの不良とは思えないのでジャイロまわりを疑い最初にFCを別のドローンと入れ替えましたが解決せず、次にBlackboxログが取得出来たので見てみるとFCはモーター3は回転させていなくて他のモーターを回しています。ここを深読みしてモーター3がFCの意に反して回転していることを疑いました。それでESCを新規に用意して交換。それでも解決せず。

交換するものが無いので配線をやり直したりして、しばし時間を要したあとFCのマウントの仕方に最初に多少の疑問を感じていたのを思い出しました。FCのマウント状況を確認すべく手で押してみると縦方向には動くものの横方向にまったく遊びがなくフレームに対してがっちり固定されている感じがしました。最初に書いたようにマウント方法を変更した後は順調に飛行出来ています。

YouTubeビデオ “Tune YOUR PIDs w/ NEW Sliders” のわたしの解釈

PIDチューニングには以前から挑戦したいと思っていたものの、難解な部分もあり、また単純にめんどくさいということもありで手が出せませんでした。

Betaflight 4.1になりフィルターとPIDのチューニングがスライダーで行えるようになりました。これはもしかして自分でもチューニングが出来るのではないかと挑戦してみることにしました。ということで、まずは調査です。YouTube上にたくさんの情報があります。だいたいはJoshua Bardwellさんのチャネルをサブスクライブしておけば必要な情報は得られます。さらにBetaflightの仕組みに基づいたテクニカルな解説を必要とする場合はUAV Techにとても詳しい解説があります。どちらも英語の解説ですが、前者は分かりやすい英語ですし、キーとなる部分は画面を見ているだけでも理解できそうです。UAV Techの方がより詳細な内容ですが、英語が分かりづらいのが難点です。

Betaflight 4.1のPIDチューニングに関する解説として下に埋め込んだビデオに注目したいと思います。ただし英語が分かりづらく、YouTubeが自動的につけている英語字幕もあまり役に立ちません。自動字幕なので専門用語が正しく記述できないのは仕方がないとして、普通の単語も間違っていたりします。

詳しく読み解くついでに日本語字幕を作成して送ったのですが、なかなかレビューが終わらず反映されていません。もっとも、日本語字幕を見たとしても、やはり分かりづらい気がします。そこで、ここにポイントだけかいつまんでわたしの解釈を書いておきたいと思います。

このビデオはチュートリアル的なものではなく、UAV Techの人の設定例にいくらかの解説を加えたものです。ただし、いくつかの良い説明がありますので、眺めてみてください。

以下、タイムスタンプと興味深い部分のみ、わたしの解釈について書いておきます。

00:19 セットポイント(setpoint)はクワッドに対するコマンドなんです。それが全てなんです。
-> スティック操作はBetaflightにより解釈され、それぞれthrottle, yaw, roll, pitchのsetpoint値に変換されbetaflightはsetpointに従ってクワッドの姿勢を制御する。

00:36 もし実際のジャイロの読みに(セットポイントが)正しく一致出来たときに、それ以上望むべくもない良いパフォーマンスを得られたと言いたい。
-> つまりthrottleを除くセットポイントは、そのまま機体が示すべきジャイロの値を示しているのでログ上セットポイントとジャイロの読みが常に一致していることが理想である。

00:56 PIDチューニングのために通常することはトレースの設定です。それは誇張(exaggeration)をオフにすることです。なぜならば、もうノイズには関心がなくトレースで見る必要がありません。
-> exaggerationと言っているのはExpo On/Offのことではないかと想像します。ノイズについてはBetaflight 4.1のフィルターリングがとても優秀なので、特別な機体の固有振動でもない限り気にしないということでしょう。

01:22 ロール軸を見てみましょう。セットポイントは緑の線でスティックから来ます。ジャイロの奇跡はクワッドが何をしているかを示します。
01:37 もしこれが正しくスクリーンの線に沿っていれば完璧なフライト経験が得られます。

01:49 ここでいくらかのオーバーシュートがあります。このようなオーバーシュートとぐらつきがあると、すぐさま推進(push)が強すぎ、そして抑制(dampening)が十分でないと考えるべきです。
-> ジャイロの軌跡に振動が見られる、すなわち機体がロールの後にバウンスしているということ。Pが強すぎるか、もしくはDが弱いということらしい。

02:11 もしここで遅延があり、そしてオーバーシュートがなくここまで上がる場合は、おそらく抑制(damening)が効きすぎています。

02:30 コンフィグレーションの新しいツールチップでは、平易な言葉で説明します。
-> Betaflight Configuratorでは各項目について詳細かつ分かりやすい表現の説明がポップアップします。これは本当に役立ちます。なんとなく見た目からConfiguratorを英語にしていましたが、この説明を日本語で読むために今は日本語でconfiguratorを立ち上げています。日本語化に尽力されている まっくさん(@t_mac116) に感謝です。

02:40 Pタームを自動車のスプリングと考えてみます、、、
-> ここからPタームをスプリング、Dタームをオイルダンパーとして自動車のショックアブソーバーに例えた話が続きます。あまり深く考えずにPタームがスプリングでDタームがオイルの入ったダンパーに近いと思うくらいが良いと思います。話しの中では路面をセットポイントと捉えていますが、ショックアブソーバの目的は路面の凹凸を吸収するためのものでPIDループとは少し目的が違うので、細かく考えない方が良いかも知れません。

04:19 もし思い切った動きをクワッドに与えた時にある種の揺れを起こしたら、Dタームを増やさないといけないということです。
04:30 もし鋭い動きをさせても動きが遅いならば、それはセットポイントへの追従が良くないということです。つまりPタームを増加する必要があります。

-> これがPID調整の基本ということだと思います。ただしPとDのバランスということで、どちらも増やし続けるものではないことは覚えて置く必要があります。

04:48 再びこれを見ていきます。セットポイントに対する良い追従が見られます。こそれは私にしてみるとPタームとフィードフォワードがともに良く働いているということです。
-> フィードフォワード(FF)は素早いスティック操作への反応を良くすると漠然と考えていたけどPを補足するような感じなのでしょうかね。

05:22 ここは通常のオーバーシュートです。
-> EXPO OFFで眺めてみてわずかにジャイロがセットポイントに対してオーバーシュートしているのは問題ないもよう。

05:26 ここはセットポイントを少し行ったり来たりする一種の振動が見られます。これはPDバランスが取れていないように見えます。

06:30 何かしら行った後に与えられたフィルター設定はほぼ確信があります。しかしPIDチューニングはいくらかの行ったり来たりの試行錯誤で上手く行くことを確認します。
-> PID値の決定は試行錯誤が必要である。逆にフィルターは一発で決まるということなのか?

06:41 覚えておくことは、プロップウォッシュの中で、、、、
-> しばしDとD minの説明が続きますが、別の資料をあたった方が良い気がします。

08:10 結局のところ次に試すことをお勧めするのがこのスライダー式構成です。その2つを既定値にしますそしてP and D gainで両方同時にを少し上げます。
-> ここからスライダーでのPID調整に入ります。この例ではPD BalanceとP and D Gainのを既定値に戻してから、それぞれ動かしています。実際のところ、飛行させながら様子をみたりBlackboxログを見て考えなればなりません。なかなか具体的に説明するのは難しいですが、以前のようにたくさんの数値を変更するよりはスライダーを動かす方が簡単だと思います。

09:33 その他の変更としては、わたしはこのD Min Advanceを0にD Min Gainを30にちょっと切り上げます。
-> これは、この人の設定例という理解で良いのか? 特に理由は述べられていないです。

09:47 このSetpointはBetaflightの既定値です。
-> I Term RelaxのType=Setpointは既定値で、かつレース向き、Type=GyroでCutoff=10がフリースタイル向きとおっしゃっています。

10:10 Rateprofileタブに行きましょう。TPAが0.6で1250で開始するようになっています。これは必要ならば上げても良いです。
-> おそらくBrakepointを上げても良いと言う意味かと思います。ここでの説明も今ひとつわかりにくいです。このTPA値の意味はスロットル値1250(おなじみの1000-2000の可動範囲の中での数値)からPID値を減少し始めて最終的にはPID値が元の値の60%になるというものです。プロップウォッシュの出方によっては減少を遅らせた方が良いこともあるのかも。

以上ですが、気がついてみるとIタームについては何も述べられていません。Betaflight 4.1では既定値のままで良いということなのでしょうかね。

250g以下におさえた軽量DJI FPV 3インチ機用のプロペラを4種類用意して比較しました。

まずは機体のスペックを紹介します。
– DJI Digital FPV System
– GEPRC Cygnet 3 Frame mod
– iFlight Succe-X E Mini F4 35A Flight Stack
– Frsky XM+
– XING 1404 4600KV
– TATTU 4S
– ファームウェアはBetaflight 4.1でPID/フィルター設定は既定値のままです。

試したプロペラは4種類です。

1) HQProp HQ Durable Prop T3X2

なんとなくToothpick風味にしてみたかっただけです。

2) HQProp HQ Durable Prop T3X3X3

定評のあるHQPropの三枚羽も試してみないことにはと用意。

3) GEMFAN Windancer 3028-3

もともと大きいモーター用に持っていたもの、太いネジと細い2本ネジ共用タイプ。

4) EMAX AVAN MINI 3×2.4×3

初めて買ったFPVドローンであるRodeo110用に持っていたもの。もしかすると、最新のものは少し形状が違うかも。

あくまで飛ばした時の感覚であり定量的な何かを測定したわけではありません。

それぞれバッテリー3パックほど飛ばしてみました。HQPropの二枚羽は、今ひとつ操縦性が悪い気がして早々と落選。GEMFAN Windancerはなんとなくフィーリングが合わない感じ。

HQPROP T3X3X3とEMAX AVAN MINIはどちらも飛ばしていてしっくり来ます。特にEMAX AVAN MINIはパンチアウトした時の吹き上がり具合が明らかに良いです。これは形状とかピッチの差かもしれませんが、一番軽量であることが良いのかも知れません。小型モーターにはプロペラの重量が重要かも知れないとminimoFPVさんも以下の記事に書かれています。

ということで、EMAX AVAN MINIが一番良さそうですがHQPROP T3X3X3も合わせてしばらく使ってみることにします。あと、新品モーターの調子が使っているうちに良くなっているので、もしかすると早々に落選した2つのペラも後で使うと印象が違うのかも知れません。

DJI Digital FPV SystemのRC使用中止

以前、「DJI FPV SystemのRC、送信機を使用した感想」に書きましたが、送信機の電波到達距離に不安があります。

Youtubeでアメリカにおいては、大きな問題なくそこそこの距離を飛ばしているようですので中国でのモードの弱点なのかも知れません。中国モードでもAir Unitの出力に700mWを選択できますが、スペック表によると送信機からの出力はFCCモードより小さいようです。ただしスペック上の電波到達距離は変わりません。

今後のソフトウェアのパージョンアップで改善する可能性もありますし、アンテナを変更したり位置を工夫したりする余地もあります。ただしソフトウェアは、まだ一度も更新されていませんし、アンテナの方も限界を感じます。ということで、とりあえず操縦系統はFrskyとCrossfireに変更することにしました。