ゲームパッドでTELLOを飛ばしました。
iPadの画面操作は難しいです。
TELLOを飛ばすためのアプリがスマホやタブレット用に出ていますが、実際に操作した感想として、やりにくい、というのが本音です。
スマホにしてもタブレットにしても画面操作なので平面を触っての操作になり、動かしたい量と操作の程度が判りにくいと感じています。
下の写真がサンプルですが、左のサークルが上下と旋回用のもので、右のサークルが前後左右移動用のものです。
できればゲームパッドで操作をしたいなと思って調べてみるとTELLOは専用のゲームパッドやBluetoothタイプのゲームパッドで飛ばせるようです。
専用のゲームパッドを買うのは勿体ないし、Bluetoothのゲームパッドもこれだけのために買うのは嫌だな、今の手持ちのゲームパッドを使いたいな、と思ってgithubを探してみるとありました。
その記事がコレ。
この記事の中の、joystick_and_video、のところに
You can use PS3/PS4/XONE joystick to controll Tello.
とあります。
手持ちのLogicool F310が使えそうです。
記事に従って以下をターミナルから入力
pip install tellopy
pip install av
pip install image
pip install pygame
python -m tellopy.examples.joystick_and_video
これは、どういう内容化と言うと、
まずは、tellopyというjoystick_and_videoなどを含むパッケージをインストールし、
avという動画処理用のパッケージをインストールし、
imageというパソコンにTELLOから送られてくる画像を表示するパッケージをインストールし、
pygameというジョイスティックを含むビデオゲーム用のパッケージをインストールします。
そしてjoustick_and_videoを実行、です。(ここでwifiはtelloに接続しておきます)
???
エラー発生です。
no supported joystick found
サポートしているジョイスティックが見つからないと出ています。
そんなばかな、と思ってコードを調べることにしました。
コードの当該部分がコチラ。
Logitech Gamepad F310はちゃんと存在しています。
ところが認識していない。
コードを見てみるとjs_nameとの一致を調べているので、これが違っているんだと思います。
ターミナルにエラー発生時の認識されているジョイスティックの名前が出ていましたので見てみると、
Controller (Gamepad F310)
となっていました。
これが原因だな、ということで、コードにある名前をこの名前に変えました。
これで再度動かしてみました。
無事に動きました。
そのときのターミナルの画像がコチラ。
TELLOとの通信が始まりました。
ジョイスティックのR1を押すと離陸しました。
機体を操作して机の上を映したのがこの画像。
画面にはTELLOに関する情報も表示されています。
この時のターミナルの画像がコレ。
TELLOとパソコンが通信している様子が判ります。
少しづつではありますが、TELLOを動かすことができてきました。
実は先日、先日と言ってもTELLOを買う以前にInterface4月号を買いました。
特集はドローン自律飛行です。
TELLOを買ったのは、この特集にあるドローン自律飛行をやりたかったからです。
明日からは、この特集の内容にそって作業を進めようと思います。
ということで、今日はここまで。
では、また。