ドローンのFPV映像をTouchDesignerに取り込む方法
TouchDesigner初心者です!TouchDesignerのノウハウ情報はほぼないです!すみません!
はじめに
TinyWhoopという、30g以下で、FPV(FirstPersonView)で飛ばせるトイドローンがあります。
このドローンは、VTX(映像送信機)を使いアナログ映像を、VRゴーグルのようなもので見ることが出来て、飛ばすのがとても楽しいドローンです。
このドローンを利用すれば、遠隔操作可能の小さいカメラとして、離れた場所の映像を写したり狭い場所に入り込んだりした映像を取得することができるので、TouchDesignerと連動して面白いことが出来ないかな!?と思いました。
本記事では、以下の事項を試した結果を記載します。
- TinyWhoopのFPV映像をTouchDesigner上に表示する
- FPV映像をOpenCVで解析した結果をOSCでTouchDesigner上に表示する
※TinyWhoopの詳細とFPVの映像は以下をご覧ください。
ドローンレースの第一人者の視点から見た Tiny Whoopの今とその魅力
TinyWhoopに搭載したカメラのFPV映像
— マッドX ⌘ MAD X ⌘ (@f__umi_) 2018年12月1日
開発環境
PC:Macbook Pro 2016
TouchDesigner:Build2018.25850
注意点
TinyWhoopで利用されているFPVの映像の伝搬は、5.8GHzのアマチュア無線の周波数帯域を利用して送信されるので、現状、日本でFPV映像を送信する場合は、アマチュア無線4級以上の資格に加え、VTXを無線局として開局する必要がありますのでご注意ください。ただし、送信される電波を受信して利用する事は免許がなくても可能です。(ドローンを操縦する人だけが免許と開局を行っていれば大丈夫です)
TinyWhoopのFPV映像をTouchDesigner上に表示する
非常に簡単す、以下の製品を使って映像をアナログからデジタルに変換できます。(リンク先では売り切れていますが、「ROTG02」で検索すると在庫有りの中国ECサイトが引っかかりますので、抵抗が無ければそちらからでも購入できます。)
Eachine ROTG02 UVC OTG 5.8G 150CH ダイバーシティ オーディオ FPV受信機 Androidタブレット スマートフォン用
ROTG02をPC(WinでもMacでも)に接続するとUSBカメラとして認識されますので、Video Device In TOP
のDeviceから選択します。(以下画像だと、USB2.0 PC CAMERA #2)
選択すると砂嵐が表示されます。こうなればとりあえずは成功です。VTX側から電波が発信されるとここに映像が表示されます。
OpenCVで解析したFPV映像のデータをOSCでTouchDesigner上に表示する
本記事では別プロセスでOpenCVを動作させ、OSC経由でTouchDesigner上にデータを渡しますが、これは他の方の記事がとても参考になります。
- TouchDesigner上でOSC受信をする方法は、@kodai100 さんの [Touch Designer] OSC通信を使う。CHOPとDATが参考になります。
- PythonでOSCを扱う方法はこちらの記事が参考になります。
- Python側では円を認識したらX座標とY座標、円の大きさを送信します。
- TouchDesigner側で、OCSを受信して、X座標、Y座標の位置に円を表示します。
受信したOSCはこんな感じで、扱い安い形に変換します。
あとは、変換した値を使って、FPV映像で認識した場所と同じ位置にパーティクルなどを表示すれば、FPV映像と連動してパーティクルが動きます。
完成品
FPV映像をToucjDesignerでエフェクトかけてみる pic.twitter.com/0wNiTU6ifE
— マッドX ⌘ MAD X ⌘ (@f__umi_) 2018年12月5日
FPV映像で認識した円が、TouchDesigner上でパーティクルとして表示されています。
PCのスペックが足りないのか、滑らかさがないのでどうにかしたい所。
これから
- TinywhoopのFPV映像を使って、TouchDesignerでエフェクトをかけられたので、単調なレース映像をもっと魅力的に演出できそう。
- 今回はOSCを使ったが、@satoruhiga さんの OpenCVサンプルを参考にすれば、TouchDesignerだけで完結できそう。
以上です。