LoginSignup
4
5

More than 5 years have passed since last update.

TouchDesignerによるドローン操作方法

Last updated at Posted at 2019-03-19

TouchDesignerを用いると、映像と合わせてドローンを飛ばしたり、ドローンのアクションに応じて映像を変化させることなどが可能です。

今回、ドローンのTelloを用いて次のような映像と合わせたFlip動作などを行ってみました。



Telloを用いると、比較的簡単にこのようなことができるので、今回はTouchDesignerを用いてTelloを制御する方法をまとめたいと思います。

はじめに

ドローンの中でもTelloを選んだのは、様々な言語でプログラミングが可能であり、低価格なものの中で性能が高く、wi-fi接続で操作ができ(アマチュア無線の免許が不要)、TouchDesignerのudpoutDatで制御ができそうだったので、試しました。



早速、TouchDesignerでTelloを操作する方法に入りましょう。

1.udpoutDatの設定

udpoutDatを作成し、パラメータを画像のように設定します。画像では、udpoutDatの初期値から変更している項目のみ表示しています。
Row/Callback FormatはOne Per ByteかOne Per Messageならうまくいきました。
Network AddressやPortはTelloのSDKなどに記載されている固定値になります。
1.JPG
(後の4 Telloの制御のコマンドを実行するとこのmessageの下にOKなどTelloからの応答が返ってきます。)
これでudpoutDatの設定は終わります。次に、制御コマンドの送信方法に入ります。

2 制御コマンドの送信方法

Telloの制御コマンドは、元々決まっていてSDKのpdfファイルに記載されています。
このpdf資料の4. Tello Commandsに従いコマンドを送ると実際に動きます。

コマンドの送り方ですが、これはHelpのOperator Snippetsを開き、
4.png
oscinDatの項目を見るとudpoutDatのサンプルがあるので、これを流用すると良いです。
3.JPG
実際にこれをコピペして以下のように改変しました。
image.png
panelexecuteDatの中で、a = ''のところにコマンドを入力します。

まずはcommandを作成し、さらにtakeoff、landなど同様に、このbuttonCompとpanelexecuteDatをコピーして作成し、UIを作っていきます。

3 UIの構築

僕自身が作ったプロトタイプのperformモードの画面はこんな感じです。直観的に操作できるように、コマンド実行ボタンは配置しています。
webカメラでモニターして画面を見ながら制御できるようにしています。

UIの作り方は基礎的で本(「Visual Thinking with TouchDesigner - プロが選ぶリアルタイムレンダリング&プロトタイピングの極意」)にも書いてあるので、参照して作成してみてください。
5.png

4 Telloの制御

Telloのコマンドボタン一式を作ったら、Telloにwi-fi接続し、まずはcommandを実行します。
これでコマンド入力を受け付けてくれるようになります。
次にtakeoffで離陸します。
あとはleft 20, right 20などで移動したり、flip lなどでアクションしてくれます。
最後にlandで着陸します。


終わりに

2つ目の動画で、映像と動きを同期する部分は、ボタンを押した際にtriggerChopをかけて、switchTopで別映像をoverTopで重ねる処理をしています。

ここまで情報があれば、TouchDesignerを使っている方なら、同様のことができるかと思います。

面白いのでぜひ、試していただければと思います。

なお、Telloは暗いと制御が不安定になります。そのため、ある程度の明るさが必要になるのでご注意ください。
プロジェクターの映像に合わせるには部屋を暗くしますが、プロジェクターは明るいものを使用し(今回は3700lmのものを使用しています)、部屋の明るさは制御可能な下限以上にすれば、上記の動画レベルで飛ばせます。

<制作環境>
 TouchDesigner099 COMMERCIAL 64-Bit Build 2019.12330
 CPU Corei9 9900K
 GPU Geforce RTX 2080Ti
 Windows10

<∀RroWs>
 HomePage

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5