ことの顛末
皆さん、こんにちは。
今回は、RoboMaster S1のROS対応にとって避けて通れない、Simulation環境の構築の第1弾を書きたいと思います。
ところで、まずはじめにやるべきこととして、RoboMasterS1の3Dデータを手に入れる必要があります。
調べると、以下のような個人で作成されたものを”有料で”配布されていたりします。
https://www.turbosquid.com/ja/3d-models/dji-robomaster-s1-blue-3d-1426203
まあ、お金ある人は買ってください。
ただ、我々貧乏人にとってこの3Dモデルに100ドル以上払うのは気が引けます。
さて、どうしたものか・・・・
RoboMaster S1の3Dデータの発見
あるとき、Windows版のRoboMasterS1アプリをインストールしてみたところ、やけに容量が大きいことに気づきました。インストールフォルダを調べてみると、なんとUnityで作られており、各種データがAsset Dataとして保存されているではないですか!
まあ当たり前ですがDJIはおそらくこれらのデータの再利用を恐れて暗号化を施しているはずに違いない。とダメもとで、AsssetStudioを使用して、中身を見てみたところ。。。
暗号化されてへんやんけ( ゜A゜;)
ということで、もちろん取り出したデータは再配布はできないものの、個人使用の範囲であれば自分で手に入れることができそうです。
RoboMaster S1の3Dデータの取り出し方(自己責任で&詳しくは書かないよ)
GazeboやRVizでRoboMasterS1のデータを表示させたい人は自己責任で以下の通り進めると幸せになれます。
-
Asset Studioを使用してRoboMasterアプリのResourceのフォルダを開く
-
表示されるlevel3のTime_robotのしたのxw0607(おそらくDJI内の開発コード)にチェックボックスをつけて取り出す。(実際はジンバルとかも動かしたいので、部品ごとに別々のファイルで取り出してください)
-
作成されたfbxファイルをBlenderでインポートする
-
モデルが正常に表示されないので、右のツリーからxw0607のを右クリックしてunlinkをクリック
-
床面を削除して、あとはROSの世界で使うための形式にExportすればOK
あくまで自己責任で使ってください
このファイルの3Dデータはかなり荒いので、それほどほかに使い道があるわけではないです。あと、この方法自体は、暗号化されていないものを取り出しているので、暗号化の解除には当たらないのですが、もちろん使用の範囲は個人での使用に限って、自己責任でお願いします。
(DJIの中の人に何か言われたらソッコーで消しますのでよろしくお願いします)
(((( ;゚Д゚)))