Dropbox

SparkのビデオとログからDashWareで様々なデータを重ね合わせたビデオが作ることが出来ます。詳しくは以前の記事を御覧ください。

ひとつ問題が残っています。それは高度を表示すると海抜表示になってしまいます。希望としては離陸時を0とした相対的なグランドレベルの高度が表示したいです。そのための方法が公式FAQに書かれています。以下、その抜粋です。

Altitude is based on sea level, how do I make it ground-based?

How to make ground based altitude–it will be a single step at the start of every project for you:
-Figure out what the ground altitude is (for example, 750 meters)
-Make a clone of the data profile you are using, so that you can edit it. This can be done in the Data Profile Editor (File Menu > Edit Data Profiles…)
-In this clone add a Math Calculator (bottom left area) that takes the Altitude in meters and subtracts 750. Call this new channel “Ground Based Altitude”, or whatever you want.
-Map your new channel to our appropriate “Positional \ Ground-Based Altitude” type, based on your desired units.
-Save the new data profile.

Every time you make a change to a data profile, or want to use a different data profile in a project, you need to remove then re-add your data file to the project. So re-add your data file to your project and select your new cloned data profile.

Add a gauge to your project that shows ground based altitude, or edit an existing gauge and change the gauge’s input data type to ground based.

これがなかなかに難解で実現できるまでに随分と試行錯誤が必要でした。実際にわたしが行った手順を紹介いたします。

– FAQの手順に入る前に使用しているゲージの編集画面から目的の数値のData Typeを調べておきます。ビデオ画面上のゲージをダブルクリックすると下の画面が開きます。高度に割り当てられているはAltitude / Z Position (Meters)であると確認できます。

– まずグランドレベルの高度を認識します。海抜何メートルから離陸したかということでデータを見ていればすぐにわかります。わたしの場合は116メートルでした。

– Data Profileをコピーし編集を行う。File/Edit Data Profileを開きます。前回の記事で紹介したCSVファイルでは自動的にFlytrexというData Profileが使われますので、それをクローン(上の方の左から二つ目のアイコン)します。Flytrex — Clone (1)というファイルが出来るので、それを編集します。

– 左下のウインドウでMath Calculatorという項目を追加します。Input ValueにElevation Meter、Contstanに116と入力Output Valueは自分の定義値、My Altitudeなどとします。Math OperationはSubtract(Inout Value – Parameter)です。これで目的の値がMy Altitudeという名前で得られます。

– 次に右側のウインドウで得られた値をData Typeにマップします。Input Data ColumnをMy Altitude、Map to Data CategoryをPosition、Map to Data TypeをAltitude / Z Position (Meters)で作成します。実はAltitude / Z Position (Meters)はすでに存在しているので、新しく作った項目を一番上に持ってきて正しく選択されるようにします。

Data Profileを保管したら、いちどProjectからData Fileを削除して、新しいData Profileを使ってCSVファイルを読み直せば目的の高度値が得られているはずです。

DJI Sparkで撮影した動画にログファイルから速度や高度などの情報を重ね合わせて表示する方法の紹介です。

Let me introduce how to overlay flight information gauge to Spark footage.

[ ログファイルの取り出し / Retrieve flight information log file ]
Androidの場合です。内部ストレージの DJI/dji.go.v4/FlightRecord/DJIFlightRecord*.txt が目的のログファイルです。ファイル名にタイムスタンプが含まれています。目的の動画のタイムスタンプより少し前のものを選びます。拡張子はtxtですが実際にはバイナリーファイルです。

For Android, flight information log file is at DJI/dji.go.v4/FlightRecord/DJIFlightRecord*.txt of Android internal storage. File name includes timestamp. File extension is ‘txt’, but this is binary file actually.

[ ログファイルの変換 / Convert log file to csv ]
ログファイルを読める形に変換しなければなりません。いくつかの方法があるようですが、わたしは以下のwebサイトを使用しました。出力はcsvファイルです。

Flight information log file has to be converted to csv file. I use following web site.

http://www.djilogs.com/#/

[ ログデータと動画の合成 / Overlay log data to footage ]
DashWareというWindowsプログラムで行いました。
わたしはうまく組み込めていませんが、DJI Phantom用の追加ゲージなども公開されています。

I use Windows program called DashWare. There is additional gauge data for DJI Phantom also (I can not use this well yet).

– Project画面で動画ファイルとcsv変換したログファイルを追加します。Gaugeについては後から変更しますのでProject Templateは気にしなくても良いです。 Add footage file and csv converted log file on the project wizard. You do not need to care about ‘Project Template’ here, we can change the gauge later.

– Gauge Toolboxで好みのゲージを探して貼り付けます。 Add your favorite gauges from Gauge Toolbox.

– Synchronization画面で動画とログの同期を行います。 Adjust synchronization point by using Synchronization tab.

以上です。ここまでは試行錯誤あるもののさほど難しくはありません。 That’s all about setup.

[ Create Videoでエラー / Error when Create Video ]
最後にCreate Videoで合成後のビデオを出力します。この時に”Error rendering in MediaFoundationMedia Foundation Error + -2147467259″というエラーが出てビデオを作る事が出来ませんでした。海外の掲示板に元のビデオになんでも良いから音声トラックを付けるとエラーしないと書かれていました。確かにSparkから取り出した動画には音声トラックがありません、適当なMP3ファイルをiMovieで動画ファイルに付けたらエラーしなくなりました。

I got an error message ‘Error rendering in MediaFoundationMedia Foundation Error + -2147467259’ when I initiated Create Video function. It could be fixed by adding any audio tracks to the Spark footage (original Spark footage on the micro SD card does not have audio) before add the DashWare project.

[ 高度が0から始まらない / Altitude does not start from 0 ]
飛行高度の表示が目的でしたが離陸時の高度が0ではありませんでした。説明では海抜になっていますが、ちょっと変な数字です。いずれにしても欲しいのは離陸場所からの相対的な高度です。これにはちょっとしたトリックが必要です。

I want display altitude meter on my Spark video. However it does not start from 0. Some of explanation texts said that it is sea level altitude, but it seems to me something different from the sea level also.

公式FAQの”Altitude is based on sea level, how do I make it ground-based”にさらっと方法が書かれています。説明が簡単すぎてなかなか理解出来ませんでした。具体的な手順は以下のリンクを御覧ください。

Official DashWare FAQ mentions about how to change the altitude value from the sea level to ground level. But it is difficult to understand because of too simple explanation. I wrote how to change altitude from sea level to ground level below. This article written in Japanese, but you may find some screenshots for your reference.

DashWare+Sparkビデオで高度表示をグランドレベルにする

本格的な空撮を考えると、ひとつランクが上の機種で同じくDJIの製品であるMavic Pro(販売サイトへのリンク)に軍配が上がることは間違いがありません。Mavic Proなら4K動画は撮れますし本格的な3軸ジンバル搭載です。またバッテリーの持ち、電波の飛距離どれをとってもSpark(販売サイトへのリンク)の敵ではありません。

私がSparkを買った理由は、本体だけなら300gと軽量なので旅行や散歩に気軽に持ち歩ける「お散歩ドローン」あるいは手のひらから離陸してジェスチャーでコントロールする「手乗りドローン」として魅力を感じたからでした。ところが、実際に手にしてみると本格的な空撮がしたくなってしまいます。

ということで練習がてら上海市内の公園で撮影したビデオ画像をYouTubeにアップロードしましたのでSparkでもこれくらいは撮れるぞというサンプルとして紹介いたします。ただしiMovieから直接アップロードしたためか最高画質が720Pになっています。若干ダウングレードした画質になっていると思いますので予めお断りしておきます。

SparkとMavic Proの比較ということでは著名YoutuberであるCaseyの動画が良くわかりますので、こちらも参考として貼っておきます。

実は本格的な空撮ドローンには若干興味を失っていてトイドローンをRC飛行機のように飛ばす方に魅力を感じていました。とは言うものの各社の新製品は追いかけていました。DJI Sparkのグランドセントラル駅での発表ビデオも当然の如く観ました。小型で300gという重量は家族旅行にも気軽に持っていけることに魅力を感じました。加えてジェスチャーによるコントロールは画期的なものと言って良いでしょう。値段も戦略的で、二軸ながらジンバルも付いていてセルフィードローンと 比較出来る価格は立派です。

各国の価格を比較すると中国人民元での購入が一番安いことも手伝って購入を決めました。

[ Spark Fly More Comboに買い足すべきもの ]

バッテリー
Fly More Comboには2つのバッテリーが付いていますが、聞くところによると現実的な飛行時間はひとつのバッテリーで10分強とのことです。2つではとても足りないのは目に見えています。また、充電器はバッテリー3個を同時に充電できるようになっています。追加バッテリーを最初から買っておくべきでしょう。

バッグ
ショルダーバッグが付属していますが、Spark本体を無造作に放り込むタイプでかなり不安です。中国製で良いものがいくつか出ていますので、そのうちのひとつを買いました。92元(やく1500円)と格安ですが、十分に使えるものです。

フード
日光の元で携帯電話の画面を見るのは苦労します。簡単なものを買いましたが、装着していると画面の端にタッチするのが難しいので、別の形のものを試す予定です。DJIからMavic用の物が出ているので、店で聞いてみましたがSparkでは使えないとのことでした。まだ工夫の余地ありです。

OTGケーブル

RC(送信機)と携帯電話はWiFiで接続するように説明書には書かれていますが、ときおり接続が切れたりするそうです。RCと携帯電話を有線で接続すると良好とのことです。接続にはOTGケーブルというものが必要です。DJIからも純正パーツとして出ていますが、家にあったものを使用しています。RC側にOTGケーブルを接続して、携帯電話側は普通のケーブルを使用します。

[ 飛行の前に ]
まずは携帯電話上のアプリケーションDJI GO 4からアクティベーションを行います。Fly More Comboの場合は、機体とRCは自動的に接続されます。携帯電話とRCをWiFiで接続してアクティベーションを行います。この時はSIMが入っていてデータ通信が行える携帯電話を使用することをお勧めします。

アクティベーションを行った後にDJI Careに加入しました。アクティベーション後24時間以内に加入しないと行けません。

オフライン地図のダウンロードも行っておきました。オフライン地図のダウンロードメニューはすぐに見つかりますが、ダウンロードのメニューが中国の地図だけになったり、その他の地域だけになったりして戸惑いました。これは機体の設定画面で中国の地図を使用するかどうかの設定によります。日本の地図がダウンロード画面で見つかりませんが、そういうものなのでしょうかね?

中国で飛行重量250g以上のドローンを飛行させる場合の実名登録が2017年6月1日から開始されました。実際の罰則規定は2017年8月31日以降に開始されますので、それまでに登録を完了し、登録番号とQRコードを機体に貼り付けておかなければなりません。

Real name registration for flying drones with a flight weight of 250g or more in China began on June-1-2017.
Actual penalty provisions will start after August-31-2017, so you must complete registration and put the registration number and QR code on your drone.

注目の小型ドローンDJI Sparkも飛行重量300gですので中国国内で飛行させるには、この登録が必要です。

Flight weight of DJI Spark is also 300g, this registration is necessary to fly it in China.

まずは外人的に気になる所を箇条書きしておきます。
– 実名登録は日本のパスポート番号で問題なく行えました
– 住所の登録は海外でも大丈夫そうです
– 中国の携帯電話が必要です、登録時にSMSで認証コードを送ります、日本の携帯電話を入れてみましたが携帯電話番号が正しく無いと言われてしまいました。
– ドローンは自作ドローンも登録出来るようになっていました、メーカー製だとドロップダウンリストから選択します
– 登録画面は今のところ中国語だけです

I list some items for foreigners.
– Real name registration could be done without problem with Japanese passport number
– Registering an address seems to be OK even overseas
– I need a Chinese mobile phone number, Need to receive an authentication code by SMS at the time of registration, I tried to use a Japanese mobile phone number but it was not accepted.
– Handmade drone was supposed to be able to register. If you use a drone made by manufacturer, you can choose from the drop down list
– The registration screen is currently only in Chinese

実際の登録 (only in Japanese)

URL: https://uas.caac.gov.cn/

かなり素直な作りですし、特別にIEを要求されるような事もありませんでした。私はmac OSのSafariで登録しました。大きな流れとしては「用户注册」画面で個人の登録を行い、その後でドローンの登録を行います。個人の情報スクリーンでは携帯電話とユーザー名以外は後からでも変更可能です。

当然、複数のドローンを管理できます。自作ドローンとメーカー製ドローンで別々の登録画面があります。メーカー製ドローンの場合、メーカーと型番をドロップダウンリストから選択しますが、メーカー名も中国語で表示されるので別途調べておかなければなりません。私の場合Parrot Bebopを登録しましたが、Parrotは「派诺特」と中文表記されることを知っておかないと見つけられません。メーカー製ですと重量等は予め登録されているので、シリアル番号だけ登録すれば良いです。

登録後QRコードを生成します。予め登録したメールアドレスに注意事項と共にQRコードが送られてきます。またドローン管理画面からQRコードをダウンロードすることも出来ます。

とっても丈夫な小さいクワッドコプターJJRC H36を紹介します。重量は20gほどしかありませんので手のひら上からの発着も行えます。

各種センサーのおかげで飛行姿勢はとても安定しています。ただし高度を一定に保つ機能は有りませんので、思い通りに飛ばせるようになるまでには練習が必要です。特筆すべきは、その丈夫さです。予備のプロペラも付属していますが、使用する事が無いと思えます。かなり壁にぶつけたり墜落させたりしていますが、まったく壊れる気がしません。また、ぶつけた場所を傷つけることもほぼ無いと思います。初心者にも安心してお勧め出来ます。

高度の維持が出来るようになるとビュンビュンと飛ばせるようになります。

小さな機体ですが、けっこう力強いので屋外での飛行も出来ました。ヘッドレスモードといって機体の向きに関係なく自分から見て遠く、近く、右、左とスティックで操作する方法もあります。これを使えば回転させたまま前進すると言ったことも出来ます。いまひとつ慣れないので、わたしは使いません。

H36には元となるTINY WHOOPという機体があります(別の言い方をすればH36はパクリです)。このTINY WHOOPはFPVカメラを搭載してゴーグルを装着しての室内レース用の機体として有名です。リンク先にある動画を見ると、とても人間技とは思えない飛行をさせています。同様にH36にもFPVカメラを載せて楽しんでいる人たちがいますが、わたし的にはFPVを載せることには興味がありますが、FPVで飛ばすことには魅力を感じないので試すことはないと思います。

またEachine E010という機体も同じくらいの値段で見つかると思います。これは、どうもJJRC H36と同じものらしいです。

CX-10WD

以前、紹介したCX-10Dの兄弟機であるCX-10WD-TXを紹介します。カメラが搭載されている分だけ本体がずんぐりしていますが、それでも重量は17gしかありません。手のひらサイズでしかもFPV対応と欲張ったスペックです。

カメラの画像はWiFiを使用してスマートフォンに送られてリアルタイム(といっても若干のディレイはあります)で機体からみた画像を確認しながら飛ばすことが出来ます。機体にはストレージは無く静止画や動画はスマートフォンのライブフィードを保管します。手間いらずですが画質は期待できません。


光量が豊かな動画を撮るために屋外でちょっとだけ浮かしてみました。屋内だと、かなり暗い画になってしまいます。

操縦は付属のコントローラーでもスマートフォンでも可能です。コントローラーで操縦を行い画像はスマートフォンに流すことも可能ですがAndroidの場合は一工夫必要です。

操縦性能はCX-10Dとほぼ同じです。CX-10WD-TXの方が後から発売された機種であるためか、より安定している気がします。

[ iOSデバイスとの組み合わせ ]

iPod Touch (第5世代)を使用するとコントローラーの上にマウント出来てカッコが良いのですが、どうもiPodの処理能力に問題が有るようで動画が途切れ度切れになってしまいます。iPad Air2だと全く問題なくスムーズな動画が撮れます。きっと第6世代iPod TouchやiPhone 6SEならばベストフィットだと思いますが残念ながら持っていませんので試すことが出来ません。

CS-10WXD_iPod

[ Androidとの組み合わせ ]

純正アプリケーションであるCX-10WiFiを使用するとコントローラーとの併用がうまく行きません。スマートフォンを接続するとコントローラーの接続が切れてしまいます。

OEM供給していると思われる別の会社用が出しているPXY Wi-Fiアプリケーションを使用すると問題なくコントローラーとスマートフォンの併用が出来ます。

Androidでは比較的新しいデバイスを使用しているので画像はスムーズに取得できました。

[ おまけ ]

屋外で飛ばすとちょっとした風に翻弄されます。おまけ動画は頑張って風に立ち向かう様子です。旋回などもってのほかです。楽しく飛ばすためには本当に無風の時を狙わないといけません。やはり室内で飛ばしすのが良いようです。

日本のアマゾンでも売っていますが、技適が取れているかどうかは不明。もしかすると微弱電波で技適マークは要らないのだろうか?

CX-10D
手のひらで簡単に包んでしまえるほど小さなドローン、Cheerson CX-10Dは小さいながら安定性が高いので純粋に飛行を楽しみたい人に最適と言えます。

ドローンというと空撮と言った感じも有りますが、RC飛行機と違って比較的狭い場所でも飛行が楽しめるため、都会暮らしでRC飛行機が気軽に飛ばせない人が気軽に飛行を楽しむといった用途も有ったと思います。ところが、いくら安全を確認できていても改正された航空法により重量200g以上のドローンを都会で飛ばすことは不可能になりました。

それならばと言うことで究極の小ささを求めたナノドローンをお勧めしたいと思います。CX-10Dは中大型ドローンの自律飛行とまでは行かないまでも、気圧センサーによる高度維持が出来るので安定したホバリングが簡単に出来ます。しかも超小型ですので部屋の中で自由自在に飛び回れます。多くのドローンに搭載されているフリップという宙返りさえも室内で行う事ができます。


ハンドランチからフリップ(34秒付近)、そしてハンドキャッチ

CX-10Dのコントローラーはスロットルから手を離すとセンターに戻るゲームコントローラー風のものですので、大型ドローンのコントローラーとは少し違います。また高度センサーによる補正が効きすぎているためかスロットルの効き具合にクセがあります。それを除けば、普通のドローンと挙動は変わりません。中大型ドローンの飛行練習にも使えると思います。そして何より気軽に購入できる値段であるのがとても良いです。

Parrot Bebopで発生するハードウェア障害の代表的な2つの問題に対して過去の経験と見聞を元にまとめた問題解決方法です。

This is problem determination procedure for two typical hardware problem of the Parrot Bebop based on my experience and other user’s information.

1) Moto related error messages, モーター関連エラーメッセージ
IMG_0782 MotorStall
エラーメッセージの詳細にはmotor stalledの他にmotor stage brokenなども見られます。これらのエラーが出た場合は、例え一時的に回復したとしても飛行を継続せずに問題を解決することをお勧めします。障害が飛行中に再発すれば、そのまま墜落してしまう可能性があります。

You may see ‘motor stage broken’ in detailed screen also. If you get the motor related message once, I do recommend you to figure out the problem before next flight. If the problem happen during flight, the Bebop would be crashed.

過去の事例を列挙すると、
– メインボードに接続する部分のコネクターの緩み
– コネクター部分での断線BebopBrokenGreenWire
– モーター内での断線
などが見受けられます。メインボードの故障も考えられますが、まだ聞いたことはありません。もし問題が必ず発生する場合はモーターのコネクターを入れ替えてモーター側に問題があるかメインボードに問題があるかを調べることも出来ます。

The problem most likely caused by;
– Connector at main board is loosened
– Wire at the connector is broken
– Wire in the motor is broken
There is small possibility of main board problem, but I have never heard about main board problem yet. If the problem is solid failure, you may swap the motor connection with other motor to determine the problem resides in motor side or main board side.

2) Jello Video Effect, 動画撮影における揺らぎ

これも良くある問題です。異常な小さな振動がビデオに影響していると考えられますが、原因は様々です。もし墜落などがきっかけで発生した問題では無く保証が効くのであればい場合はParrotに修理を依頼するのが良いでしょう。

Jello video effect is also one of typical problems on the Bebop. Small unusual vibration of the Bebop may effect the video, however there are many possibility for root cause. If the problem was not caused by crashes and Parrot warranty is still effect, you should ask Parrot for the repair.

自分で問題判別する場合、まずは飛行姿勢が安定しているかどうかを見てみます。部屋の中あるいは無風でもホバリングが安定しない場合は、まずそれを直さなければなりません。おもな原因は、
– 下向きカメラのコネクターが緩んでいる
– モーターの取り付けが緩んでいる
– モーターシャフトが曲がっていて回転が安定していない
– モーターの不良
– ブロペラが破損している
– フレームが割れている
– フレームと本体の開いだのバンパー(ゴム製部品)が欠損している
などなどです。一見、飛行が安定していても上のどこかに原因があるかも知れません。

飛行が完全に安定している場合は、
– カメラの固定ネジが緩んでいる
– カメラ自体の内部に問題がある(わたしの場合はこれでした)
などが考えられます。

If you need to perform problem determination on the jello video issue, you may need to check the Bebop flight is stable or not. If hovering is not stable indoor or no window condition, you need to fix the unstable flight. It would be caused by;
– Lower camera connector is loosened
– Motor mount screws are loosened
– Motor shaft is broken
– Motor problem
– Propellers are broken
– Lower frame is broken
– Bumpers between lower frame and main body are broken
Even if the flight is stable, still Bebop may have above issues.

If the flight looks perfectly stable;
– Camera mount screws are loosen
– Camera itself has a problem (I experienced this. I changed a camera module and fixed the my jello video effect)

Parrotのコンテスト参加用に1分以内のビデオを2つ作ってみました。短いので気軽に見て頂けると思います。