Dropbox

まだ全然、ちゃんと飛ばせていないRodeo110ですが、ドローン友達の勧めも有ってカメラを交換することにしました。この改造は多くのRodeo110ユーザーが行っているものでRunCamのカメラに換装します。これにより広角でより良い画質の映像をFPVで得られるようになります。

新規に用意したカメラはRunCam Micro Swift 2.1mm NTSCというものです。私が買ったサイトによるとNTSCとPAL、レンズも2.1mmと2.3mmがありました。わたしはより広角な2.1mmを選択しました。

オリジナルのカメラと新しいカメラでマウント幅は同じですが、体積が随分と大きくなるので単純な置き換えは出来ません。そのため色々と部品を削ったりしなければなりません。次のYouTubeビデオの内容を参考に作業を行いました。

まずは元々付いているカメラを外します。機体の構造はややこしくはないので、いくつかのネジを外せば簡単にカメラを外すことが出来ます。

マウント部分の幅はRunCamも同じなので、とりあえずそのまま取り付けます。メイン基板にぶつかるのでやや上向きになりますが、これがちょうど良い角度です。

付属のケーブルを使用しますがピン配置が違うので赤い電源線と黄色のビテオ信号線を基板側で入れ替えます。二つ目の写真が完成図です。カメラ側には2つのコネクターがありますが外側のビデオ信号がある方だけを使用します。
 

上の蓋がカメラにあたるので短くします。寸法はざっくり写真で見たとおりにすれば大丈夫です。グラスファイバー製ですので金ノコがあれば簡単に切り取ることが出来ます。
 

この状態で動作確認を行いました。見た目にこだわらなければ、このまま飛ばしても大丈夫な気がします。カメラの基板が露出しないタイプであれば、わたしもこのまま飛ばすことにしたかも知れません。下にあるビデオは、この状態で飛ばしたものです。カメラの角度は、ほとんど調整出来ませんが、概ね良好な位置になりました。やや上向きに見えますが、この状態で水平に置いて床も見えますし、前進飛行の際にはかなり前傾姿勢になるので、これくらいでちょうど良いはずです。

赤いフロントカバーを取り付けるためには、この部品をなんとか戻さなければなりません。これが結構苦労します。

まず下の丸い足を切り取り、カメラのコネクターが当たる部分に穴をあけ、全体的に薄くします。小さなプラスチック製ですが、一番多用したのは金ノコです。あとはリューターがあると便利です。実際に取り付けながら、当たる場所を削り取っていき、最終的には下のような形状になりました。これでも組み立ての時はかなり無理をしながらネジを締めねばなりませんでした。

赤いフロントカバーも中央の突起部分が邪魔になりますので切り取ります。

以上で完成です。組み上がってみると、そこそこちゃんと出来ているようにみえます。

カメラ換装前と後の動画の比較ビデオです。画像がシャープになっているのと何と言っても圧倒的に広角になっているのが分かります。FPVの経験はまだほとんどありませんが、オリジナルカメラの画角では飛ばしにくいと思います。

FPV(First Person View) = ゴーグルを付けてドローンの視線で操縦すること、を体験したくてRodeo110という超小型(飛行重量147g)ながらパワフルなドローンを入手しました。

まずは色々と準備作業です。

プロペラガードの装着。広いところだけで飛ばすのなら要らないかもしれませんが、室内や障害物の多い場所で飛ばすことも多くなりそうなのでプロペラガードも用意しました。もともと付いている足を外して、それの代わりに取り付けるものです。足を外す時に気づいたのですが、スクリューがロックタイトが塗られているにも関わらずかなり緩かったです。これはモーターのマウントネジでもあるのでゆるんでししまうのは致命的な故障になります。定期的に緩みをチェックする必要がありそうです。

FPVゴーグルであるGoggle4に録画ユニットを取り付けた。小さな四角の箱でコネクターからリード線が何本か出ているだけのものです。Goggle4の電源線から+5Vを分岐して供給、後はGoggle4の映像出力(コンポジット映像信号)を入力しただけです。このユニットでMicroSDカードに映像を記録します。FPV信号ですしコンポジット映像出力なので画質は期待できませんが、記録として残せるようになりました。

注意) FPVには5.8GHz帯の周波数を使用していますが、日本国内でこれを使用するためにはアマチュア無線の免許が必要です。

軽く室内やマンションの庭で飛ばしてみた印象を買いておきます。
– 丈夫そう。かなり墜落したり転げ回りましたが、壊れません。プロペラはだいぶ傷つきました。予備が一組ありますが、追加の予備プロペラも用意した方が良さそうです。
– バッテリーは5分ほどしか持ちません。練習だとあっという間です。予備電池も2つ発注しました。その後、室内でホバリング練習しながら時間を測ってみると最長で9分弱持ちました。最初に5分と思ったのは勘違いかも。
– STABILIZE Flight Modeはそこそこ安定している。が、それでも結構敏感に動作するので油断するとあちこちぶつかります。
– スタントをこなすにはADVANCED Flight Modeにする必要があります。少しだけ試して見ましたが、すぐにフリップして墜落しました。どこか広いところに出かけて十分な高度を確保してから練習してみたいと思います。
– 普通の操縦もままならない状態なのでFPVゴーグルを付けるとメロメロです。特に高度が良くわからない。これも広いところで練習したいと思います。

iWOWN i6 proの電池が持たなくなってきたので新しいリストバンドを試しています。

通信機器大手で最近では日本でも携帯電話を販売しているHuaweiのBand2というGPS搭載の製品です。いわゆるアクティビティトラッカーですが、わたし的な使い方は何かしらメッセージが届いた時の通知がメインで、後は万歩計と時計の機能を使用するくらいです。目的は満たしていますが不満もあります。気が付いた事柄を箇条書きでまとめてみます。

[ 良いところ ]
– 電池の持ちが素晴らしい。カタログでは21日スタンバイと書かれています。ただいま満充電からまる8日間経過したところで電池の消耗の激しいGPSテスト(詳細は下の方に書きます)を経てまだバッテリー残が50%になっています。そこそこ激しく使用しても余裕で二週間の稼働が可能と思います。

– ベルトにリングが付いているので安心感がある。いままで試してきた格安な製品はベルトの留める部分が外れて落としそうになったことが多々あります。Huaweiの物はリングが付いているので留める部分が外れてもすぐには落ちません。

– 時刻の確認が簡単。手首を上げる動作で時刻表示するのは各社のリストバンドに搭載されていますが、その機能が思い通りに動くきます(iwownの物が今ひとつだったということですが)。

– 時刻表示のホーム画面に歩数も表示される。わたし的には万歩計でもあるので、これは便利です。

– 完全に日本語対応している。携帯電話の言語設定にあわせて携帯電話アプリケーションと本体が日本語になります。

[ 今ひとつなところ ]
– バイブレーターがかなり弱い。メッセージの着信や電話がかかってくると通知機能により振動しますが、これがかなり控えめです。緩めにバンドを留めておくと全く分かりません。しっかり留めていても、動き回っている時には気づかない事が多いです。

– 通知機能で表示されるメッセージ文字数が少ない。一度に表示されるのは漢字で7文字もしくは8文字しかありません。ひとつのメッセージを複数画面スクロールさせないといけません。わたしは誰からのメッセージかだけが分かれば良いので許容範囲です。

– 通知を蓄積出来ない。通知は一度みたら、それっきりです。また、複数の通知が重なった時には表示されている通知以外は失われるようです。

– Bluetoothの再接続がよく失敗する。携帯電話から遠ざかりBluetoothの圏外に出て接続が失われた後に再び携帯電話の近くに戻っても再接続されないことが多いです。Huawei Wearアプリケーションを画面に表示するだけで再接続されたりもします。自動的に再接続されなくてもアプリケーション上の再接続という文字をタップすれば良いので、わたしとしては許容範囲です。

[ その他 ]
– GPSが搭載されている。ランニングモードを開始するとGPSが動き出します。あくまでも目的は走行距離を正確に把握するための物だと思います。Huaweiヘルス上で走行経路が地図上に表示されるので、どこかにGPSのログが入っています。それを取り出せばGPSロガーとして使用できると最初は思いました。しかしながらGPS稼働時のバッテリー消費がとても激しいので、これについては諦めざるを得ませんでした。バッテリー残90%でランニングモードに入り15分ほどでバッテリー残が70%になっていました。ランニングの前後でバッテリーをフルに充電する必要があるレベルです。GPSが搭載されていることが、この機種を選んだ理由のひとつだったので、ちょっと残念です。

ランニングメニューですが実際には歩いています、しかも寄り道しているのもよく分かる。

 

Engadgetの記事「Get Google’s own contacts app on any Android phone」によると以前はNexusとかPixel限定に公開されていたGoogle提供の連絡先アプリケーションが他のデバイスにも導入可能になったとのことで、早速Mate9に導入しました。

以前からGoogle純正カレンダーなどは普通に公開されていたので連絡先だけGoogle純正デバイスのみ公開だったのは謎ではありました。

これが何故嬉しいかというと中華アンドロイドに対してrootなど取らずに後付でGoogleアプリケーションを導入する手順が連絡先アプリケーションが導入出来るようになったことにより完成されるからです。詳しい事情については「Huawei Mate9中国大陸版でGoogleを使う」を御覧ください。

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ファイルを読み直せば目的の高度値が得られているはずです。

新しいFlashAir W-04を買いました。このモデルからEye-Fi対応のカメラで電源のコントロールが出来るということで、昨年から発売を待っていました。

[ Eye-Fiとして認識されない ]
初代のEOS-Mに入れましたがEye-Fiとして認識されません。互換性に問題があるのだろうかと思いながら2週間ほどEye-Fiとしてのコントロールをしないまま使っていました。実際のところ、それでもまったく問題はありませんでした。

やっと最近になって既定値ではEye-Fi互換機能はオフになっていてアプリケーションの設定からオンにする必要があることがわかりました。落とし穴であったのはAndroid版のFlashAirアプリケーションの設定画面にはまだEye-Fi機能の設定が実装されていないことでした。PC版、私の場合はMac版のFlashAirToolを導入して設定しました。

[ FlashAirアプリケーション ]
Eye-Fiと違って、自分の欲しい写真だけを携帯電話にダウンロードします。その場でInstagramとかにアップロードするのが目的ですので、Eye-Fiよりこちらの方がわたしの使い方には適しています。Keenaiというアプリケーションを利用するとEye-Fiのように自動転送出来るそうですが試していません。

[ その他 ]
体感ですがEye-Fiより転送速度はかなり速いと思います。その場その場で必要な写真だけを転送してることもあり、ストレスフリーです。電池の持ちが悪いという評価をよく目にしますがEye-Fiからの乗り換えのためか、ほぼ気になりません。

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時間以内に加入しないと行けません。

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

MINISO(メイソー)のVRゴーグルを利用して楽しめるコンテンツには2つの種類があります。両眼に別々の画像を見せる立体画像、それと頭の向きを変えるとそれに応じた方向の画像が見られる(いわゆるVR)ものです。

コンテンツはYoutubeでVR、あるいはCardboardのキーワードで検索すると見つかります。またGoogleが提供しているCardboardアプリケーションでも手軽にコンテンツを楽しむことが出来ます。

Cardboard対応画像の場合はCardboardに付いているコントロール・ボタンで操作するようになっています。ところが格安VRゴーグルにはそのためのボタンが付いていません。そこでMINISOのVR GLASSにCardboard互換のコントロール・ボタンを付けてみました。とても簡単ですし、他のVRゴーグルにも応用可能と思いますので紹介します。

必要なのは台所にあるアルミ箔と両面テープだけです。

アルミ箔を使用して下のような形状にまとめます。

固定用の両面テープを貼り付ける。

VRゴーグルの中央、上側に固定します。

以上で完成です。

関連記事: MINISOのVR GLASSは使える