« 2018年1月 | トップページ | 2018年4月 »

2018年2月

2018年2月24日 (土)

djiドローン(マルチコプター)のログの利用方法

djiドローン(マルチコプター)のログの利用方法を記す。
DJI GO/DJI GO4を使える機種なら、詳細な機体の状態やコントローラーの信号などのログが機体内やタブレット内のメモリーに保存されている。
機体の調子や不具合を見る上で凝られの情報は非常に参考になる。
大まかな情報だけなら、DJI GO/4のアプリ内で見ることができ、これだけでもどのように飛んで行ったか程度はわかる(墜落した場所なども)が、許可を得て飛ばすような場合は、もっと詳しい情報まで見れるようにして置いた方が良い。
意外と、その方法についての記事が簡単に見当たらないので、調べてみた。

その1 初心者向け

DJI GO/DHI GO4では、飛行の履歴が見れるが、大雑把な情報しか見れない。

Screenshot_20180214144104

右上の三本線をクリックして
(機体と接続している必要はない)



Screenshot_20180214144116

Flight Recordをクリックすると



Screenshot_20180214144136

データを表示するには、日付などを参考に希望のデータをスクロールさせて出してタップする。
この画面では右上の雲のマークをクリックすると(多分DJIの用意した)クラウド上のデータと同期される。
DJI GOを複数の端末で使っている場合は、これで(機種毎に?)同期される。
クラウドのデータは、本人以外も利用できるかどうかは、DJIの取り扱い方次第だが、人に知られて困る使い方(悪いことしてなくても、機密事項がある場合などもありますよね)では、DJIに確認した方が良い。
(なんならDJI APIを使えば、自分でこういたアプリを作れないこともない=それなりの能力と時間があれば)



Screenshot_20180214150913

結構、色々表示されるが、記録されているすべてのデータが表示されているわけではない。
航空写真の表示方法は、飛行中と同じで地図の右上の、レイヤーのマークをタップする。
X1と書かれている部分をタップすると最大8倍まで早送りされる。
機体の向きがわかりやすく表示されプロポの操作も表示できるので、操作が機体にどのような動きを与えるのかわかりやすい(ま、単純だけど)



データの信用性と問題点

この表示は、わかりやすいが、事故が起きた時の原因分析の資料としては、不足である。(事故が起きた時は、機体が失われる場合も多いが、データ自体は機体が壊れるまで送り続けるようになっているはずである)
マルチコプターのような機体の構造自体が自律安定性をもっておらず、航行の安定性が電子デバイスの働きに100%依存してしてるものは(もちろん、モーターなども重要だが、自律安定性自体は100%電子デバイスである)システムがどのように働いていたかという評価が重要である。
中には、腕で飛んでいると勘違いしている人もいるが、墜落しないということに関しては、構造的に100%電子デバイスの動作にかかっている。
モーターを強制的に切るとき以外は、機体のIMUなどのシステムが許してくれた範囲でしか操作できないのである。

タブレットが突然シャットダウンしても、データは保存されているようである(機体側のデータと同期する?)。
データも、ダウンリンク(機体からの情報)は、ラジコンのテレメトリーと同じように操縦の系統にデータを載せているのかもくる場合も考えられるので、映像と合わせて2重の系統を持つこともできるだろう。
実際の方法はわからないが、映像が途切れた時でも自分の場合はデータが残っている場合が多い。

ログのデータは本体やタブレット内にあるようでタブレットを覗くとそれらしいデータがあるのがわかるが、アプリの情報などを除く機体の情報は暗号による符号化がされていて、自分の知識では平文に変換できない。

しかし、世界には、奇特な人がいるもので、独自に調べたひとも何人かいるようで、いくつかこの情報を解析する方法が見つかった。
それを紹介する。

DJI GOデータの上級者向け解析

上級者向けと書いたが、人ごみや建物の近くで飛ばす人には、ぜひ知ってもらいたい。
パソコンを扱うそれなりのスキルは必要だが、問題を解決するためのデータがDJI GOよりは間違いなく多く手に入る。

情報の出所

20180215_105415

いろいろ調べたが、結局はすべて Phantom Helpというサイトに載っていた。


http://phantomhelp.com/Phantom-4/

このサイトは、タブをクリックして対象の機種を選択するようになっていて、上のリンクはPhantom4のものである。
ここには恐ろしいほどたくさんの情報が載っている。
しかも英語である(もっとも日本語になっていてもそれほど理解が進むとは思われない ^^;

知識のある人は、自分で調べてもらうのがより正確だと思うが自分自身へのメモも兼ねて自分のわかったことを書く。

20180215_090007

データログの解析については、この中の Data Logというコーナーにまとめてある。
この部分はPhantom3 Standard以降、ほとんど同じなので、P4以外でも上のリンクで良いだろう。



各ソフトのわかる範囲での概要

あくまでもざっと見た感じである。興味があれば、ちゃんと自分で調べていただきたい。

20180215_105921

Airdata UAV (Healthy Drones) は、いかにも高機能そうである。
無料から有料のコースまである。
使い方は、タブレットにパソコンと同期するためのアプリ(6,7行下のHD Sync)を入れてデータを吸い上げるか、自分でデータを引っ張って来て、フライトのログを分析してもらう。
有料だと飛んでる時の風を計算して出してくれるとかいうのもあるようで本当ならすごい(詳細は未確認)。
仕事で使っていてお手軽にドローンの状態をチェックするには良いのかもしれない。
自分で手を加えられる部分は少ないのかもしれないが、お手軽に色々なことがわかるのかもしれない。
そのうち試してみようとは思う魅力感あふれる、そしてはまりそうなソフトである。



20180215_111154

CsvView は、この3行下のDatConと同じHPに載っている。
このうちCsvViewについては情報も詳しく扱いやすいので、後でもう少し詳しい説明を行う。



Dashcam Viewer

GPSのデータを録画のデータにオーバーレイするものか?
元々はカーナビのデータを利用するもので、ドローンのデータにも対応した?
基本的に有料?

DashWare

GPSのログと動画を合わせる。DGI GOのデータには対応とある。
基本は無料とあるが、無料試用版の表示もあり実際のところは不明

Flight Replay

Google Earthにログに重ね合せるようである。
広告を表示するためにAdblockを解除しろと言われるので、これ以上は未確認

HD Sync(iOS用)
HD Sync(Android用)

Airdata UAV用のデータをタブレットから吸い上げるアプリ

Phantom Help Log Viewer

ブラウザ(Chrome)などを使って、タブレットのログデータをアップして地図やログの一部を表示するWEBアプリ
データの詳細をCSV形式でダウンロードできる。
大量に使用すると、「私はロボットではありません」を押すと質問に答え無ければ次に進まないようになる。

TXT-to-CSV Log Converter

パソコン上でログをCSVに変換するプログラム。
CSVは、平文のテキストをカンマで区切った形式でEXCELなどでそのまま読み込める。
得られるデータは、単なる数値だが、その数値を見て解析できる能力がある人にとっては宝の宝庫である。
ただし、普通の人には、CS Viewの方がずっと取っつきやすいように思う(そのうちバージョンアップで変わるかも)。


タブレットからのデータの吸い上げ

これらのソフトは、タブレットや機体にある飛行のログデータを必要とする。
これらのソフトは、(ありがたいことに)ちんけなタブレットのUI上でなくパソコンで動くので、分析するためのツールを使いやすい。

このため、パソコンでの分析に慣れた人向きの物が多いが、欲張らなければ慣れるのは難しくない。
欲張らなければ、タブレット上のアプリでも使えると思う人もいるだろうが、ログのデータの種類と量はとてつもなく多いのである。

タブレットとPCはUSBケーブルで繋げば、簡単にPCから外部機器として内部ストレージやSDを見れる場合が多いが、機種やOSのバージョンで実際の方法が異なるので、それぞれ調べていただきたい。
自分の場合でいえば、Xperia Z5(SOV32)とZenPad 3は、USBケーブルをつないだ時に出るファイル転送モードとかいうやつをオーケーするだけでつながったが、Huawei M2は、専用のアプリを入れなければならなかった。

なお、機体からデータを吸い上げるのはDJI指定のパソコン用のソフトを使えば良いはずである(タブレットの方が簡単だと思う)。


2018/2/27追加
タブレットでDJI GOを完全に終了させるか再起動させないと、ログが記録されないように見える場合がありました。
最近のログが見当たらない場合は再起動すると良いかもしれません。


ログの保存先

ファイルの保存先のフォルダーは、

  1.  内部ストレージ\DJI\dji.go.v4\FlightRecord
  2.  内部ストレージ\DJI\dji.go.v4\FlightRecord\MCDatFlightRecords

タブレットの設定によっては内部ストレージでなくSDに移動している場合も考えられる。
ファイルの拡張子は1の方が .txt 2の方が .DAT である。

ログのファイル名

  1. DJIFlightRecord_2017-08-13_[14-32-00].txt
    日付と時間がファイル名に入っている。
    拡張子がTXTのなのでテキスト形式だと期待するのが当然だが、実はプレーンではない。符号化か暗号化されたデータである。
    MIMEのようにエンコードとデコードの標準的な方法があるのかもしれないが、不勉強につき知らない。
  2. 17-11-29-09-39-02_FLY222.DAT
    こちらも日付と時間が入っているが先ほど形式が違う。さらにFLYxxxという3桁の数字のついたブロックもある。
    古いログでは、このデータが無いかもしれない(自分の場合だけかもしれない)。
    ファイル名に統一性がないが、データは重複したりしているので、別の視点でのデータかもしれない。
    こちらの方がデバイスの生のデータに近い。

1の方をtxtデータ、2の方をDATデータと呼ぶことにする。
どちらもプレーンなデータでは無いが、先のソフトは、これを変換して使用している。
PCにつなげた状態で各ソフトで使っても良いが、タブレットをそれほど信用していない自分は、パソコンにコピーして使っている。


CsvViewの概要

自分が試した中では、実用性が高いと感じたCsViewの使い方をざっと説明する。
これ以外では、Airdata UAVも良さそうだが、別に仕事で使うわけでも危険な場所で飛ばすわけでもない、自分としては、有料の道に進んでしまう誘惑を考えて今のところ手を出していない。

ソフトのインストール

20180223

Downloadをクリックするとこの画面に変わる。
普通は、この中のPC用かMac用の最新を選べば良い。
PC版ではZIPを解凍してCsvViewSetup.exeを実行してインストールする。


20180215_084450

起動するとこの画面が出る。
これをメイン画面と呼ぶことにする(説明の都合上勝手に名付けただけである)。
一番上の白枠内をクリックして解析するファイルを選択する。
txtデータ形式でもDAT形式データでも、正しく変換したcsv形式でもtsv形式(タブ形式=日本では拡張子をtxtにする場合が多い)でも可能である。
DAT形式データの方がよりデバイスの生に近いデータが見れるようである。
(なお、環境によってはソフトの反応が鈍い場合があった。)


 

20180214_2

ファイルを選んでからGeoPlayerをクリックすると、飛行経路を示す地図が表示される。
初回のみGoogleMap?を使用するための設定をする画面が表示された。
(多分Googleの新しいライセンスの関係。指示通りやって行ったら航空写真が表示されるようになった)
下に表示選択用のボタンがあるが、機体と、タブレットとホームポイントの軌跡のオンオフ、及び機体の向き(Yaw)のオンオフができる。
経路に沿ってマウスを動かしても、後で説明するグラフの時間軸を移動させてもその時の機体の位置が表示される。


 

20180223_4

* メイン画面で真ん中の SigPlayersの中のどれかをクリックするとグラフが現れる。
図は Empty を選んだ時なので何も選択されて無い状態で表示される。
この画面の上の Add/Remove Signalボタン、または Pick Signals(Beta!)で表示するデータを選択する。


 

20180223_8

Add/Remove Signalボタンを押して項目を選択した画面。
Submit Changesボタンでグラフに適用される。
選択しても反映されない場合もある。


 

20180223_6

タブレットに表示されるOSD用のテキストは、下のOSD flight Actionに表示される。
マウスを移動させると、その位置の時間に出ている表示が出る。


20180223_7

この画面はDATデータを選んだ時にメイン画面で有効になるMagDataPlayerボタンを押して出てくる地磁気に関すると思われれるデータである。
詳しくは画面内の Dcumennttationボタンを押してもらいたい。


メイン画面で Export zipボタンを押せば、このデータをcsvのZIPファイルに出力してくれる。
データ量がDJI GOと比べて半端でないことが分かるだろう。

解析に慣れて来ると、このデータを直接見るようなマクロをEXCELで作るという方法など工夫のしどころはいっぱいある。

大垣での事故もこういったデータがあれば原因は解析できるだろう。
特にああいう機体は、アームの振動が悪さをする可能性は充分に考慮しなければいけないはずである。
バッテリーの不具合が指摘されていてもっともな話であるが、メカ屋としては、アームの振動が出やすい機体の構造が心配である。

以上、ログデータの活用の役に少しでも経てば幸いである。

« 2018年1月 | トップページ | 2018年4月 »